| Home | Libraries | People | FAQ | More

###### static_url::static_url (2 of 4 overloads)

Constructor.

###### Synopsis

    static_url(
        core::string_view s);

###### Description

This function constructs a url from the string `s`, which must contain a valid URI or relative-ref or else an exception is thrown. The new url retains ownership by making a copy of the passed string.

###### Example

    static_url< 1024 > u( "https://www.example.com" );

###### Effects

    return static_url( parse_uri_reference( s ).value() );

###### Postconditions

    this->buffer().data() != s.data()

###### Complexity

Linear in `s.size()`.

###### Exception Safety

Exceptions thrown on invalid input.

###### Exceptions

Type | Thrown On
--- | ---
`system_error` | The input does not contain a valid url.

###### Parameters

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

###### BNF

    URI           = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

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

###### Specification

- 4.1. URI Reference