[#boost-urls-url-2constructor-002] = xref:boost/urls/url/2constructor-002.adoc[boost::urls::url::url] :relfileprefix: ../../../ :mrdocs: Constructor == Synopsis Declared in `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/url.hpp#L169[boost/url/url.hpp]>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- explicit 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 allocating a copy of the passed string. == Example [,cpp] ---- url u( "https://www.example.com" ); ---- == Effects [,cpp] ---- return url( parse_uri_reference( s ).value() ); ---- == Postconditions [,cpp] ---- this->buffer().data() != s.data() ---- == Complexity Linear in `s.size()`. == Exception Safety Calls to allocate may throw. Exceptions thrown on invalid input. == BNF [,cpp] ---- URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] relative-ref = relative-part [ "?" query ] [ "#" fragment ] ---- == Specification * https://datatracker.ietf.org/doc/html/rfc3986#section-4.1[] == Exceptions [cols=2] |=== | Name | Thrown on | `system_error` | The input does not contain a valid url. |=== == Parameters [cols=2] |=== | Name | Description | *s* | The string to parse. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#