[#boost-urls-url_view_base-host_address] = xref:boost/urls/url_view_base/host_address.adoc[boost::urls::url_view_base::host_address] :relfileprefix: ../../../ :mrdocs: Return the host == Synopsis Declared in `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/url_view_base.hpp#L1157[boost/url/url_view_base.hpp]>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<xref:boost/urls/string_token/StringToken.adoc[string_token::StringToken] StringToken = xref:boost/urls/string_token/return_string.adoc[string_token::return_string]> StringToken::result_type host_address(StringToken&& token = {}); ---- == Description The value returned by this function depends on the type of host returned from the function xref:boost/urls/url_view_base/host_type.adoc[`host_type`]. * If the type is `host_type::ipv4`, then the IPv4 address string is returned. * If the type is `host_type::ipv6`, then the IPv6 address string is returned, without any enclosing brackets. * If the type is `host_type::ipvfuture`, then the IPvFuture address string is returned, without any enclosing brackets. * If the type is `host_type::name`, then the host name string is returned. Any percent‐escapes in the string are decoded first. * If the type is `host_type::none`, then an empty string is returned. == Example [,cpp] ---- assert( url_view( "https://[1::6:c0a8:1]/" ).host_address() == "1::6:c0a8:1" ); ---- == Complexity Linear in `this‐>host_address().size()`. == Exception Safety Calls to allocate may throw. == BNF [,cpp] ---- host = IP-literal / IPv4address / reg-name IP-literal = "[" ( IPv6address / IPvFuture ) "]" reg-name = *( unreserved / pct-encoded / "-" / ".") ---- == Specification * https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2[] == Return Value The host address as a string. == Parameters [cols=2] |=== | Name | Description | *token* | A string token customization |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#