:relfileprefix: ../../
[#boost-urls-param]

== xref:boost.adoc[pass:[boost]]::xref:boost/urls.adoc[pass:[urls]]::param


A query parameter


=== Synopsis

Declared in header `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/param.hpp#L75[boost/url/param.hpp,window=blank_]>`

[source,cpp,subs="verbatim,macros,-callouts"]
----
struct param;
----

===  Member Functions
[cols=2,separator=¦]
|===
¦Name ¦Description
¦xref:boost/urls/param/operator_ptr.adoc[`operator->`]  ¦

¦xref:boost/urls/param/operator_assign.adoc[`operator=`]  ¦

Assignment

¦xref:boost/urls/param/2constructor.adoc[`param`] [.small]#[constructor]# ¦

Constructor

|===
===  Data Members
[cols=2,separator=¦]
|===
¦Name ¦Description
¦xref:boost/urls/param/has_value.adoc[`has_value`]  ¦

True if a value is present

¦xref:boost/urls/param/key.adoc[`key`]  ¦

The key

¦xref:boost/urls/param/value.adoc[`value`]  ¦

The value

|===

=== 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/has_value.adoc[has_value]
equal to true.
An empty value is distinct from no value.

Depending on where the object was obtained,
the strings may or may not contain percent
escapes.

For most usages, key comparisons are
case-sensitive and duplicate keys in
a query are possible. However, it is
the authority that has final control
over how the query is interpreted.
[,cpp]
----
query-params    = query-param *( "&" query-param )
query-param     = key [ "=" value ]
key             = *qpchar
value           = *( qpchar / "=" )
----

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



=== See Also


xref:boost/urls/param_view.adoc[param_view]
,
xref:boost/urls/param_pct_view.adoc[param_pct_view]
.



