boost::urls::params_encoded_ref::replace

Replace params

Synopsis

iterator
replace(
    iterator from,
    iterator to,
    std::initializer_list<param_pct_view> init);
template<class FwdIt>
iterator
replace(
    iterator from,
    iterator to,
    FwdIt first,
    FwdIt last);

Description

This function replaces the contents of the element at `pos` with the specified param.

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

The strings passed in must not come from the element being replaced, or else the behavior is undefined.
url u( "?first=John&last=Doe" );

u.encoded_params().replace( u.encoded_params().begin(), { "title", "Mr" });

assert( u.encoded_query() == "title=Mr&last=Doe" );

Linear in `this‐>url().encoded_query().size()`.

Strong guarantee.

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

Exceptions

Name Thrown on

`p`

contains an invalid percent‐encoding.

`init`

contains an invalid percent‐encoding.

The

range contains an invalid percent‐encoding.

Return Value

An iterator to the element.

Parameters

Name Description

pos

An iterator to the element&period;

p

The param to assign&period;

from,to

The range of params to replace&period;

init

The list of params to assign&period;

first,

last The range of params to assign&period;

Created with MrDocs