[#boost-urls-url-set_encoded_fragment] = xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::xref:boost/urls/url.adoc[url]::set_encoded_fragment :relfileprefix: ../../../ :mrdocs: Set the fragment. == Synopsis Declared in `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/url.hpp#L486[boost/url/url.hpp]>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:boost/urls/url.adoc[url]& set_encoded_fragment(xref:boost/urls/pct_string_view.adoc[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 [,cpp] ---- assert( url("?first=john&last=doe" ).set_encoded_fragment( "john%2Ddoe" ).fragment() == "john-doe" ); ---- === Postconditions [,cpp] ---- 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 [,cpp] ---- fragment = *( pchar / "/" / "?" ) ---- === Specification * link:https://datatracker.ietf.org/doc/html/rfc3986#section-3.5[3.5. Fragment] == Exceptions |=== | Name | Thrown on | `system_error` | `s` contains an invalid percent‐encoding. |=== == Parameters |=== | Name | Description | *s* | The string to set. |=== == See Also xref:boost/urls/url_base/remove_fragment.adoc[remove_fragment], xref:boost/urls/url_base/set_fragment.adoc[set_fragment]. [.small]#Created with https://www.mrdocs.com[MrDocs]#