boost::urls::parse_uri_reference :: Boost Libraries Documentation

# boost::urls::parse_uri_reference

Return a reference to a parsed URL string

## Synopsis

Declared in `<boost/url/parse.hpp>`

    constexpr
    system::result<url_view>
    parse_uri_reference(core::string_view s);

## 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)

## Exceptions

Name | Thrown on
`std::length_error` | `s.size() > url_view::max_size`

## Return Value

A view to the parsed URL

## Parameters

Name | Description
s | The string to parse

## See Also

`parse_absolute_uri`, `parse_origin_form`, `parse_relative_ref`, `parse_uri`, `url_view`.

Created with MrDocs