[#boost-urls-url_view_base-encoded_path]
= xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::xref:boost/urls/url_view_base.adoc[url&lowbar;view&lowbar;base]::encoded&lowbar;path
:relfileprefix: ../../../
:mrdocs:

Return the path

== Synopsis

Declared in `&lt;https://www.github.com/boostorg/url/blob/develop/include/boost/url/url_view_base.hpp#L1799[boost&sol;url&sol;url&lowbar;view&lowbar;base&period;hpp]&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:boost/urls/pct_string_view.adoc[pct&lowbar;string&lowbar;view]
encoded&lowbar;path() const noexcept;
----

== Description

This function returns the path as a string&period; The path may be empty&period; Any percent&hyphen;escapes in the string are decoded first&period;

== Example

[,cpp]
----
assert( url_view( "file:///Program%20Files/Games/config.ini" ).encoded_path() == "/Program%20Files/Games/config.ini" );
----
== Complexity

Constant&period;

== Exception Safety

Throws nothing&period;

== 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<pchar>
----
== Specification

* https://datatracker.ietf.org/doc/html/rfc3986#section-3.3[3&period;3&period; Path (rfc3986)]

== Return Value

The path as a string&period;

== See Also

xref:boost/urls/url_view_base/is_path_absolute.adoc[`is&lowbar;path&lowbar;absolute`], xref:boost/urls/url_view_base/encoded_segments.adoc[`encoded&lowbar;segments`]&period; xref:boost/urls/url_view_base/path.adoc[`path`], xref:boost/urls/url_view_base/segments.adoc[`segments`]&period;


[.small]#Created with https://www.mrdocs.com[MrDocs]#
