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.

p

The param to assign.

from,to

The range of params to replace.

init

The list of params to assign.

first,

last The range of params to assign.