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 579430ad1f.
PrevUpHomeNext
segments_encoded_ref::operator= (3 of 3 overloads)

Assignment.

Synopsis
segments_encoded_ref&
operator=(
    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.

Example
url u;

u.encoded_segments() = { "path" , "to" , "file.txt" };
Preconditions

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

Effects
this->assign( init.begin(), init.end() );
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

Type

Thrown On

system_error

The list contains an invalid percent-encoding.

Parameters

Name

Description

init

The list of segments to assign.


PrevUpHomeNext