[#0470C741E7F493FF2F77742C90BC93AECBFBF831]

Function url_base:: set_path_absolute

Set if the path is absolute

Synopsis

            bool
set_path_absolute(bool absolute);
        

Description

This function adjusts the path to make it absolute or not, depending on the parameter.

NOTE

If an authority is present, the path is always absolute. In this case, the function has no effect.

Example

url u( "path/to/file.txt" ); assert( u.set_path_absolute( true ) ); assert( u.buffer() == "/path/to/file.txt" );

Postconditions

this->is_path_absolute() == true && this->encoded_path().front() == '/'

Complexity

Linear in `this->size()`.

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

Specification

  • 3.3. Path (rfc3986)