boost::urls::segments_encoded_ref::assign

Assign segments

Synopsis

void
assign(std::initializer_list<pct_string_view> init);
template<class FwdIt>
void
assign(
    FwdIt first,
    FwdIt last);

Description

The existing contents are replaced by a copy of the contents of the initializer list. Reserved characters in the list are automatically escaped. Escapes in the list are preserved.

All iterators 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;

u.segments().assign( {"path", "to", "file.txt"} );

Linear in init.size() + this->url().encoded_query().size() + this->url().encoded_fragment().size().

Strong guarantee.

Calls to allocate may throw. Exceptions thrown on invalid input.

Exceptions

Name Thrown on

The

list contains an invalid percent-encoding.

Parameters

Name Description

init

The list of segments to assign.

first,

last The range of segments to assign.