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


A view of a percent&hyphen;encoded query parameter

== Synopsis


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

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

== Member Functions

[cols=2]
|===
| Name | Description 

| xref:boost/urls/param_pct_view/2conversion-00.adoc[`operator param`] 
| Conversion

| xref:boost/urls/param_pct_view/2conversion-0c.adoc[`operator param&lowbar;view`] 
| Conversion to param&lowbar;view

| xref:boost/urls/param_pct_view/operator_ptr.adoc[`operator&hyphen;&gt;`] 
| Arrow support

| xref:boost/urls/param_pct_view/2constructor.adoc[`param&lowbar;pct&lowbar;view`]         [.small]#[constructor]#
| Aggregate construction

Construction

Constructor


|===
== Data Members

[cols=2]
|===
| Name | Description 

| xref:boost/urls/param_pct_view/has_value.adoc[`has&lowbar;value`] 
| True if a value is present

| xref:boost/urls/param_pct_view/key.adoc[`key`] 
| The key

| xref:boost/urls/param_pct_view/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_pct_view/has_value.adoc[has&lowbar;value] equal to true&period;    An empty value is distinct from no value&period;

The strings may have percent escapes, and    offer an additional invariant&colon; they never    contain an invalid percent&hyphen;encoding&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

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



== See Also


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






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