zone_id

Return the IPv6 Zone ID

Synopsis

template< class StringToken = return_string> StringToken::result_type zone_id( StringToken&& token);

Declared in file <boost/url/url_view_base.hpp> at line 1406

Description

If the host type is host_type::ipv6, this function returns the Zone ID as a string. Otherwise an empty string is returned. Any percent-escapes in the string are decoded first.

Example

assert( url_view( "http://[fe80::1%25eth0]/" ).zone_id() == "eth0" );

Complexity

Linear in `this->encoded_zone_id().size()`.

Exception Safety

Calls to allocate may throw.

BNF

host = IP-literal / IPv4address / reg-name IP-literal = "[" ( IPv6address / IPv6addrz / IPvFuture ) "]" ZoneID = 1*( unreserved / pct-encoded ) IPv6addrz = IPv6address "%25" ZoneID

Specification

  • Representing IPv6 Zone Identifiers in Address Literals and Uniform Resource Identifiers