...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Insert segments.
iterator insert( iterator before, std::initializer_list< pct_string_view > init);
This function inserts the segments in an initializer list before the specified position. Reserved characters in the list are automatically escaped. Escapes in the list are preserved.
All iterators that are equal to before
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.
url u( "/file.txt" ); u.encoded_segments().insert( u.encoded_segments().begin(), { "path" , "to" } );
Linear in init.size() + this->url().encoded_resource().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 element inserted, or before
if init.size() == 0
.
Name |
Description |
---|---|
|
An iterator before which the list is inserted. This may be
equal to |
|
The list of segments to insert. |