[#79B53D34FC61E5CE15C0301A400D425D159B48A9]

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

BNF

fragment = *( pchar / "/" / "?" )

Specification

  • 3.5. Fragment