Set a value
Synopsis
Declared in <boost/url/params_ref.hpp>
iterator
set(
core::string_view key,
core::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 elements has its value changed to the specified value. The remaining elements 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.
Example
url u( "?id=42&id=69" );
u.params().set( "id", "none" );
assert( u.params().count( "id" ) == 1 );
Postconditions
this->count( key, ic ) == 1 && this->find( key, ic )->value == value
Complexity
Linear in this‐>url().encoded_query().size()
.
Exception Safety
Strong guarantee. Calls to allocate may throw.
Return Value
An iterator to the appended or modified element.
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, |
ic |
An optional parameter. If the value |
Created with MrDocs