[#boost-urls-param_pct_view-2constructor-05] = xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::xref:boost/urls/param_pct_view.adoc[param_pct_view]::param_pct_view :relfileprefix: ../../../ :mrdocs: Constructor == Synopsis Declared in `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/param.hpp#L783[boost/url/param.hpp]>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class OptionalString> param_pct_view( xref:boost/urls/pct_string_view.adoc[pct_string_view] key, OptionalString const& value); ---- == Description This constructs a parameter with a key and optional value, which may both contain percent escapes. 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( "key", optional("value") ); ---- === Postconditions [,cpp] ---- this->key.data() == key.data() && this->value->data() == value->data() && this->has_value == true ---- === 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‐encoding. |=== == Template Parameters |=== | Name | Description | *OptionalString* | An optional `core::string_view` type, such as `boost::optional<core::string_view>` or `std::optional<core::string_view>`. |=== == Parameters |=== | Name | Description | *key,* | value The key and value to set. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#