Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
url_base::set_encoded_path

Set the path.

Synopsis
url_base&
set_encoded_path(
    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.

Remarks

The library may adjust the final result to ensure that no other parts of the url is semantically affected.

Example
[link url.ref.boost__urls__url_base.url `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.

Exceptions

Type

Thrown On

system_error

s contains an invalid percent-encoding.

Parameters

Name

Description

s

The string to set.

BNF
[link url.ref.boost__urls__url_base.path `path`]          = [link url.ref.boost__urls__url_base.path `path`]-abempty    ; begins with "/" or is [link url.ref.boost__urls__url_base.empty `empty`]
              / [link url.ref.boost__urls__url_base.path `path`]-absolute   ; begins with "/" but not "//"
              / [link url.ref.boost__urls__url_base.path `path`]-noscheme   ; begins with a non-colon segment
              / [link url.ref.boost__urls__url_base.path `path`]-rootless   ; begins with a segment
              / [link url.ref.boost__urls__url_base.path `path`]-[link url.ref.boost__urls__url_base.empty `empty`]      ; zero characters

[link url.ref.boost__urls__url_base.path `path`]-abempty  = *( "/" segment )
[link url.ref.boost__urls__url_base.path `path`]-absolute = "/" [ segment-nz *( "/" segment ) ]
[link url.ref.boost__urls__url_base.path `path`]-noscheme = segment-nz-nc *( "/" segment )
[link url.ref.boost__urls__url_base.path `path`]-rootless = segment-nz *( "/" segment )
[link url.ref.boost__urls__url_base.path `path`]-[link url.ref.boost__urls__url_base.empty `empty`]    = 0<pchar>
Specification
See Also

encoded_segments, segments, set_path, set_path_absolute.


PrevUpHomeNext