:relfileprefix: ../../../ [#boost-urls-url_base-params] == xref:boost.adoc[pass:[boost]]::xref:boost/urls.adoc[pass:[urls]]::xref:boost/urls/url_base.adoc[pass:[url_base]]::params Return the query as a container of parameters === Synopsis [source,cpp,subs="verbatim,macros,-callouts"] ---- xref:boost/urls/params_ref.adoc[params_ref] xref:boost/urls/url_base/params-03.adoc[pass:[params]]() noexcept; ---- [source,cpp,subs="verbatim,macros,-callouts"] ---- xref:boost/urls/params_view.adoc[params_view] xref:boost/urls/url_base/params-0b.adoc[pass:[params]]() const noexcept; ---- [source,cpp,subs="verbatim,macros,-callouts"] ---- xref:boost/urls/params_ref.adoc[params_ref] xref:boost/urls/url_base/params-0c.adoc[pass:[params]](xref:boost/urls/encoding_opts.adoc[encoding_opts] opt) noexcept; ---- === Description This function returns a bidirectional view of key/value pairs over the query. The returned view references the same underlying character buffer; ownership is not transferred. Any percent-escapes in strings returned when iterating the view are decoded first. The container is modifiable; changes to the container are reflected in the underlying URL. [,cpp] ---- params_ref pv = url( "/sql?id=42&name=jane%2Ddoe&page+size=20" ).params(); ---- === Constant. === Throws nothing. [,cpp] ---- query = *( pchar / "/" / "?" ) query-param = key [ "=" value ] query-params = [ query-param ] *( "&" query-param ) ---- * link:https://datatracker.ietf.org/doc/html/rfc3986#section-3.4[3.4. Query (rfc3986)] * link:https://en.wikipedia.org/wiki/Query_string[Query string (Wikipedia)] === Parameters |=== | Name | Description | *opt* | The options for decoding. If this parameter is omitted, the `space_as_plus` is used. |=== === See Also xref:boost/urls/url_base/encoded_params-06.adoc[encoded_params] , xref:boost/urls/url_base/remove_query.adoc[remove_query] , xref:boost/urls/url_base/set_encoded_query.adoc[set_encoded_query] , xref:boost/urls/url_base/set_query.adoc[set_query] .