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