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