:relfileprefix: ../../ [#F12F3704ABD60420DD4E4B6563C5FDDCC968F44D] = Class params_ref pass:v,q[A view representing query parameters in a URL] == Synopsis Declared in header `` [source,cpp,subs="verbatim,macros,-callouts"] ---- class params_ref : public xref:boost/urls/params_base.adoc[params_base]; ---- == Types [,cols=2] |=== |Name |Description |xref:boost/urls/params_base/const_iterator.adoc[`pass:v[const_iterator]`] | xref:boost/urls/params_base/iterator.adoc[iterator] |xref:boost/urls/params_base/const_reference.adoc[`pass:v[const_reference]`] | pass:v,q[The reference type] |xref:boost/urls/params_base/difference_type.adoc[`pass:v[difference_type]`] | pass:v,q[A signed integer type used to represent differences.] |xref:boost/urls/params_base/iterator.adoc[`pass:v[iterator]`] | |xref:boost/urls/params_base/reference.adoc[`pass:v[reference]`] | pass:v,q[The reference type] |xref:boost/urls/params_base/size_type.adoc[`pass:v[size_type]`] | pass:v,q[An unsigned integer type to represent sizes.] |xref:boost/urls/params_base/value_type.adoc[`pass:v[value_type]`] | pass:v,q[The value type] |=== == Member Functions [,cols=2] |=== |Name |Description |xref:boost/urls/params_ref/append.adoc[`pass:v[append]`] | pass:v,q[Append elements] |xref:boost/urls/params_ref/assign.adoc[`pass:v[assign]`] | pass:v,q[Assign elements] |xref:boost/urls/params_base/begin.adoc[`pass:v[begin]`] | pass:v,q[Return an iterator to the beginning] |xref:boost/urls/params_base/buffer.adoc[`pass:v[buffer]`] | pass:v,q[Return the referenced character buffer.] |xref:boost/urls/params_ref/clear.adoc[`pass:v[clear]`] | pass:v,q[Clear the contents of the container] |xref:boost/urls/params_base/contains.adoc[`pass:v[contains]`] | pass:v,q[Return true if a matching key exists] |xref:boost/urls/params_base/count.adoc[`pass:v[count]`] | pass:v,q[Return the number of matching keys] |xref:boost/urls/params_base/empty.adoc[`pass:v[empty]`] | pass:v,q[Return true if there are no params] |xref:boost/urls/params_base/end.adoc[`pass:v[end]`] | pass:v,q[Return an iterator to the end] |xref:boost/urls/params_ref/erase.adoc[`pass:v[erase]`] | pass:v,q[Erase elements] |xref:boost/urls/params_base/find.adoc[`pass:v[find]`] | pass:v,q[Find a matching key] |xref:boost/urls/params_base/find_last.adoc[`pass:v[find_last]`] | pass:v,q[Find a matching key] |xref:boost/urls/params_ref/insert.adoc[`pass:v[insert]`] | pass:v,q[Insert elements] |xref:boost/urls/params_ref/2conversion.adoc[`pass:v[operator params_view]`] | pass:v,q[Conversion] |xref:boost/urls/params_ref/operator_assign.adoc[`pass:v[operator=]`] | pass:v,q[Assignment] |xref:boost/urls/params_ref/2constructor.adoc[`pass:v[params_ref]`] | pass:v,q[Constructor] |xref:boost/urls/params_ref/replace.adoc[`pass:v[replace]`] | pass:v,q[Replace elements] |xref:boost/urls/params_ref/set.adoc[`pass:v[set]`] | pass:v,q[Set a value] |xref:boost/urls/params_base/size.adoc[`pass:v[size]`] | pass:v,q[Return the number of params] |xref:boost/urls/params_ref/unset.adoc[`pass:v[unset]`] | pass:v,q[Remove the value on an element] |xref:boost/urls/params_ref/url.adoc[`pass:v[url]`] | pass:v,q[Return the referenced url] |=== == Static Member Functions [,cols=2] |=== |Name |Description |xref:boost/urls/params_base/max_size.adoc[`pass:v[max_size]`] | pass:v,q[Return the maximum number of characters possible] |=== == Description pass:v,q[Objects of this type are used to interpret] pass:v,q[the query parameters as a bidirectional view] pass:v,q[of key/value pairs.] pass:v,q[The view does not retain ownership of the] pass:v,q[elements and instead references the original] pass:v,q[url. The caller is responsible for ensuring] pass:v,q[that the lifetime of the referenced url] pass:v,q[extends until it is no longer referenced.] pass:v,q[The view is modifiable; calling non-const] pass:v,q[members causes changes to the referenced] pass:v,q[url.] pass:v,q[Percent escapes in strings returned when] pass:v,q[dereferencing iterators are automatically] pass:v,q[decoded.] pass:v,q[Reserved characters in strings supplied] pass:v,q[to modifier functions are automatically] pass:v,q[percent-escaped.] === Example [,cpp] ---- url u( "?first=John&last=Doe" ); params_ref p = u.params(); ---- === Iterator Invalidation pass:v,q[Changes to the underlying character buffer] pass:v,q[can invalidate iterators which reference it.] pass:v,q[Modifications made through the container] pass:v,q[invalidate some or all iterators:] * xref:boost/urls/params_ref/append-0f.adoc[append] pass:v,q[: Only `end()`.] * xref:boost/urls/params_ref/assign-09.adoc[assign,] xref:boost/urls/params_ref/clear.adoc[clear,] pass:v,q[`operator=` : All elements.] * xref:boost/urls/params_ref/erase-05.adoc[erase] pass:v,q[: Erased elements and all] pass:v,q[elements after (including `end()`).] * xref:boost/urls/params_ref/insert-08.adoc[insert] pass:v,q[: All elements at or after] pass:v,q[the insertion point (including `end()`).] * xref:boost/urls/params_ref/replace-0d.adoc[replace,] xref:boost/urls/params_ref/set-01.adoc[set] pass:v,q[: Modified] pass:v,q[elements and all elements] pass:v,q[after (including `end()`).]