2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   14#ifndef IPADDRESS_IPV6_NETWORK_HPP 
   15#define IPADDRESS_IPV6_NETWORK_HPP 
   23
   24
   25
   26
   27
   30    using ip_address_type = ipv6_address; 
 
   33
   34
   35
   36
   37
   38
   39
   40
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60        const auto& network = *
static_cast<
const ip_network_base<ipv6_network_base>*>(
this); 
 
   61        return network.network_address().is_site_local() && network.broadcast_address().is_site_local();
 
 
   66        auto result = address;
 
   67        result.set_scope_id(
"");
 
   72        return ip_network_base<ipv6_network_base>::from_address(remove_scope_id(network.network_address()), network.prefixlen());
 
 
   77
   78
   79
   80
   81
   82
   83
   86#ifdef IPADDRESS_NONTYPE_TEMPLATE_PARAMETER 
   89
   90
   91
   92
   93
   94
   95
   96
   97    IPADDRESS_EXPORT 
template <fixed_string FixedString>
 
   98    IPADDRESS_NODISCARD IPADDRESS_CONSTEVAL IPADDRESS_FORCE_INLINE ipv6_network operator
""_ipv6_net() IPADDRESS_NOEXCEPT {
 
   99        return ipv6_network::parse<FixedString>();
 
 
  105
  106
  107
  108
  109
  110
  111
  112
  113
  115        return internal::parse_net_from_literal<ipv6_network_base, 
char, ipv6_network::base_max_string_len + 4>(address, size);
 
  119
  120
  121
  122
  123
  124
  125
  126
  127
  129        return internal::parse_net_from_literal<ipv6_network_base, 
wchar_t, ipv6_network::base_max_string_len + 4>(address, size);
 
  133
  134
  135
  136
  137
  138
  139
  140
  141
  143        return internal::parse_net_from_literal<ipv6_network_base, 
char16_t, ipv6_network::base_max_string_len + 4>(address, size);
 
  147
  148
  149
  150
  151
  152
  153
  154
  155
  157        return internal::parse_net_from_literal<ipv6_network_base, 
char32_t, ipv6_network::base_max_string_len + 4>(address, size);
 
Template base class for representing a network of IP addresses.
Definition ip-network-base.hpp:32
Base class for IPv6 network address manipulation.
Definition ipv6-network.hpp:28
constexpr inline bool is_site_local() const noexcept
Checks if the IPv6 network is site-local.
Definition ipv6-network.hpp:41
#define IPADDRESS_NOEXCEPT_WHEN_NO_EXCEPTIONS
Definition config.hpp:96
#define IPADDRESS_EXPORT
Definition config.hpp:45
#define IPADDRESS_NODISCARD
Definition config.hpp:101
#define IPADDRESS_FORCE_INLINE
Definition config.hpp:115
#define IPADDRESS_NAMESPACE
Definition config.hpp:41
#define IPADDRESS_NOEXCEPT
Definition config.hpp:92
#define IPADDRESS_NODISCARD_WHEN_NO_EXCEPTIONS
Definition config.hpp:105