[#boost-urls-url_base-set_encoded_user] = xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::xref:boost/urls/url_base.adoc[url_base]::set_encoded_user :relfileprefix: ../../../ :mrdocs: Set the user == Synopsis Declared in `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/url_base.hpp#L712[boost/url/url_base.hpp]>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:boost/urls/url_base.adoc[url_base]& set_encoded_user(xref:boost/urls/pct_string_view.adoc[pct_string_view] s); ---- == Description This function sets the user part of the userinfo the the string, which may contain percent‐escapes. Escapes in the string are preserved, and reserved characters in the string are percent‐escaped in the result. === Example [,cpp] ---- assert( url().set_encoded_user("john%20doe").userinfo() == "john doe" ); ---- === Postconditions [,cpp] ---- this->has_authority() == true && this->has_userinfo() == true ---- === Complexity Linear in `this‐>size() + s.size()`. === Exception Safety Strong guarantee. Calls to allocate may throw. === BNF [,cpp] ---- userinfo = [ [ user ] [ ':' password ] ] user = *( unreserved / pct-encoded / sub-delims ) password = *( unreserved / pct-encoded / sub-delims / ":" ) ---- === Specification * link:https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1[ 3.2.1. User Information (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/remove_password.adoc[remove_password], xref:boost/urls/url_base/set_encoded_password.adoc[set_encoded_password], xref:boost/urls/url_base/set_password.adoc[set_password], xref:boost/urls/url_base/set_user.adoc[set_user]. [.small]#Created with https://www.mrdocs.com[MrDocs]#