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

Common functionality for containers

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class url&lowbar;view&lowbar;base;
----

== Member Functions

[cols=2]
|===
| Name
| Description
| xref:boost/urls/url_view_base/authority.adoc[`authority`] 
| Return the authority
| xref:boost/urls/url_view_base/buffer.adoc[`buffer`] 
| Return the url string
| xref:boost/urls/url_view_base/compare.adoc[`compare`] 
| Return the result of comparing this with another url
| xref:boost/urls/url_view_base/data.adoc[`data`] 
| Return a pointer to the url&apos;s character buffer
| xref:boost/urls/url_view_base/empty.adoc[`empty`] 
| Return true if the url is empty
| xref:boost/urls/url_view_base/encoded_authority.adoc[`encoded&lowbar;authority`] 
| Return the authority&period;
| xref:boost/urls/url_view_base/encoded_fragment.adoc[`encoded&lowbar;fragment`] 
| Return the fragment
| xref:boost/urls/url_view_base/encoded_host.adoc[`encoded&lowbar;host`] 
| Return the host
| xref:boost/urls/url_view_base/encoded_host_address.adoc[`encoded&lowbar;host&lowbar;address`] 
| Return the host
| xref:boost/urls/url_view_base/encoded_host_and_port.adoc[`encoded&lowbar;host&lowbar;and&lowbar;port`] 
| Return the host and port
| xref:boost/urls/url_view_base/encoded_host_name.adoc[`encoded&lowbar;host&lowbar;name`] 
| Return the host name
| xref:boost/urls/url_view_base/encoded_origin.adoc[`encoded&lowbar;origin`] 
| Return the origin
| xref:boost/urls/url_view_base/encoded_params.adoc[`encoded&lowbar;params`] 
| Return the query as a container of parameters
| xref:boost/urls/url_view_base/encoded_password.adoc[`encoded&lowbar;password`] 
| Return the password
| xref:boost/urls/url_view_base/encoded_path.adoc[`encoded&lowbar;path`] 
| Return the path
| xref:boost/urls/url_view_base/encoded_query.adoc[`encoded&lowbar;query`] 
| Return the query
| xref:boost/urls/url_view_base/encoded_resource.adoc[`encoded&lowbar;resource`] 
| Return the resource
| xref:boost/urls/url_view_base/encoded_segments.adoc[`encoded&lowbar;segments`] 
| Return the path as a container of segments
| xref:boost/urls/url_view_base/encoded_target.adoc[`encoded&lowbar;target`] 
| Return the target
| xref:boost/urls/url_view_base/encoded_user.adoc[`encoded&lowbar;user`] 
| Return the user
| xref:boost/urls/url_view_base/encoded_userinfo.adoc[`encoded&lowbar;userinfo`] 
| Return the userinfo
| xref:boost/urls/url_view_base/encoded_zone_id.adoc[`encoded&lowbar;zone&lowbar;id`] 
| Return the IPv6 Zone ID
| xref:boost/urls/url_view_base/fragment.adoc[`fragment`] 
| Return the fragment
| xref:boost/urls/url_view_base/has_authority.adoc[`has&lowbar;authority`] 
| Return true if an authority is present
| xref:boost/urls/url_view_base/has_fragment.adoc[`has&lowbar;fragment`] 
| Return true if a fragment is present
| xref:boost/urls/url_view_base/has_password.adoc[`has&lowbar;password`] 
| Return true if a password is present
| xref:boost/urls/url_view_base/has_port.adoc[`has&lowbar;port`] 
| Return true if a port is present
| xref:boost/urls/url_view_base/has_query.adoc[`has&lowbar;query`] 
| Return true if a query is present
| xref:boost/urls/url_view_base/has_scheme.adoc[`has&lowbar;scheme`] 
| Return true a scheme is present
| xref:boost/urls/url_view_base/has_userinfo.adoc[`has&lowbar;userinfo`] 
| Return true if a userinfo is present
| xref:boost/urls/url_view_base/host.adoc[`host`] 
| Return the host
| xref:boost/urls/url_view_base/host_address.adoc[`host&lowbar;address`] 
| Return the host
| xref:boost/urls/url_view_base/host_ipv4_address.adoc[`host&lowbar;ipv4&lowbar;address`] 
| Return the host IPv4 address
| xref:boost/urls/url_view_base/host_ipv6_address.adoc[`host&lowbar;ipv6&lowbar;address`] 
| Return the host IPv6 address
| xref:boost/urls/url_view_base/host_ipvfuture.adoc[`host&lowbar;ipvfuture`] 
| Return the host IPvFuture address
| xref:boost/urls/url_view_base/host_name.adoc[`host&lowbar;name`] 
| Return the host name
| xref:boost/urls/url_view_base/host_type.adoc[`host&lowbar;type`] 
| Return the host type
| xref:boost/urls/url_view_base/is_path_absolute.adoc[`is&lowbar;path&lowbar;absolute`] 
| Return true if the path is absolute
| xref:boost/urls/url_view_base/params-065.adoc[`params`] 
| Return the query as a container of parameters
| xref:boost/urls/url_view_base/password.adoc[`password`] 
| Return the password
| xref:boost/urls/url_view_base/path.adoc[`path`] 
| Return the path
| xref:boost/urls/url_view_base/persist.adoc[`persist`] 
| Return a shared, persistent copy of the url
| xref:boost/urls/url_view_base/port.adoc[`port`] 
| Return the port
| xref:boost/urls/url_view_base/port_number.adoc[`port&lowbar;number`] 
| Return the port
| xref:boost/urls/url_view_base/query.adoc[`query`] 
| Return the query
| xref:boost/urls/url_view_base/scheme.adoc[`scheme`] 
| Return the scheme
| xref:boost/urls/url_view_base/scheme_id.adoc[`scheme&lowbar;id`] 
| Return the scheme
| xref:boost/urls/url_view_base/segments.adoc[`segments`] 
| Return the path as a container of segments
| xref:boost/urls/url_view_base/size.adoc[`size`] 
| Return the number of characters in the url
| xref:boost/urls/url_view_base/user.adoc[`user`] 
| Return the user
| xref:boost/urls/url_view_base/userinfo.adoc[`userinfo`] 
| Return the userinfo
| xref:boost/urls/url_view_base/zone_id.adoc[`zone&lowbar;id`] 
| Return the IPv6 Zone ID
| xref:boost/urls/url_view_base/2conversion.adoc[`operator core::string&lowbar;view`] 
| Return the URL as a core&colon;&colon;string&lowbar;view
|===

