:relfileprefix: ../../../ [#boost-urls-param_pct_view-2constructor-03] = xref:boost.adoc[pass:[boost]]::xref:boost/urls.adoc[pass:[urls]]::xref:boost/urls/param_pct_view.adoc[pass:[param_pct_view]]::param_pct_view Construction == Synopsis Declared in header `` [source,cpp,subs="verbatim,macros,-callouts"] ---- explicit param_pct_view(xref:boost/urls/param_view.adoc[param_view] const& p); ---- == Description This converts a param which may contain unvalidated percent-escapes into a param whose key and value are guaranteed to contain strings with no invalid percent-escapes, otherwise an exception is thrown. The new key and value reference the same corresponding underlying character buffers. Ownership of the buffers is not transferred; the caller is responsible for ensuring that the assigned buffers remain valid until they are no longer referenced. === Example [,cpp] ---- param_pct_view qp( param_view( "key", "value" ) ); ---- === Complexity Linear in `key.size() + value.size()`. === Exception Safety Exceptions thrown on invalid input. == Exceptions |=== | Name | Thrown on | `system_error` | `key` or `value` contains an invalid percent escape. |=== == Parameters |=== | Name | Description | *p* | The param to construct from. |===