:relfileprefix: ../../../
[#boost-urls-authority_view-encoded_host_address]

= xref:boost.adoc[pass:[boost]]::xref:boost/urls.adoc[pass:[urls]]::xref:boost/urls/authority_view.adoc[pass:[authority_view]]::encoded_host_address


Return the host


== Synopsis

Declared in header `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/authority_view.hpp#L857[boost/url/authority_view.hpp,window=blank_]>`

[source,cpp,subs="verbatim,macros,-callouts"]
----
xref:boost/urls/pct_string_view.adoc[pct_string_view]
encoded_host_address() const noexcept;
----

== Description


The value returned by this function
depends on the type of host returned
from the function
xref:boost/urls/authority_view/host_type.adoc[host_type]
.

* If the type is
xref:boost/urls/host_type/ipv4.adoc[host_type::ipv4]
,        then the IPv4 address string is returned.

* If the type is
xref:boost/urls/host_type/ipv6.adoc[host_type::ipv6]
,        then the IPv6 address string is returned,
without any enclosing brackets.

* If the type is
xref:boost/urls/host_type/ipvfuture.adoc[host_type::ipvfuture]
,        then the IPvFuture address string is returned,
without any enclosing brackets.

* If the type is
xref:boost/urls/host_type/name.adoc[host_type::name]
,        then the host name string is returned.
Any percent-escapes in the string are
decoded first.

* If the type is
xref:boost/urls/host_type/none.adoc[host_type::none]
,        then an empty string is returned.
The returned string may contain
percent escapes.

=== Example
[,cpp]
----
assert( url_view( "https://www%2droot.example.com/" ).encoded_host_address() == "www%2droot.example.com" );
----

=== Complexity

Constant.

=== Exception Safety

Throws nothing.

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

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

reg-name    = *( unreserved / pct-encoded / "-" / ".")
----

=== Specification

* link:https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2[3.2.2. Host (rfc3986)]








