set_host_ipv6

Set the host to an address

Synopsis

url_base& set_host_ipv6( const ipv6_address& addr);

Declared in file <src/url_base.cpp> at line 825

Description

The host is set to the specified IPv6 address. The host type is host_type::ipv6.

Example

assert( url().set_host_ipv6( ipv6_address( "1::6:c0a8:1" ) ).authority().buffer() == "[1::6:c0a8:1]" );

Postconditions

this->has_authority() == true && this->host_ipv6_address() == addr && this->host_type() == host_type::ipv6

Complexity

Linear in `this->size()`.

Exception Safety

Strong guarantee. Calls to allocate may throw.

BNF

IPv6address = 6( h16 ":" ) ls32 / "::" 5( h16 ":" ) ls32 / [ h16 ] "::" 4( h16 ":" ) ls32 / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 / [ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 / [ *4( h16 ":" ) h16 ] "::" ls32 / [ *5( h16 ":" ) h16 ] "::" h16 / [ *6( h16 ":" ) h16 ] "::" ls32 = ( h16 ":" h16 ) / IPv4address ; least-significant 32 bits of address h16 = 1*4HEXDIG ; 16 bits of address represented in hexadecimal

Specification

  • IP Version 6 Addressing Architecture (rfc4291)
  • 3.2.2. Host (rfc3986)