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

This is the documentation for a snapshot of the master branch, built from commit 794f991b4a.
PrevUpHomeNext
segments_encoded_ref::assign (2 of 2 overloads)

Assign segments.

Synopsis
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.

Remarks

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

Type

Thrown On

system_error

The range contains an invalid percent-encoding.

Parameters

Name

Description

first, last

The range of segments to assign.


PrevUpHomeNext