[#boost-urls-params_ref-iterator]
= xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::xref:boost/urls/params_ref.adoc[params&lowbar;ref]::iterator
:relfileprefix: ../../../
:mrdocs:

A Bidirectional iterator to a query parameter

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class iterator { /* see-below */ };
----

== Description

Objects of this type allow iteration through the parameters in the query&period; Any percent&hyphen;escapes in returned strings are decoded first&period; The values returned are read&hyphen;only&semi; changes to parameters must be made through the container instead, if the container supports modification&period;

The strings produced when iterators are dereferenced belong to the iterator and become invalidated when that particular iterator is incremented, decremented, or destroyed&period;

The implementation may use temporary, recycled storage to store decoded strings&period; These iterators are meant to be used ephemerally&period; That is, for short durations such as within a function scope&period; Do not store iterators with static storage duration or as long&hyphen;lived objects&period;

== Friends

[cols="1,4"]
|===
|Name|Description

| `xref:boost/urls/params_ref.adoc[boost::urls::params&lowbar;ref]`
| Mutable decoded query parameter proxy
| `xref:boost/urls/params_base.adoc[boost::urls::params&lowbar;base]`
| Decoded query parameter helper base
|===


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