insert

Insert segments

Synopsis

iterator insert( iterator before, initializer_list<string_view> init);

Declared in file <src/segments_ref.cpp> at line 98

Description

This function inserts the segments in an initializer list before the specified position. Reserved characters in the list are percent-escaped in the result.

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.segments().insert( u.segments().begin(), { "path", "to" } );

Complexity

Linear in `init.size() + this->url().encoded_resource().size()`.

Exception Safety

Strong guarantee. Calls to allocate may throw.