[#boost-urls-param_view]
= xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::param&lowbar;view
:relfileprefix: ../../
:mrdocs:

A view of a query parameter

== Synopsis

Declared in `&lt;https://www.github.com/boostorg/url/blob/develop/include/boost/url/param.hpp#Lundefined[boost&sol;url&sol;param&period;hpp]&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct param&lowbar;view;
----

== Description

Objects of this type represent a single key and value pair in a query string where a key is always present and may be empty, while the presence of a value is indicated by xref:boost/urls/param_view/has_value.adoc[`has&lowbar;value`] equal to true&period; An empty value is distinct from no value&period;

Depending on where the object was obtained, the strings may or may not contain percent escapes&period; Some functions and objects might expect encoded strings in this view, while others expect decoded strings&period; The caller should be aware of the context in which the object will be used&period;

For most usages, key comparisons are case&hyphen;sensitive and duplicate keys in a query are possible&period; However, it is the authority that has final control over how the query is interpreted&period;

Keys and values in this object reference external character buffers&period; Ownership of the buffers is not transferred&semi; the caller is responsible for ensuring that the assigned buffers remain valid until they are no longer referenced&period;

== BNF

[,cpp]
----
query-params    = query-param *( "&" query-param )
query-param     = key [ "=" value ]
key             = *qpchar
value           = *( qpchar / "=" )
----
== Specification

* https://en.wikipedia.org/wiki/Query_string[Query string (Wikipedia)]

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:boost/urls/param_view/2constructor-0e.adoc[`param&lowbar;view`]         [.small]#[constructor]#
| Constructors
| xref:boost/urls/param_view/operator_ptr.adoc[`operator&hyphen;&gt;`] 
| Arrow support
| xref:boost/urls/param_view/2conversion.adoc[`operator param`] 
| Conversion
|===

== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:boost/urls/param_view/has_value.adoc[`has&lowbar;value`] 
| True if a value is present
| xref:boost/urls/param_view/key.adoc[`key`] 
| The key
| xref:boost/urls/param_view/value.adoc[`value`] 
| The value
|===

== See Also

xref:boost/urls/param.adoc[`param`], xref:boost/urls/param_pct_view.adoc[`param&lowbar;pct&lowbar;view`]&period;


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