boost::urls::segments_encoded_ref::assign :: Boost Libraries Documentation

# boost::urls::segments_encoded_ref::assign

Assign segments

## Synopsis

Declared in `<boost/url/segments_encoded_ref.hpp>`

    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.

| 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
`system_error` | The list contains an invalid percent‐encoding.

## Parameters

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

Created with MrDocs