Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext
url::zone_id

Return the IPv6 Zone ID.

Synopsis
template<
    class StringToken = string_token::return_string>
StringToken::result_type
zone_id(
    StringToken&& token = {}) const;
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

PrevUpHomeNext