Insert segments
Synopsis
Declared in header <boost/url/segments_encoded_ref.hpp>
iterator
insert(
iterator before,
std::initializer_list<pct_string_view> init);
Description
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.
Note
|
None of the character buffers referenced by the list may overlap the character buffer of the underlying url, or else the behavior is undefined. |
Example
url u( "/file.txt" );
u.encoded_segments().insert( u.encoded_segments().begin(), { "path", "to" } );
Complexity
Linear in init.size() + this->url().encoded_resource().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
element inserted, or before
if
init.size() == 0
.
Parameters
Name | Description |
---|---|
before |
An iterator before which
the list is inserted. This may
be equal to |
init |
The list of segments to insert. |