[#boost-urls-url_view_base-encoded_zone_id]
= xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::xref:boost/urls/url_view_base.adoc[url&lowbar;view&lowbar;base]::encoded&lowbar;zone&lowbar;id
:relfileprefix: ../../../
:mrdocs:

Return the IPv6 Zone ID

== Synopsis

Declared in `&lt;https://www.github.com/boostorg/url/blob/develop/include/boost/url/url_view_base.hpp#L1509[boost&sol;url&sol;url&lowbar;view&lowbar;base&period;hpp]&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:boost/urls/pct_string_view.adoc[pct&lowbar;string&lowbar;view]
encoded&lowbar;zone&lowbar;id() const noexcept;
----

== Description

If the host type is xref:boost/urls/host_type.adoc[`host&lowbar;type&colon;&colon;ipv6`], this function returns the Zone ID as a string&period; Otherwise an empty string is returned&period; The returned string may contain percent escapes&period;

== Example

[,cpp]
----
assert( url_view( "http://[fe80::1%25eth0]/" ).encoded_zone_id() == "eth0" );
----
== Complexity

Constant&period;

== Exception Safety

Throws nothing&period;

== BNF

[,cpp]
----
host        = IP-literal / IPv4address / reg-name

IP-literal = "[" ( IPv6address / IPv6addrz / IPvFuture  ) "]"

ZoneID = 1*( unreserved / pct-encoded )

IPv6addrz = IPv6address "%25" ZoneID
----
== Specification

* https://datatracker.ietf.org/doc/html/rfc6874[Representing IPv6 Zone Identifiers in Address Literals and Uniform Resource Identifiers]

== Return Value

The Zone ID as a percent&hyphen;encoded string&period;


[.small]#Created with https://www.mrdocs.com[MrDocs]#
