| Home | Libraries | People | FAQ | More

##### url_base::path

(Inherited from `url_view_base`)

Return the path.

###### Synopsis

    template<
        class StringToken = string_token::return_string>
    StringToken::result_type
    path(
        StringToken&& token = {}) const;

###### Description

This function returns the path as a string. The path may be empty. Any percent-escapes in the string are decoded first.

###### Example

    assert( url_view( "file:///Program%20Files/Games/config.ini" ).path() == "/Program Files/Games/config.ini" );

###### Complexity

Linear in `this->path().size()`.

###### Exception Safety

Calls to allocate may throw.

###### BNF

    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

- 3.3. Path (rfc3986)

###### See Also

`is_path_absolute`, `encoded_path`, `encoded_segments`. `segments`.