This function constructs segments from a valid path string, which can contain percent escapes. Upon construction, the view references the character buffer pointed to by s
. caller is responsible for ensuring that the lifetime of the buffer extends until the view is destroyed.
Example
segments_view ps( "/path/to/file.txt" );
Effects
return parse_path( s ).value();
Postconditions
this->buffer().data() == s.data()
Exception Safety
Exceptions thrown on invalid input.
BNF
path = [ "/" ] [ segment *( "/" segment ) ]
segment = *pchar