| Home | Libraries | People | FAQ | More

###### segments_ref::assign (1 of 2 overloads)

Assign segments.

###### Synopsis

    void
    assign(
        std::initializer_list< core::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.

All iterators are invalidated.

###### Remarks

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.

###### Parameters

Name | Description
--- | ---
`init` | The list of segments to assign.