boost::urls::params_encoded_ref::set
Set a value
Synopsis
iterator
set(
pct_string_view key,
pct_string_view value,
ignore_case_param ic = = {});
Description
This function performs one of two actions depending on the value of `this‐>contains( key, ic )`.
-
If key is contained in the view then one of the matching params has its value changed to the specified value. The remaining params with a matching key are erased. Otherwise,
-
If `key` is not contained in the view, then the function apppends the param `{ key, value }`.
All iterators are invalidated.
| The strings passed in must not come from the element being replaced, or else the behavior is undefined. |
url u( "?id=42&id=69" );
u.encoded_params().set( "id", "none" );
assert( u.encoded_params().count( "id" ) == 1 );
this->count( key, ic ) == 1 && this->find( key, ic )->value == value
Exceptions
| Name | Thrown on |
|---|---|
|
or `value` contain an invalid percent‐encoding. |
Parameters
| Name | Description |
|---|---|
key |
The key to match. By default, a case‐sensitive comparison is used. |
value |
The value to assign. The empty string still counts as a value. That is, `has_value` for the element is true. |
ic |
An optional parameter. If the value xref:boost/urls/ignore_case.adoc[ignore_case] is passed here, the comparison is case‐insensitive. |
Created with MrDocs