boost::urls::params_encoded_ref::set

Set a value

Synopsis

Declared in header <boost/url/params_encoded_ref.hpp>

iterator
set(
    iterator pos,
    pct_string_view value);

Description

This function replaces the value of an element at the specified position.

All iterators that are equal to pos or come after are invalidated.

The string 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( u.encoded_params().begin(), "none" );

assert( u.encoded_query() == "id=none&id=69" );

Complexity

Linear in this->url().encoded_query().size().

Exception Safety

Strong guarantee. Calls to allocate may throw. Exceptions thrown on invalid input.

Exceptions

Name Thrown on

system_error

value contains an invalid percent-encoding.

Return Value

An iterator to the element.

Parameters

Name Description

pos

An iterator to the element.

value

The value to assign. The empty string still counts as a value. That is, has_value for the element is true.