[#boost-urls-url_base-set_encoded_path] = xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::xref:boost/urls/url_base.adoc[url_base]::set_encoded_path :relfileprefix: ../../../ :mrdocs: Set the path. == Synopsis Declared in `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/url_base.hpp#L1830[boost/url/url_base.hpp]>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:boost/urls/url_base.adoc[url_base]& set_encoded_path(xref:boost/urls/pct_string_view.adoc[pct_string_view] s); ---- == Description This function sets the path to the string, which may contain percent‐escapes and can be empty. Escapes in the string are preserved, and reserved characters in the string are percent‐escaped in the result. [NOTE] The library may adjust the final result to ensure that no other parts of the url is semantically affected. === Example [,cpp] ---- url u( "http://www.example.com" ); u.set_encoded_path( "path/to/file.txt" ); assert( u.encoded_path() == "/path/to/file.txt" ); ---- === Complexity Linear in `this‐>size() + s.size()`. === Exception Safety Strong guarantee. Calls to allocate may throw. Exceptions thrown on invalid input. === BNF [,cpp] ---- path = path-abempty ; begins with "/" or is empty / path-absolute ; begins with "/" but not "//" / path-noscheme ; begins with a non-colon segment / path-rootless ; begins with a segment / path-empty ; zero characters path-abempty = *( "/" segment ) path-absolute = "/" [ segment-nz *( "/" segment ) ] path-noscheme = segment-nz-nc *( "/" segment ) path-rootless = segment-nz *( "/" segment ) path-empty = 0 ---- === Specification * link:https://datatracker.ietf.org/doc/html/rfc3986#section-3.3[3.3. Path (rfc3986)] == 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/encoded_segments-0e5.adoc[encoded_segments], xref:boost/urls/url_base/segments-04.adoc[segments], xref:boost/urls/url_base/set_path.adoc[set_path], xref:boost/urls/url_base/set_path_absolute.adoc[set_path_absolute]. [.small]#Created with https://www.mrdocs.com[MrDocs]#