...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Replace segments.
iterator replace( iterator from, iterator to, std::initializer_list< pct_string_view > init);
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.
None of the character buffers referenced by the list may overlap the character buffer of the underlying url, or else the behavior is undefined.
Linear in init.size() + this->url().encoded_resouce().size()
.
Strong guarantee. Calls to allocate may throw. Exceptions thrown on invalid input.
Type |
Thrown On |
---|---|
|
The list contains an invalid percent-encoding. |
An iterator to the first segment inserted, or one past to
if init.size() == 0
.
Name |
Description |
---|---|
|
The range of segments to replace. |
|
The list of segments to assign. |