Replace segments

Synopsis

Declared in header </boost/url/segments_encoded_ref.hpp#L716[boost/url/segments_encoded_ref.hpp,window=blank_]>

template<class FwdIt>
segments_encoded_base::iterator
replace(
    segments_encoded_base::iterator from,
    segments_encoded_base::iterator to,
    FwdIt first,
    FwdIt last);

Description

This function replaces a range of segments with annother range of segments. Reserved characters in the new range are automatically escaped. Escapes in the new range are preserved. All iterators that are equal to from or come after are invalidated.

Preconditions

None of the character buffers referenced by the new range may overlap the character buffer of the underlying url, or else the behavior is undefined.

Complexity

Linear in std::distance( first, last ) + this->url().encoded_resouce().size().

Exception Safety

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

Return Value

  • iterator

Parameters

Name Type

from

iterator

to

iterator

first

FwdIt

last

FwdIt