[#boost-urls-url_view_base-query] = xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::xref:boost/urls/url_view_base.adoc[url_view_base]::query :relfileprefix: ../../../ :mrdocs: Return the query == Synopsis Declared in `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/url_view_base.hpp#Lundefined[boost/url/url_view_base.hpp]>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<xref:boost/urls/string_token/StringToken.adoc[string_token::StringToken] StringToken = xref:boost/urls/string_token/return_string.adoc[string_token::return_string]> StringToken::result_type query(StringToken&& token = {}) const; ---- == Description If this contains a query, it is returned as a string (which may be empty). Otherwise, an empty string is returned. Any percent‐escapes in the string are decoded first. Literal plus signs remain unchanged by default to match RFC 3986. To treat '+' as a space, supply decoding options with `space_as_plus = true` when calling this function. == Example [,cpp] ---- assert( url_view( "/sql?id=42&name=jane%2Ddoe&page+size=20" ).query() == "id=42&name=jane-doe&page size=20" ); ---- == Complexity Linear in `this‐>query().size()`. == Exception Safety Calls to allocate may throw. == BNF [,cpp] ---- query = *( pchar / "/" / "?" ) query-param = key [ "=" value ] query-params = [ query-param ] *( "&" query-param ) ---- == Specification * https://datatracker.ietf.org/doc/html/rfc3986#section-3.4[3.4. Query (rfc3986)] * https://en.wikipedia.org/wiki/Query_string[Query string (Wikipedia)] == Return Value The query as a string. == Parameters [cols="1,4"] |=== |Name|Description | *token* | A token to use for the returned string. |=== == See Also xref:boost/urls/url_view_base/encoded_params.adoc[`encoded_params`], xref:boost/urls/url_view_base/encoded_query.adoc[`encoded_query`], xref:boost/urls/url_view_base/has_query.adoc[`has_query`], xref:boost/urls/url_view_base/params-065.adoc[`params`]. [.small]#Created with https://www.mrdocs.com[MrDocs]#