| Home | Libraries | People | FAQ | More

###### param_pct_view::param_pct_view (3 of 4 overloads)

Constructor.

###### Synopsis

    template<
        class OptionalString>
    param_pct_view(
        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

    param_pct_view qp( "key" , optional<core::string_view>( "value" ) );

###### Postconditions

    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

Type | Thrown On
--- | ---
`system_error` | `key` or `value` contains an invalid percent-encoding.

###### Template Parameters

Type | 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.