//
// Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/CPPAllinace/url
//
Correct hyphenation:
Nouns: never hyphenated
1. The percent encoding
2. Each percent escape
Adjectives: hyphenated when the noun comes after
3. Returns a percent-escaped string
4. Removes percent-encoding from the string
Adjectives: not hyphenated when the noun comes before
5. The string `s` must be percent encoded.
6. The string may not be percent escaped.
// https://eel.is/c++draft/structure.specifications#3
/** {brief}
{description}
Any percent-escapes in the string are
decoded first.
The returned string may contain
percent escapes.
Reserved characters in the string are
percent-escaped in the result.
Escapes in the string are preserved,
and reserved characters in the string
are percent-escaped in the result.
The comparison is performed as if all
escaped characters were decoded first.
@note
The interpretation of userinfo as
individual user and password components
is scheme-dependent. Transmitting
passwords in URLs is deprecated.
@par Example
@par Constraints (SFINAE)
@par Mandates (static_assert)
@par Preconditions (assert)
@par Effects
@par Synchronization
@par Postconditions
@par Complexity
@par Exception Safety
Strong guarantee.
Basic guarantee.
Calls to allocate may throw.
Exceptions thrown on invalid input.
@throw system_error
`s` contains an invalid percent-encoding.
@tparam
@return
@param
@par BNF
@par Specification
@li
@see
@ref
*/
//------------------------------------------------
/** {brief}
{description}
@par Example
@code
{example}
// make it short
@endcode
@par Mandates
@par Preconditions
@par Effects
@note {text}
@par Exception Safety
Throws nothing.
Strong guarantee.
Basic guarantee.
No guarantee.
@tparam {name} {description}.
@return {description}.
@param {name} {description}.
@throws {exception} {condition}.
@par Thread Safety
{description}
@par Specification
@li text (rfc#)
@par References
@li text
@see
@ref {refid},
@ref {refid},
@ref {refid}.
*/