url_view

A non-owning reference to a valid URL

Synopsis

class url_view : public url_view_base;

Declared in file <boost/url/url_view.hpp> at line 74

Member Functions

Name Description
digest
size

Return the number of characters in the url

empty

Return true if the url is empty

data

Return a pointer to the url's character buffer

buffer

Return the url string

operator string_view

Return the URL as a core::string_view

persist

Return a shared, persistent copy of the url

has_scheme

Return true a scheme is present

scheme

Return the scheme

scheme_id

Return the scheme

has_authority

Return true if an authority is present

authority

Return the authority

encoded_authority

Return the authority.

has_userinfo

Return true if a userinfo is present

has_password

Return true if a password is present

userinfo

Return the userinfo

encoded_userinfo

Return the userinfo

user

Return the user

encoded_user

Return the user

password

Return the password

encoded_password

Return the password

host_type

Return the host type

host

Return the host

encoded_host

Return the host

host_address

Return the host

encoded_host_address

Return the host

host_ipv4_address

Return the host IPv4 address

host_ipv6_address

Return the host IPv6 address

host_ipvfuture

Return the host IPvFuture address

host_name

Return the host name

encoded_host_name

Return the host name

zone_id

Return the IPv6 Zone ID

encoded_zone_id

Return the IPv6 Zone ID

has_port

Return true if a port is present

port

Return the port

port_number

Return the port

is_path_absolute

Return true if the path is absolute

path

Return the path

encoded_path

Return the path

segments

Return the path as a container of segments

encoded_segments

Return the path as a container of segments

has_query

Return true if a query is present

query

Return the query

encoded_query

Return the query

params

Return the query as a container of parameters

params
encoded_params

Return the query as a container of parameters

has_fragment

Return true if a fragment is present

fragment

Return the fragment

encoded_fragment

Return the fragment

encoded_host_and_port

Return the host and port

encoded_origin

Return the origin

encoded_resource

Return the resource

encoded_target

Return the target

compare

Return the result of comparing this with another url

~url_view

Destructor

url_view

Constructor

url_view

Constructor

url_view
url_view

Constructor

url_view

Constructor

operator=

Assignment

operator=

Assignment

Description

Objects of this type represent valid URL strings constructed from a parsed, external character buffer whose storage is managed by the caller. That is, it acts like a `core::string_view` in terms of ownership. The caller is responsible for ensuring that the lifetime of the underlying character buffer extends until it is no longer referenced.

Example 1

Construction from a string parses the input as a URI-reference and throws an exception on error. Upon success, the constructed object points to the passed character buffer; ownership is not transferred.

url_view u( "https://www.example.com/index.htm?text=none#a1" );

Example 2

Parsing functions like parse_uri_reference return a result containing either a valid url_view upon succcess, otherwise they contain an error. The error can be converted to an exception by the caller if desired:

system::result< url_view > rv = parse_uri_reference( "https://www.example.com/index.htm?text=none#a1" );

BNF

URI-reference = URI / relative-ref URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] relative-ref = relative-part [ "?" query ] [ "#" fragment ]

Specification

  • Uniform Resource Identifier (URI): Generic Syntax (rfc3986)