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 an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext
url_base::set_encoded_fragment

Set the fragment.

Synopsis
url_base&
set_encoded_fragment(
    pct_string_view s);
Description

This function sets the fragment to the specified string, which may contain percent-escapes and which may be empty. An empty fragment is distinct from having no fragment. Escapes in the string are preserved, and reserved characters in the string are percent-escaped in the result.

Example
assert( url("?first=john&last=doe" ).set_encoded_fragment( "john%2Ddoe" ).fragment() == "john-doe" );
Postconditions
this->has_fragment() == true && this->fragment() == decode_view( s )
Complexity

Linear in this->size() + s.size().

Exception Safety

Strong guarantee. Calls to allocate may throw. Exceptions thrown on invalid input.

Exceptions

Type

Thrown On

system_error

s contains an invalid percent-encoding.

Parameters

Name

Description

s

The string to set.

BNF
fragment    = *( pchar / "/" / "?" )
Specification
See Also

remove_fragment, set_fragment.


PrevUpHomeNext