assign

Assign segments

Synopsis

void assign( initializer_list<string_view> init);

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

Description

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

All iterators are invalidated.

NOTE

None of the character buffers referenced by `init` may overlap the character buffer of the underlying url, or else the behavior is undefined.

Example

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

Complexity

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

Exception Safety

Strong guarantee. Calls to allocate may throw.