Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for a snapshot of the master branch, built from commit 2b5eb21199.
PrevUpHomeNext
params_view::params_view (5 of 5 overloads)

Constructor.

Synopsis
params_view(
    core::string_view s,
    encoding_opts opt);
Description

This function constructs params from a valid query parameter string, which can contain percent escapes. This instance will use the specified encoding_opts when the values are decoded. Unlike the parameters in URLs, the string passed here should not start with "?". Upon construction, the view will reference 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
encoding_opts opt;
opt.space_as_plus = true ;
params_view qp( "name=John+Doe" , opt );
Effects
return params_view(parse_query( s ).value(), opt);
Postconditions
this->buffer().data() == s.data()
Complexity

Linear in s.

Exception Safety

Exceptions thrown on invalid input.

Exceptions

Type

Thrown On

system_error

s contains an invalid query parameter string.

Parameters

Name

Description

s

The string to parse.

opt

The options for decoding. If this parameter is omitted, space_as_plus is used.

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

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

PrevUpHomeNext