constexpr address_v6 address() const noexcept;
Returns: The address specified when the network_v6 object was constructed.
constexpr int prefix_length() const noexcept;
Returns: The prefix length of the network.
constexpr address_v6 network() const noexcept;
Returns: An address_v6 object with the first prefix_length() bits, starting from the most significant bit in network byte order, set to the corresponding bit value of this->address(). All other bits are zero.
address_v6_range hosts() const noexcept;
Returns: If is_host() is true, an address_v6_range object representing the single address this->address(). Otherwise, an address_v6_range object representing the range of unique host IP addresses in the network.
constexpr network_v6 canonical() const noexcept;
Returns: network_v6(network(), prefix_length()).
constexpr bool is_host() const noexcept;
Returns: prefix_length() == 128.
constexpr bool is_subnet_of(const network_v6& other) const noexcept;
Returns: true if other.prefix_length() < prefix_length() and network_v6(this->address(), other.prefix_length()).canonical() == other.canonical(), otherwise false.
template<class Allocator = allocator<char>>
basic_string<char, char_traits<char>, Allocator>
to_string(const Allocator& a = Allocator()) const;
Returns: this->address().to_string(a) + "/" + to_string(prefix_length()).c_str().