Boost
C++ Libraries
...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Assign segments.
void assign( std::initializer_list< pct_string_view > init);
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.
|
Type |
Thrown On |
|---|---|
|
|
The list contains an invalid percent-encoding. |
|
Name |
Description |
|---|---|
|
|
The list of segments to assign. |