[#boost-urls-static_url-set_query]
= xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::xref:boost/urls/static_url.adoc[static&lowbar;url]::set&lowbar;query
:relfileprefix: ../../../
:mrdocs:


Set the query

== Synopsis


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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:boost/urls/static_url.adoc[static&lowbar;url]&
set&lowbar;query(core::string&lowbar;view s);
----

== Description


This sets the query to the string, which        can be empty&period;        An empty query is distinct from having        no query&period;        Reserved characters in the string are        percent&hyphen;escaped in the result&period;


=== Example

[,cpp]
----
assert( url( "http://example.com" ).set_query( "id=42" ).query() == "id=42" );
----

=== Postconditions

[,cpp]
----
this->has_query() == true && this->query() == s
----

=== Exception Safety

Strong guarantee&period;        Calls to allocate may throw&period;


=== 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&period;4&period;  Query (rfc3986)]
        
* link:https://en.wikipedia.org/wiki/Query_string[Query string (Wikipedia)]



== Parameters


|===
| Name | Description

| *s*
| The string to set&period;


|===

== See Also


xref:boost/urls/url_base/encoded_params-06.adoc[encoded&lowbar;params],            xref:boost/urls/url_base/params-0c.adoc[params],            xref:boost/urls/url_base/remove_query.adoc[remove&lowbar;query],            xref:boost/urls/url_base/set_encoded_query.adoc[set&lowbar;encoded&lowbar;query]&period;






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