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

static_url::host_address
PrevUpHomeNext

(Inherited from url_view_base)

Return the host.

Synopsis
template<
    class StringToken = string_token::return_string>
StringToken::result_type
host_address(
    StringToken&& token = {}) const;
Description

The value returned by this function depends on the type of host returned from the function 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
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
host        = IP-literal / IPv4address / reg-name

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

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

PrevUpHomeNext