boost::urls::segments_encoded_ref::insert

Insert segments

Synopsis

Declared in <include/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.

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.

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

init

The list of segments to insert.

Created with MrDocs