parse_uri_reference

Return a reference to a parsed URL string

Synopsis

result<url_view> parse_uri_reference( string_view s);

Declared in file <src/parse.cpp> at line 57

Description

This function parses a string according to the grammar below and returns a view referencing the passed string upon success, else returns an error. Ownership of the string is not transferred; the caller is responsible for ensuring that the lifetime of the character buffer extends until the view is no longer being accessed.

Example

system::result< url_view > = parse_uri_reference( "ws://echo.example.com/?name=boost#demo" );

BNF

URI-reference = URI / relative-ref URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] relative-ref = relative-part [ "?" query ] [ "#" fragment ] hier-part = "//" authority path-abempty / path-absolute / path-rootless / path-empty relative-part = "//" authority path-abempty / path-absolute / path-noscheme / path-abempty / path-empty

Specification

  • 4.1. URI Reference (rfc3986)
  • Errata ID: 5428 (rfc3986)