Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
params_encoded_ref::set (2 of 2 overloads)

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

All iterators are invalidated.

Remarks

The strings passed in must not come from the element being replaced, or else the behavior is undefined.

Example
url u( "?id=42&id=69" );

u.encoded_params().set( "id", "none" );

assert( u.encoded_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. Exceptions thrown on invalid input.

Exceptions

Type

Thrown On

system_error

key or value contain an invalid percent-encoding.

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, has_value for the element will be true.

ic

An optional parameter. If the value ignore_case is passed here, the comparison will be case-insensitive.


PrevUpHomeNext