:relfileprefix: ../../../
[#boost-urls-params_view-2constructor-09a]

= xref:boost.adoc[pass:[boost]]::xref:boost/urls.adoc[pass:[urls]]::xref:boost/urls/params_view.adoc[pass:[params_view]]::params_view


Constructor


== Synopsis

Declared in header `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/params_view.hpp#L186[boost/url/params_view.hpp,window=blank_]>`

[source,cpp,subs="verbatim,macros,-callouts"]
----
params_view(core::string_view s);
----

== Description


This function constructs params from
a valid query parameter string, which
can contain percent escapes. Unlike
the parameters in URLs, the string
passed here should not start with "?".
Upon construction, the view references
the character buffer pointed to by `s`.
The caller is responsible for ensuring
that the lifetime of the buffer extends
until it is no longer referenced.

=== Example
[,cpp]
----
params_view qp( "first=John&last=Doe" );
----

=== Effects
[,cpp]
----
return parse_query( s ).value();
----

=== Postconditions
[,cpp]
----
this->buffer().data() == s.data()
----

=== Complexity

Linear in `s`.

=== Exception Safety

Exceptions thrown on invalid input.

=== BNF
[,cpp]
----
query-params    = [ query-param ] *( "&" query-param )

query-param     = key [ "=" value ]
----

=== Specification

* link:https://datatracker.ietf.org/doc/html/rfc3986#section-3.4[3.4.  Query]



== Exceptions

|===
| Name | Thrown on

| `system_error`
| 
`s` contains an invalid query parameter
string.

|===



== Parameters

|===
| Name | Description 

| *s*
| 
The string to parse.

|===