== Static Member Functions

[cols=2]
|===
| Name
| Description
| xref:boost/urls/url_view_base/max_size.adoc[`max&lowbar;size`] 
| Return the maximum number of characters possible
|===

== Protected Member Functions

[cols=2]
|===
| Name
| Description
| xref:boost/urls/url_view_base/digest.adoc[`digest`] 
| Calculate a hash of the url
|===

== Friends

[cols=2]
|===
| Name
| Description
| `xref:boost/urls/operator_lshift-0c.adoc[boost::urls::operator&lt;&lt;]`
| Format the url to the output stream
| `xref:boost/urls/operator_ge-00.adoc[boost::urls::operator&gt;&equals;]`
| Return the result of comparing two URLs
| `xref:boost/urls/operator_gt-09.adoc[boost::urls::operator&gt;]`
| Return the result of comparing two URLs
| `xref:boost/urls/operator_le-0a.adoc[boost::urls::operator&lt;&equals;]`
| Return the result of comparing two URLs
| `xref:boost/urls/operator_lt-04a.adoc[boost::urls::operator&lt;]`
| Return the result of comparing two URLs
| `xref:boost/urls/operator_not_eq-040.adoc[boost::urls::operator!&equals;]`
| Return the result of comparing two URLs
| `xref:boost/urls/operator_eq-013.adoc[boost::urls::operator&equals;&equals;]`
| Return the result of comparing two URLs
| `xref:boost/urls/segments_view.adoc[boost::urls::segments&lowbar;view]`
| A view representing path segments in a URL
| `xref:boost/urls/segments_ref.adoc[boost::urls::segments&lowbar;ref]`
| A view representing path segments in a URL
| `xref:boost/urls/segments_encoded_view.adoc[boost::urls::segments&lowbar;encoded&lowbar;view]`
| A view representing path segments in a URL
| `xref:boost/urls/segments_encoded_ref.adoc[boost::urls::segments&lowbar;encoded&lowbar;ref]`
| A view representing path segments in a URL
| `xref:boost/urls/segments_encoded_base.adoc[boost::urls::segments&lowbar;encoded&lowbar;base]`
| Common functionality for containers
| `xref:boost/urls/segments_base.adoc[boost::urls::segments&lowbar;base]`
| Common functionality for containers
| `xref:boost/urls/params_view.adoc[boost::urls::params&lowbar;view]`
| A view representing query parameters in a URL
| `xref:boost/urls/params_ref.adoc[boost::urls::params&lowbar;ref]`
| A view representing query parameters in a URL
| `xref:boost/urls/params_encoded_view.adoc[boost::urls::params&lowbar;encoded&lowbar;view]`
| A view representing query parameters in a URL
| `xref:boost/urls/params_encoded_ref.adoc[boost::urls::params&lowbar;encoded&lowbar;ref]`
| A view representing query parameters in a URL
| `xref:boost/urls/params_encoded_base.adoc[boost::urls::params&lowbar;encoded&lowbar;base]`
| Common functionality for containers
| `xref:boost/urls/params_base.adoc[boost::urls::params&lowbar;base]`
| Common functionality for query parameter containers
| `xref:boost/urls/static_url_base.adoc[boost::urls::static&lowbar;url&lowbar;base]`
| Common implementation for all static URLs
| `xref:boost/urls/url_view.adoc[boost::urls::url&lowbar;view]`
| A non&hyphen;owning reference to a valid URL
| `xref:boost/urls/url_base.adoc[boost::urls::url&lowbar;base]`
| Common functionality for containers
| `xref:boost/urls/url.adoc[boost::urls::url]`
| A modifiable container for a URL&period;
|===

== Non-Member Functions

[cols=2]
|===
| Name
| Description
| xref:boost/urls/resolve.adoc[`resolve`]
| Resolve a URL reference against a base URL
|===

== Derived Classes

[cols=2]
|===
| Name
| Description
| xref:boost/urls/url_base.adoc[`url&lowbar;base`]
| Common functionality for containers
| xref:boost/urls/url_view.adoc[`url&lowbar;view`]
| A non&hyphen;owning reference to a valid URL
|===

== Description

This base class is used by the library to provide common member functions for containers&period; This cannot be instantiated directly&semi; Instead, use one of the containers or functions&colon;

== Containers

* `url`
* `url&lowbar;view`
* `static&lowbar;url`

== Functions

* `parse&lowbar;absolute&lowbar;uri`
* `parse&lowbar;origin&lowbar;form`
* `parse&lowbar;relative&lowbar;ref`
* `parse&lowbar;uri`
* `parse&lowbar;uri&lowbar;reference`


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