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>`

    template<class FwdIt>
    void
    assign(
        FwdIt first,
        FwdIt last);

## Description

The existing contents are replaced by a copy of the contents of the range. Reserved characters in the range are automatically escaped. Escapes in the range are preserved.

All iterators are invalidated.

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

## Mandates

    std::is_convertible< std::iterator_traits< FwdIt >::reference_type, pct_string_view >::value == true

## Complexity

Linear in `std::distance( first, last ) + 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 range contains an invalid percent‐encoding.

## Parameters

Name | Description
--- | ---
first | The first element in the range.
last | One past the last element in the range.

Created with MrDocs