:relfileprefix: ../../
[#7EC753F2C6F05BF96788F23982ABC87F624C1813]

= Class param

pass:v,q[A query parameter]


== Synopsis

Declared in header `</boost/url/param.hpp#L75[boost/url/param.hpp,window=blank_]>`

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

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

|xref:boost/urls/param/operator_assign.adoc[`pass:v[operator=]`] |
pass:v,q[Assignment]

|xref:boost/urls/param/2constructor.adoc[`pass:v[param]`] |
pass:v,q[Constructor]

|===
==  Data Members
[,cols=2]
|===
|Name |Description
|xref:boost/urls/param/has_value.adoc[`pass:v[has_value]`] |
pass:v,q[True if a value is present]

|xref:boost/urls/param/key.adoc[`pass:v[key]`] |
pass:v,q[The key]

|xref:boost/urls/param/value.adoc[`pass:v[value]`] |
pass:v,q[The value]

|===

== Description

pass:v,q[Objects of this type represent a single key] pass:v,q[and value pair in a query string where a key]
pass:v,q[is always present and may be empty, while the]
pass:v,q[presence of a value is indicated by]
xref:boost/urls/param/has_value.adoc[has_value]
pass:v,q[equal to true.]
pass:v,q[An empty value is distinct from no value.]
pass:v,q[Depending on where the object was obtained,]
pass:v,q[the strings may or may not contain percent]
pass:v,q[escapes.]
pass:v,q[For most usages, key comparisons are]
pass:v,q[case-sensitive and duplicate keys in]
pass:v,q[a query are possible. However, it is]
pass:v,q[the authority that has final control]
pass:v,q[over how the query is interpreted.]

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

=== Specification

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



