Assign segments
Synopsis
void
assign(std::initializer_list<pct_string_view> init);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.
| 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;
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. 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. | 
Created with MrDocs