Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
url::segments (1 of 2 overloads)

Return the path as a container of segments.

Synopsis
urls::segments_ref
segments();
Description

This function returns a bidirectional view of segments over the path. The returned view references the same underlying character buffer; ownership is not transferred. Any percent-escapes in strings returned when iterating the view are decoded first. The container is modifiable; changes to the container are reflected in the underlying URL.

Example
[link url.ref.boost__urls__url_base.url `url`] u( "http://example.com/path/to/file.txt" );

[link url.ref.boost__urls__url.segments `segments`] sv = u.segments();
Complexity

Constant.

Exception Safety

Throws nothing.

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

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

encoded_segments, set_encoded_path, set_path, set_path_absolute.


PrevUpHomeNext