Insert segments

Synopsis

Declared in header <boost/url/segments_ref.hpp>

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

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.

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 end().

init

The list of segments to insert.