| Home | Libraries | People | FAQ | More

#### parse_relative_ref

Return a reference to a parsed URL string.

##### Synopsis

Defined in header `<boost/url/parse.hpp>`

    system::result< url_view >
    parse_relative_ref(
        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_relative_ref( "images/dot.gif?v=hide#a" );

##### BNF

    relative-ref  = relative-part [ "?" query ] [ "#" fragment ]

    relative-part = "//" authority path-abempty
                  / path-absolute
                  / path-noscheme
                  / path-abempty
                  / path-empty

##### Return Value

A `result` containing a value or an error

##### Parameters

Name | Description
--- | ---
`s` | The string to parse

##### Exceptions

Type | Thrown On
--- | ---
`std::length_error` | `s.size() > url_view::max_size`

##### Specification

- 4.2. Relative Reference (rfc3986)
- Errata ID: 5428 (rfc3986)

##### See Also

`parse_absolute_uri`, `parse_origin_form`, `parse_uri`, `parse_uri_reference`, `url_view`.

Convenience header `<boost/url.hpp>`