Replace segments
Synopsis
Declared in header <boost/url/segments_encoded_ref.hpp>
iterator
replace(
iterator from,
iterator to,
std::initializer_list<pct_string_view> init);
Description
This function replaces a range of segments with a list of segments in an initializer list. Reserved characters in the list are automatically escaped. Escapes in the list are preserved.
All iterators that are equal to
from
or come after are invalidated.
Preconditions
None of the character buffers referenced by the list may overlap the character buffer of the underlying url, or else the behavior is undefined.
Complexity
Linear in init.size() + this->url().encoded_resouce().size()
.
Exception Safety
Strong guarantee. Calls to allocate may throw. Exceptions thrown on invalid input.
Exceptions
Name | Thrown on |
---|---|
|
The list contains an invalid percent-encoding. |
Return Value
An iterator to the first
segment inserted, or one past to
if
init.size() == 0
.
Parameters
Name | Description |
---|---|
from, |
to The range of segments to replace. |
init |
The list of segments to assign. |