Function url_base::set_host_ipv6

Set the host to an address

Synopsis

Declared in header <boost/url/url_base.hpp>

url_base&
set_host_ipv6(const ipv6_address& addr);

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

Parameters

Name Description

addr

The address to set.