[#boost-urls-url-set_encoded_params] = xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::xref:boost/urls/url.adoc[url]::set_encoded_params :relfileprefix: ../../../ :mrdocs: Set the query params == Synopsis Declared in `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/url.hpp#L477[boost/url/url.hpp]>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:boost/urls/url.adoc[url]& set_encoded_params(std::initializer_list<xref:boost/urls/param_pct_view.adoc[param_pct_view]> ps); ---- == Description This sets the query params to the elements in the list, which may contain percent‐escapes and can be empty. An empty list of params is distinct from having no query. Escapes in the string are preserved, and reserved characters in the string are percent‐escaped in the result. === Example [,cpp] ---- assert( url( "http://example.com" ).set_encoded_params( {"id", "42"} ).encoded_query() == "id=42" ); ---- === Postconditions [,cpp] ---- this->has_query() == true ---- === Complexity Linear. === Exception Safety Strong guarantee. Calls to allocate may throw. Exceptions thrown on invalid input. === BNF [,cpp] ---- query = *( pchar / "/" / "?" ) query-param = key [ "=" value ] query-params = [ query-param ] *( "&" query-param ) ---- === Specification * 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)] == Exceptions |=== | Name | Thrown on | `system_error` | some element in `ps` contains an invalid percent‐encoding. |=== == Parameters |=== | Name | Description | *ps* | The params to set. |=== == See Also xref:boost/urls/url_base/set_params.adoc[set_params], xref:boost/urls/url_base/params-0c.adoc[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]. [.small]#Created with https://www.mrdocs.com[MrDocs]#