boost::urls::url::set_host_ipv6 :: Boost Libraries Documentation

# boost::urls::url::set_host_ipv6

Set the host to an address

## Synopsis

Declared in `<boost/url/url.hpp>`

    url&
    set_host_ipv6(ipv6_address const& 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

## Specification

- IP Version 6 Addressing Architecture (rfc4291)

- 3.2.2. Host (rfc3986)

## Return Value

`*this`

## Parameters

Name | Description
--- | ---
addr | The address to set.

## See Also

`set_encoded_host`, `set_encoded_host_address`, `set_encoded_host_name`, `set_host`, `set_host_address`, `set_host_ipv4`, `set_host_ipvfuture`, `set_host_name`.

Created with MrDocs