| Home | Libraries | People | FAQ | More

##### static_url::set_encoded_fragment

Set the fragment.

###### Synopsis

    static_url&
    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

- 3.5. Fragment

###### See Also

`remove_fragment`, /root/project/libs/url/include/boost/url/static_url.hpp