<?xml version="1.0" encoding="UTF-8"?>
<mrdocs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:noNamespaceSchemaLocation="https://github.com/cppalliance/mrdocs/raw/develop/mrdocs.rnc">
<namespace id="//////////////////////////8=">
  <namespace name="boost" id="+jO0pmMB/RXahxtatVUYoEwUKWs=">
    <namespace name="urls" id="dnk5XPfR2OaMpCYaH3cWSxcTdyc=">
      <using-directive id="dFhpRnVrPPpdq5ewgStCIemieCE="/>
      <template>
        <tparam class="type"/>
        <struct name="make_void" id="8mcj6K2QdKCsY7usUYZ0wvMIlag=">
          <file path="boost/url/detail/config.hpp" line="138" class="def"/>
          <typedef name="type" id="wM5ZJvpdNIzy77drstJqzNmOfx0=">
            <file path="boost/url/detail/config.hpp" line="138" class="def"/>
            <type name="void"/>
          </typedef>
        </struct>
      </template>
      <template>
        <tparam name="Ts" class="type"/>
        <alias name="void_t" id="8WaxtpDpb+kEVeSx0kpEBL/NRhE=">
          <file path="boost/url/detail/config.hpp" line="139" class="def"/>
          <type name="make_void&lt;Ts...&gt;::type"/>
        </alias>
      </template>
      <struct name="encoding_opts" id="Bb04pNwExynJkzlY9a9GCeeB13k=">
        <file path="boost/url/encoding_opts.hpp" line="31" class="def"/>
        <doc>
          <para>
            <text>Percent-encoding options</text>
          </para>
          <para>
            <text>These options are used to customize</text>
            <text>    the behavior of algorithms which use</text>
            <text>    percent escapes, such as encoding</text>
            <text>    or decoding.</text>
          </para>
          <see>
            <reference id="QFVACvvXYpvLaEockXLrw3Ob91A=">encode</reference>
            <text>,</text>
            <reference id="Xq8kBc9a/F5Bpmn1q4OszstzJ4g=">encoded_size</reference>
            <text>,</text>
            <reference id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=">pct_string_view</reference>
            <text>.</text>
          </see>
        </doc>
        <field name="space_as_plus" id="pzxkqgCIpSWae1U9TUQWUjO2iqE=" default="false">
          <file path="boost/url/encoding_opts.hpp" line="48" class="def"/>
          <type name="bool"/>
          <doc>
            <para>
              <text>True if spaces encode to and from plus signs</text>
            </para>
            <para>
              <text>This option controls whether or not</text>
              <text>        the PLUS character (&quot;+&quot;) is used to</text>
              <text>        represent the SP character (&quot; &quot;) when</text>
              <text>        encoding or decoding.</text>
              <text>        Although not prescribed by the RFC, plus</text>
              <text>        signs are commonly treated as spaces upon</text>
              <text>        decoding when used in the query of URLs</text>
              <text>        using well known schemes such as HTTP.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1">            application/x-www-form-urlencoded (w3.org)</link>
            </listitem>
          </doc>
        </field>
        <field name="lower_case" id="daFUEqcxAu4wd2geA6ibb6XUilg=" default="false">
          <file path="boost/url/encoding_opts.hpp" line="57" class="def"/>
          <type name="bool"/>
          <doc>
            <para>
              <text>True if hexadecimal digits are emitted as lower case</text>
            </para>
            <para>
              <text>By default, percent-encoding algorithms</text>
              <text>        emit hexadecimal digits A through F as</text>
              <text>        uppercase letters. When this option is</text>
              <text>        `true`, lowercase letters are used.</text>
            </para>
          </doc>
        </field>
        <field name="disallow_null" id="W8lLIQ0OxCY0KjdFXSivr+lwjnQ=" default="false">
          <file path="boost/url/encoding_opts.hpp" line="68" class="def"/>
          <type name="bool"/>
          <doc>
            <para>
              <text>True if nulls are not allowed</text>
            </para>
            <para>
              <text>Normally all possible character values</text>
              <text>        (from 0 to 255) are allowed, with reserved</text>
              <text>        characters being replaced with escapes</text>
              <text>        upon encoding. When this option is true,</text>
              <text>        attempting to decode a null will result</text>
              <text>        in an error.</text>
            </para>
          </doc>
        </field>
        <function class="constructor" name="encoding_opts" exception-spec="noexcept" id="2VvdPVwN/ooLfPHJMJ6u2y7wrd8=">
          <file path="boost/url/encoding_opts.hpp" line="71"/>
          <param name="space_as_plus_" default="false">
            <type name="bool"/>
          </param>
          <param name="lower_case_" default="false">
            <type name="bool"/>
          </param>
          <param name="disallow_null_" default="false">
            <type name="bool"/>
          </param>
        </function>
      </struct>
      <namespace name="error_types" id="dFhpRnVrPPpdq5ewgStCIemieCE=">
        <alias name="error_category" id="RuTgDILNiOM1qWodZIqh3i+ojjs=">
          <file path="boost/url/error_types.hpp" line="43" class="def"/>
          <type name="boost::system::error_category"/>
          <doc>
            <para>
              <text>The type of error category used by the library</text>
            </para>
            <para class="warning">
              <text>This alias is no longer supported and</text>
              <text>    should not be used in new code. Please use</text>
              <text>    `system::error_category` instead.</text>
            </para>
            <para>
              <text>This alias is included for backwards</text>
              <text>    compatibility with earlier versions of the</text>
              <text>    library.</text>
            </para>
            <para>
              <text>However, it will be removed in future releases,</text>
              <text>    and using it in new code is not recommended.</text>
            </para>
            <para>
              <text>Please use the updated version instead to</text>
              <text>    ensure compatibility with future versions of</text>
              <text>    the library.</text>
            </para>
          </doc>
        </alias>
        <alias name="error_code" id="yqrUKgPOvS84EWFL529N0kb/HDU=">
          <file path="boost/url/error_types.hpp" line="65" class="def"/>
          <type name="boost::system::error_code"/>
          <doc>
            <para>
              <text>The type of error code used by the library</text>
            </para>
            <para class="warning">
              <text>This alias is no longer supported and</text>
              <text>    should not be used in new code. Please use</text>
              <text>    `system::error_code` instead.</text>
            </para>
            <para>
              <text>This alias is included for backwards</text>
              <text>    compatibility with earlier versions of the</text>
              <text>    library.</text>
            </para>
            <para>
              <text>However, it will be removed in future releases,</text>
              <text>    and using it in new code is not recommended.</text>
            </para>
            <para>
              <text>Please use the updated version instead to</text>
              <text>    ensure compatibility with future versions of</text>
              <text>    the library.</text>
            </para>
          </doc>
        </alias>
        <alias name="error_condition" id="qI57jEGO0MVlJexMJPKj6/Bs5FM=">
          <file path="boost/url/error_types.hpp" line="87" class="def"/>
          <type name="boost::system::error_condition"/>
          <doc>
            <para>
              <text>The type of error condition used by the library</text>
            </para>
            <para class="warning">
              <text>This alias is no longer supported and</text>
              <text>    should not be used in new code. Please use</text>
              <text>    `system::error_condition` instead.</text>
            </para>
            <para>
              <text>This alias is included for backwards</text>
              <text>    compatibility with earlier versions of the</text>
              <text>    library.</text>
            </para>
            <para>
              <text>However, it will be removed in future releases,</text>
              <text>    and using it in new code is not recommended.</text>
            </para>
            <para>
              <text>Please use the updated version instead to</text>
              <text>    ensure compatibility with future versions of</text>
              <text>    the library.</text>
            </para>
          </doc>
        </alias>
        <alias name="system_error" id="THGORlBSfx7zCN79rsiin41X6hE=">
          <file path="boost/url/error_types.hpp" line="109" class="def"/>
          <type name="boost::system::system_error"/>
          <doc>
            <para>
              <text>The type of system error thrown by the library</text>
            </para>
            <para class="warning">
              <text>This alias is no longer supported and</text>
              <text>    should not be used in new code. Please use</text>
              <text>    `system::system_error` instead.</text>
            </para>
            <para>
              <text>This alias is included for backwards</text>
              <text>    compatibility with earlier versions of the</text>
              <text>    library.</text>
            </para>
            <para>
              <text>However, it will be removed in future releases,</text>
              <text>    and using it in new code is not recommended.</text>
            </para>
            <para>
              <text>Please use the updated version instead to</text>
              <text>    ensure compatibility with future versions of</text>
              <text>    the library.</text>
            </para>
          </doc>
        </alias>
        <using id="1VpRAua/ImyxIw/Sv4H7RHpffcQ=" class="using" qualifier="boost::system">
          <file path="boost/url/error_types.hpp" line="134" class="def"/>
        </using>
        <using id="fu9ui8aa6jfmb5DOCLF4dVB+LCg=" class="using" qualifier="boost::system">
          <file path="boost/url/error_types.hpp" line="158" class="def"/>
        </using>
        <alias name="errc" id="uT4AHZWwz1y2PxO9wFdu8NHmv9U=">
          <file path="boost/url/error_types.hpp" line="185" class="def"/>
          <aliased name="boost::system::errc"/>
        </alias>
        <template>
          <tparam name="T" class="type"/>
          <alias name="result" id="bjSUKhX+n1GPEPg5Jloenh4Xi9A=">
            <file path="boost/url/error_types.hpp" line="280" class="def"/>
            <type name="boost::system::result&lt;T, system::error_code&gt;"/>
            <doc>
              <para>
                <text>The type of result returned by library functions</text>
              </para>
              <para class="warning">
                <text>This alias is no longer supported and</text>
                <text>    should not be used in new code. Please use</text>
                <text>    `system::result` instead.</text>
              </para>
              <para>
                <text>This alias is included for backwards</text>
                <text>    compatibility with earlier versions of the</text>
                <text>    library.</text>
              </para>
              <para>
                <text>However, it will be removed in future releases,</text>
                <text>    and using it in new code is not recommended.</text>
              </para>
              <para>
                <text>Please use the updated version instead to</text>
                <text>    ensure compatibility with future versions of</text>
                <text>    the library.</text>
              </para>
              <details>
                <text>This is an alias template used as the return type</text>
                <text>    for functions that can either return a container,</text>
                <text>    or fail with an error code. This is a brief</text>
                <text>    synopsis of the type:</text>
              </details>
              <head>Declaration</head>
              <code>
                <text>    template&lt; class T &gt;</text>
                <text>    class result</text>
                <text>    {</text>
                <text>    public:</text>
                <text>        //</text>
                <text>        // Return true if the result contains an error</text>
                <text>        //</text>
                <text>        constexpr bool has_error() const noexcept;</text>
                <text></text>
                <text>        //</text>
                <text>        // Return the error</text>
                <text>        //</text>
                <text>        constexpr system::error_code error() const noexcept;</text>
                <text></text>
                <text>        //</text>
                <text>        // Return true if the result contains a value</text>
                <text>        //</text>
                <text>        constexpr bool has_value() const noexcept;</text>
                <text>        constexpr explicit operator bool() const noexcept;</text>
                <text></text>
                <text>        //</text>
                <text>        // Return the value, or throw an exception</text>
                <text>        //</text>
                <text>        constexpr T&amp; value();</text>
                <text>        constexpr T const&amp; value() const;</text>
                <text></text>
                <text>        // Return the value.</text>
                <text>        // Precondition: has_value()==true</text>
                <text>        //</text>
                <text>        constexpr T&amp; operator*() noexcept;</text>
                <text>        constexpr T* operator-&gt;() noexcept;</text>
                <text>        constexpr T const&amp; operator*() const noexcept;</text>
                <text>        constexpr T const* operator-&gt;() const noexcept;</text>
                <text></text>
                <text>        ...more</text>
              </code>
              <head>Usage</head>
              <para>
                <text>    Given the function</text>
                <reference id="f+9kR517VGSM5ZPoS7g/RFb0g/0=">parse_uri</reference>
                <text> with this signature:</text>
              </para>
              <code>
                <text>    system::result&lt; url_view &gt; parse_uri( core::string_view s ) noexcept;</text>
              </code>
              <para>
                <text>The following statement captures the value in a</text>
                <text>    variable upon success, otherwise throws:</text>
              </para>
              <code>
                <text>    url_view u = parse_uri( &quot;http://example.com/path/to/file.txt&quot; ).value();</text>
              </code>
              <para>
                <text>This statement captures the result in a local</text>
                <text>    variable and inspects the error condition:</text>
              </para>
              <code>
                <text>    system::result&lt; url_view &gt; rv = parse_uri( &quot;http://example.com/path/to/file.txt&quot; );</text>
                <text></text>
                <text>    if(! rv )</text>
                <text>        std::cout &lt;&lt; rv.error();</text>
                <text>    else</text>
                <text>        std::cout &lt;&lt; *rv;</text>
              </code>
              <tparam name="T">
                <text>The type of value held by the result.</text>
              </tparam>
              <see>
              </see>
              <listitem>
                <link href="https://boost.org/libs/system/doc/html/system.html#ref_resultt_e">`boost::system::result`</link>
              </listitem>
            </doc>
          </alias>
        </template>
      </namespace>
      <namespace name="string_token" id="MOmWJXtSzgLTSr4XFeqs4WKGaYg=">
        <struct name="arg" id="/Ms5TE7Usr0vyzWIpbiWwwjHmsQ=">
          <file path="boost/url/grammar/string_token.hpp" line="49" class="def"/>
          <doc>
            <para>
              <text>Base class for string tokens, and algorithm parameters</text>
            </para>
            <para>
              <text>This abstract interface provides a means</text>
              <text>    for an algorithm to generically obtain a</text>
              <text>    modifiable, contiguous character buffer</text>
              <text>    of prescribed size. As the author of an</text>
              <text>    algorithm simply declare an rvalue</text>
              <text>    reference as a parameter type.</text>
            </para>
            <para>
              <text></text>
            </para>
            <para>
              <text>Instances of this type are intended only</text>
              <text>    to be used once and then destroyed.</text>
            </para>
            <head>Example</head>
            <para>
              <text>    The declared function accepts any</text>
              <text>    temporary instance of `arg` to be</text>
              <text>    used for writing:</text>
            </para>
            <code>
              <text>    void algorithm( string_token::arg&amp;&amp; dest );</text>
            </code>
            <para>
              <text>To implement the interface for your type</text>
              <text>    or use-case, derive from the class and</text>
              <text>    implement the prepare function.</text>
            </para>
          </doc>
          <function name="prepare" id="xQSGtCyEyObIGl1DVrkpHN8POo8=">
            <file path="boost/url/grammar/string_token.hpp" line="68"/>
            <attr id="is-virtual-as-written"/>
            <attr id="is-pure"/>
            <return>
              <type class="pointer">
                <pointee-type name="char"/>
              </type>
            </return>
            <param name="n">
              <type name="std::size_t"/>
            </param>
            <doc>
              <para>
                <text>Return a modifiable character buffer</text>
              </para>
              <para>
                <text>This function attempts to obtain a</text>
                <text>        character buffer with space for at</text>
                <text>        least `n` characters. Upon success,</text>
                <text>        a pointer to the beginning of the</text>
                <text>        buffer is returned. Ownership is not</text>
                <text>        transferred; the caller should not</text>
                <text>        attempt to free the storage. The</text>
                <text>        buffer shall remain valid until</text>
                <text>        `this` is destroyed.</text>
              </para>
              <para class="note">
                <text>This function may only be called once.</text>
                <text>        After invoking the function, the only</text>
                <text>        valid operation is destruction.</text>
              </para>
            </doc>
          </function>
          <function class="destructor" name="~arg" id="zSRqibM9SncGIoNN6BiVsHpXjRE=">
            <file path="boost/url/grammar/string_token.hpp" line="71" class="def"/>
            <attr id="is-virtual-as-written"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
          </function>
          <function class="constructor" name="arg" id="Eqc3G+vU4onpogKjNx2FnzVWVRY=">
            <file path="boost/url/grammar/string_token.hpp" line="72" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
          </function>
          <function class="constructor" name="arg" id="z4BOjAdOsfR07Q4W2YMFvpLJp64=">
            <file path="boost/url/grammar/string_token.hpp" line="73" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <param>
              <type class="rvalue-reference">
                <pointee-type id="/Ms5TE7Usr0vyzWIpbiWwwjHmsQ=" name="arg"/>
              </type>
            </param>
          </function>
          <function class="constructor" name="arg" id="UWs4u9jWkIa48I4XPUfUExqrKaY=">
            <file path="boost/url/grammar/string_token.hpp" line="74" class="def"/>
            <attr id="is-deleted"/>
            <attr id="is-deleted-as-written"/>
            <param>
              <type class="lvalue-reference">
                <pointee-type id="/Ms5TE7Usr0vyzWIpbiWwwjHmsQ=" name="arg" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="operator=" id="8yIy2NSmgVSsLpNu9up2hjpSZJA=">
            <file path="boost/url/grammar/string_token.hpp" line="75" class="def"/>
            <attr id="is-deleted"/>
            <attr id="is-deleted-as-written"/>
            <attr id="operator" name="assign" value="15"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="/Ms5TE7Usr0vyzWIpbiWwwjHmsQ=" name="arg"/>
              </type>
            </return>
            <param>
              <type class="rvalue-reference">
                <pointee-type id="/Ms5TE7Usr0vyzWIpbiWwwjHmsQ=" name="arg"/>
              </type>
            </param>
          </function>
          <function name="operator=" id="FW5efXSRGX7IqtbPH7xSoVbGoZo=">
            <file path="boost/url/grammar/string_token.hpp" line="76" class="def"/>
            <attr id="is-deleted"/>
            <attr id="is-deleted-as-written"/>
            <attr id="operator" name="assign" value="15"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="/Ms5TE7Usr0vyzWIpbiWwwjHmsQ=" name="arg"/>
              </type>
            </return>
            <param>
              <type class="lvalue-reference">
                <pointee-type id="/Ms5TE7Usr0vyzWIpbiWwwjHmsQ=" name="arg" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </struct>
        <template>
          <tparam name="T" class="type"/>
          <tparam class="type" default="void"/>
          <struct name="is_token" id="q2cb4qI0a4uujb+mXTMD0/brA1w=">
            <file path="boost/url/grammar/string_token.hpp" line="88" class="def"/>
            <base>
              <type name="std::false_type"/>
            </base>
          </struct>
        </template>
        <template class="partial" id="q2cb4qI0a4uujb+mXTMD0/brA1w=">
          <tparam name="T" class="type"/>
          <targ class="type" type="T"/>
          <targ class="type" type="void_t&lt;decltype(std::declval&lt;T&amp;&gt;().prepare(
        std::declval&lt;std::size_t&gt;())), decltype(std::declval&lt;T&amp;&gt;().result())&gt;"/>
          <struct name="is_token" id="vtlZ+2ysTrWzQDfB5Ub2waEsEKM=">
            <file path="boost/url/grammar/string_token.hpp" line="91" class="def"/>
            <base>
              <type name="std::integral_constant&lt;bool, std::is_convertible&lt;decltype(std::declval&lt;T &amp;&gt;().result()), typename T::result_type&gt;::value &amp;&amp; std::is_same&lt;decltype(std::declval&lt;T &amp;&gt;().prepare(0)), char *&gt;::value &amp;&amp; std::is_base_of&lt;arg, T&gt;::value &amp;&amp; std::is_convertible&lt;const volatile T *, const volatile arg *&gt;::value&gt;"/>
            </base>
          </struct>
        </template>
        <struct name="return_string" id="GWBKUkbD4IrRJar4y/nirsWA6jM=">
          <file path="boost/url/grammar/string_token.hpp" line="117" class="def"/>
          <base>
            <type id="/Ms5TE7Usr0vyzWIpbiWwwjHmsQ=" name="arg"/>
          </base>
          <alias name="result_type" id="b+XKCy3rTwHM/W0tA00gkgcAo7Q=">
            <file path="boost/url/grammar/string_token.hpp" line="120" class="def"/>
            <type name="std::string"/>
          </alias>
          <function name="prepare" id="lmhFlTHfS/jf3pkM1AitpggFn9M=">
            <file path="boost/url/grammar/string_token.hpp" line="122" class="def"/>
            <attr id="has-override"/>
            <return>
              <type class="pointer">
                <pointee-type name="char"/>
              </type>
            </return>
            <param name="n">
              <type name="std::size_t"/>
            </param>
          </function>
          <function name="result" exception-spec="noexcept" id="oDuGZNCb1yNzUtGG4UUttpFt1wo=">
            <file path="boost/url/grammar/string_token.hpp" line="129" class="def"/>
            <return>
              <type id="b+XKCy3rTwHM/W0tA00gkgcAo7Q=" name="result_type"/>
            </return>
          </function>
        </struct>
        <template>
          <tparam name="Alloc" class="type"/>
          <struct name="append_to_t" id="Y8rHh63l3EDkeXPQ8yI2/oSpF3k=">
            <file path="boost/url/grammar/string_token.hpp" line="156" class="def"/>
            <base>
              <type id="/Ms5TE7Usr0vyzWIpbiWwwjHmsQ=" name="arg"/>
            </base>
            <alias name="string_type" id="o1P6J9FniBdHAZCcS24IY6eh7sM=">
              <file path="boost/url/grammar/string_token.hpp" line="159" class="def"/>
              <type name="std::basic_string&lt;char, std::char_traits&lt;char&gt;, Alloc&gt;"/>
            </alias>
            <alias name="result_type" id="68XZ+7lIOqdlaK9+9gB4k2hlI6o=">
              <file path="boost/url/grammar/string_token.hpp" line="163" class="def"/>
              <type class="lvalue-reference">
                <pointee-type id="o1P6J9FniBdHAZCcS24IY6eh7sM=" name="string_type"/>
              </type>
            </alias>
            <function class="constructor" name="append_to_t" exception-spec="noexcept" explicit-spec="explicit" id="9NN+zvVVUJFGzYPg2FuZbnv7FR8=">
              <file path="boost/url/grammar/string_token.hpp" line="165" class="def"/>
              <param name="s">
                <type class="lvalue-reference">
                  <pointee-type id="o1P6J9FniBdHAZCcS24IY6eh7sM=" name="string_type"/>
                </type>
              </param>
            </function>
            <function name="prepare" id="JBna0FzrvFD0Uj38mwnvIBfapIA=">
              <file path="boost/url/grammar/string_token.hpp" line="172" class="def"/>
              <attr id="has-override"/>
              <return>
                <type class="pointer">
                  <pointee-type name="char"/>
                </type>
              </return>
              <param name="n">
                <type name="std::size_t"/>
              </param>
            </function>
            <function name="result" exception-spec="noexcept" id="I4WkFbXoVsBUdyZK6DMtrxnLeKE=">
              <file path="boost/url/grammar/string_token.hpp" line="182" class="def"/>
              <return>
                <type id="68XZ+7lIOqdlaK9+9gB4k2hlI6o=" name="result_type"/>
              </return>
            </function>
          </struct>
        </template>
        <template>
          <tparam name="Alloc" class="type" default="std::allocator&lt;char&gt;"/>
          <function name="append_to" id="1mQytHu+SpgHbxaTL/UqzV8WfHA=">
            <file path="boost/url/grammar/string_token.hpp" line="195" class="def"/>
            <return>
              <type id="Y8rHh63l3EDkeXPQ8yI2/oSpF3k=" name="append_to_t&lt;Alloc&gt;"/>
            </return>
            <param name="s">
              <type class="lvalue-reference">
                <pointee-type name="std::basic_string&lt;char, std::char_traits&lt;char&gt;, Alloc&gt;"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="Alloc" class="type"/>
          <struct name="assign_to_t" id="yoO0gCxLFWBBlIvpBjeczAkJsFI=">
            <file path="boost/url/grammar/string_token.hpp" line="222" class="def"/>
            <base>
              <type id="/Ms5TE7Usr0vyzWIpbiWwwjHmsQ=" name="arg"/>
            </base>
            <alias name="string_type" id="o1scrBimjlUUZ5wgHTSVDyEnvcY=">
              <file path="boost/url/grammar/string_token.hpp" line="225" class="def"/>
              <type name="std::basic_string&lt;char, std::char_traits&lt;char&gt;, Alloc&gt;"/>
            </alias>
            <alias name="result_type" id="Jox4wa8vLDUJC2YBmiNonuBhJ6k=">
              <file path="boost/url/grammar/string_token.hpp" line="229" class="def"/>
              <type class="lvalue-reference">
                <pointee-type id="o1scrBimjlUUZ5wgHTSVDyEnvcY=" name="string_type"/>
              </type>
            </alias>
            <function class="constructor" name="assign_to_t" exception-spec="noexcept" explicit-spec="explicit" id="yHPw5ZOZ6uxctR8e1AQ6zOuMeBw=">
              <file path="boost/url/grammar/string_token.hpp" line="231" class="def"/>
              <param name="s">
                <type class="lvalue-reference">
                  <pointee-type id="o1scrBimjlUUZ5wgHTSVDyEnvcY=" name="string_type"/>
                </type>
              </param>
            </function>
            <function name="prepare" id="gW0v4NXzCv/An25iu5T2wX2XVjg=">
              <file path="boost/url/grammar/string_token.hpp" line="238" class="def"/>
              <attr id="has-override"/>
              <return>
                <type class="pointer">
                  <pointee-type name="char"/>
                </type>
              </return>
              <param name="n">
                <type name="std::size_t"/>
              </param>
            </function>
            <function name="result" exception-spec="noexcept" id="e5qCuztJbShfHnficMoS0cGC4/g=">
              <file path="boost/url/grammar/string_token.hpp" line="245" class="def"/>
              <return>
                <type id="Jox4wa8vLDUJC2YBmiNonuBhJ6k=" name="result_type"/>
              </return>
            </function>
          </struct>
        </template>
        <template>
          <tparam name="Alloc" class="type" default="std::allocator&lt;char&gt;"/>
          <function name="assign_to" id="AWVy1MrUx7yhdbxhXr8Xu9cf0O4=">
            <file path="boost/url/grammar/string_token.hpp" line="258" class="def"/>
            <return>
              <type id="yoO0gCxLFWBBlIvpBjeczAkJsFI=" name="assign_to_t&lt;Alloc&gt;"/>
            </return>
            <param name="s">
              <type class="lvalue-reference">
                <pointee-type name="std::basic_string&lt;char, std::char_traits&lt;char&gt;, Alloc&gt;"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="Alloc" class="type"/>
          <struct name="preserve_size_t" id="1x1mbyqf9wZWE1SfFIfqzJFWr10=">
            <file path="boost/url/grammar/string_token.hpp" line="285" class="def"/>
            <base>
              <type id="/Ms5TE7Usr0vyzWIpbiWwwjHmsQ=" name="arg"/>
            </base>
            <alias name="result_type" id="KIxzOLGVNHOHol552P2LD7Bgncg=">
              <file path="boost/url/grammar/string_token.hpp" line="288" class="def"/>
              <type name="core::string_view"/>
            </alias>
            <alias name="string_type" id="QLZZp1wuDFDXzggfvo4IGNUMSaw=">
              <file path="boost/url/grammar/string_token.hpp" line="290" class="def"/>
              <type name="std::basic_string&lt;char, std::char_traits&lt;char&gt;, Alloc&gt;"/>
            </alias>
            <function class="constructor" name="preserve_size_t" exception-spec="noexcept" explicit-spec="explicit" id="7uj0z3/2bET6EAP1b6Xk2VFw3Ss=">
              <file path="boost/url/grammar/string_token.hpp" line="294" class="def"/>
              <param name="s">
                <type class="lvalue-reference">
                  <pointee-type id="QLZZp1wuDFDXzggfvo4IGNUMSaw=" name="string_type"/>
                </type>
              </param>
            </function>
            <function name="prepare" id="KIUVOMc+6geubQ3XvAZTwqSU0LQ=">
              <file path="boost/url/grammar/string_token.hpp" line="301" class="def"/>
              <attr id="has-override"/>
              <return>
                <type class="pointer">
                  <pointee-type name="char"/>
                </type>
              </return>
              <param name="n">
                <type name="std::size_t"/>
              </param>
            </function>
            <function name="result" exception-spec="noexcept" id="tHSeEcE/ZwFxxdH4AVdw2/X30bs=">
              <file path="boost/url/grammar/string_token.hpp" line="312" class="def"/>
              <return>
                <type id="KIxzOLGVNHOHol552P2LD7Bgncg=" name="result_type"/>
              </return>
            </function>
          </struct>
        </template>
        <template>
          <tparam name="Alloc" class="type" default="std::allocator&lt;char&gt;"/>
          <function name="preserve_size" id="noaGMlEtu7nVh0nqnkk6AlLQReI=">
            <file path="boost/url/grammar/string_token.hpp" line="327" class="def"/>
            <return>
              <type id="1x1mbyqf9wZWE1SfFIfqzJFWr10=" name="preserve_size_t&lt;Alloc&gt;"/>
            </return>
            <param name="s">
              <type class="lvalue-reference">
                <pointee-type name="std::basic_string&lt;char, std::char_traits&lt;char&gt;, Alloc&gt;"/>
              </type>
            </param>
          </function>
        </template>
      </namespace>
      <namespace name="grammar" id="1HiiaUSr2qeoadbVYr8/BZxU47k=">
        <alias name="string_token" id="9V9OWFKGAdzyoTAl2TNIxHn9M/Y=">
          <file path="boost/url/grammar/string_token.hpp" line="341" class="def"/>
          <aliased name="boost::urls::string_token" id="MOmWJXtSzgLTSr4XFeqs4WKGaYg="/>
        </alias>
        <class name="string_view_base" id="Y1nkEDuKr1UIyB9Ya2bXvHYVwIY=">
          <file path="boost/url/grammar/string_view_base.hpp" line="36" class="def"/>
          <doc>
            <para>
              <text>Common functionality for string views</text>
            </para>
            <para>
              <text>This base class is used to provide common</text>
              <text>    member functions for reference types that</text>
              <text>    behave like string views. This cannot be</text>
              <text>    instantiated directly; Instead, derive</text>
              <text>    from the type and provide constructors</text>
              <text>    which offer any desired preconditions</text>
              <text>    and invariants.</text>
            </para>
          </doc>
          <typedef name="traits_type" id="+tfZtqIc5gHEEmeC/8lIgJYq4fI=">
            <file path="boost/url/grammar/string_view_base.hpp" line="87" class="def"/>
            <type name="std::char_traits&lt;char&gt;"/>
            <doc>
              <para>
                <text>The character traits</text>
              </para>
            </doc>
          </typedef>
          <typedef name="value_type" id="b0aWgwrT3AK3/HLk/RWi8rRkN5s=">
            <file path="boost/url/grammar/string_view_base.hpp" line="89" class="def"/>
            <type name="char"/>
            <doc>
              <para>
                <text>The value type</text>
              </para>
            </doc>
          </typedef>
          <typedef name="pointer" id="gbVUBvZPpjoSvvOZqK1W2zhI5AQ=">
            <file path="boost/url/grammar/string_view_base.hpp" line="91" class="def"/>
            <type class="pointer">
              <pointee-type name="char"/>
            </type>
            <doc>
              <para>
                <text>The pointer type</text>
              </para>
            </doc>
          </typedef>
          <typedef name="const_pointer" id="RPNsNnoyHwmywxuPxn4syH3bXek=">
            <file path="boost/url/grammar/string_view_base.hpp" line="93" class="def"/>
            <type class="pointer">
              <pointee-type name="char" cv-qualifiers="const"/>
            </type>
            <doc>
              <para>
                <text>The const pointer type</text>
              </para>
            </doc>
          </typedef>
          <typedef name="reference" id="2BMU5wYwVuaXlVqUpJvke+7MMCM=">
            <file path="boost/url/grammar/string_view_base.hpp" line="95" class="def"/>
            <type class="lvalue-reference">
              <pointee-type name="char"/>
            </type>
            <doc>
              <para>
                <text>The reference type</text>
              </para>
            </doc>
          </typedef>
          <typedef name="const_reference" id="foZNP6eKrZGgZPs/IKbd+dOnIuM=">
            <file path="boost/url/grammar/string_view_base.hpp" line="97" class="def"/>
            <type class="lvalue-reference">
              <pointee-type name="char" cv-qualifiers="const"/>
            </type>
            <doc>
              <para>
                <text>The const reference type</text>
              </para>
            </doc>
          </typedef>
          <typedef name="const_iterator" id="M9nrRq55PVZTWigkof7hlGqhSQs=">
            <file path="boost/url/grammar/string_view_base.hpp" line="99" class="def"/>
            <type class="pointer">
              <pointee-type name="char" cv-qualifiers="const"/>
            </type>
            <doc>
              <para>
                <text>The const iterator type</text>
              </para>
            </doc>
          </typedef>
          <typedef name="iterator" id="v2Dep12IPAm8omMGyr9KHifBXH4=">
            <file path="boost/url/grammar/string_view_base.hpp" line="101" class="def"/>
            <type id="M9nrRq55PVZTWigkof7hlGqhSQs=" name="const_iterator"/>
            <doc>
              <para>
                <text>The iterator type</text>
              </para>
            </doc>
          </typedef>
          <typedef name="const_reverse_iterator" id="cmB6LiOLkFK4MPA38l8T4GLupFw=">
            <file path="boost/url/grammar/string_view_base.hpp" line="103" class="def"/>
            <type name="std::reverse_iterator&lt;const_iterator&gt;"/>
            <doc>
              <para>
                <text>The const reverse iterator type</text>
              </para>
            </doc>
          </typedef>
          <typedef name="reverse_iterator" id="14arRDIBq/YgI13qmWwvuybUAb4=">
            <file path="boost/url/grammar/string_view_base.hpp" line="106" class="def"/>
            <type id="cmB6LiOLkFK4MPA38l8T4GLupFw=" name="const_reverse_iterator"/>
            <doc>
              <para>
                <text>The reverse iterator type</text>
              </para>
            </doc>
          </typedef>
          <typedef name="size_type" id="aECoDgZjoIcUl2uioc0rf6uRMMc=">
            <file path="boost/url/grammar/string_view_base.hpp" line="108" class="def"/>
            <type name="std::size_t"/>
            <doc>
              <para>
                <text>The size type</text>
              </para>
            </doc>
          </typedef>
          <typedef name="difference_type" id="dmpIlMstDzpGYMTB6B+hurB+mqI=">
            <file path="boost/url/grammar/string_view_base.hpp" line="110" class="def"/>
            <type name="std::ptrdiff_t"/>
            <doc>
              <para>
                <text>The difference type</text>
              </para>
            </doc>
          </typedef>
          <variable name="npos" id="axqsst2fEEr0KskCuLNS6wtH26E=">
            <file path="boost/url/grammar/string_view_base.hpp" line="113" class="def"/>
            <attr id="storage-class" name="static" value="2"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <type name="std::size_t" cv-qualifiers="const"/>
            <doc>
              <para>
                <text>A constant used to represent &quot;no position&quot;</text>
              </para>
            </doc>
          </variable>
          <function class="conversion" name="operator core::string_view" exception-spec="noexcept" id="6BCCiqqFBnxfN5d9Ki/oUcu88Ic=">
            <file path="boost/url/grammar/string_view_base.hpp" line="119" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="core::string_view"/>
            </return>
            <doc>
              <para>
                <text>Conversion</text>
              </para>
            </doc>
          </function>
          <function class="conversion" name="operator std::string" exception-spec="noexcept" explicit-spec="explicit" id="bRcyVQ6ZJghIfxH913mNeaUsZuo=">
            <file path="boost/url/grammar/string_view_base.hpp" line="142" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="std::string"/>
            </return>
            <doc>
              <para>
                <text>Conversion</text>
              </para>
              <para>
                <text>Conversion to std::string is explicit</text>
                <text>        because assigning to string using an</text>
                <text>        implicit constructor does not preserve</text>
                <text>        capacity.</text>
              </para>
            </doc>
          </function>
          <function name="begin" exception-spec="noexcept" id="EZ1FqJVEv6ucG/n1Wsn17g4MDuU=">
            <file path="boost/url/grammar/string_view_base.hpp" line="157" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="M9nrRq55PVZTWigkof7hlGqhSQs=" name="const_iterator"/>
            </return>
            <doc>
              <para>
                <text>Return an iterator to the beginning</text>
              </para>
              <para>
                <text>See `core::string_view::begin`</text>
              </para>
            </doc>
          </function>
          <function name="end" exception-spec="noexcept" id="lnRLWv5zOOX26+6Kh57i38FcfZk=">
            <file path="boost/url/grammar/string_view_base.hpp" line="166" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="M9nrRq55PVZTWigkof7hlGqhSQs=" name="const_iterator"/>
            </return>
            <doc>
              <para>
                <text>Return an iterator to the end</text>
              </para>
              <para>
                <text>See `core::string_view::end`</text>
              </para>
            </doc>
          </function>
          <function name="cbegin" exception-spec="noexcept" id="xhLRk2Z+3lJ0NKV/ZzG0ObdE4Vc=">
            <file path="boost/url/grammar/string_view_base.hpp" line="175" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="M9nrRq55PVZTWigkof7hlGqhSQs=" name="const_iterator"/>
            </return>
            <doc>
              <para>
                <text>Return an iterator to the beginning</text>
              </para>
              <para>
                <text>See `core::string_view::cbegin`</text>
              </para>
            </doc>
          </function>
          <function name="cend" exception-spec="noexcept" id="Rx+0KJ+TNUnikAkigK/WTETroXU=">
            <file path="boost/url/grammar/string_view_base.hpp" line="184" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="M9nrRq55PVZTWigkof7hlGqhSQs=" name="const_iterator"/>
            </return>
            <doc>
              <para>
                <text>Return an iterator to the end</text>
              </para>
              <para>
                <text>See `core::string_view::cend`</text>
              </para>
            </doc>
          </function>
          <function name="rbegin" exception-spec="noexcept" id="L0f4ee/wt58Mb/deFLDyLlyfVGY=">
            <file path="boost/url/grammar/string_view_base.hpp" line="194" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="cmB6LiOLkFK4MPA38l8T4GLupFw=" name="const_reverse_iterator"/>
            </return>
          </function>
          <function name="rend" exception-spec="noexcept" id="RdDaHzncr8vavW/PrNUWQxSXPY4=">
            <file path="boost/url/grammar/string_view_base.hpp" line="206" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="cmB6LiOLkFK4MPA38l8T4GLupFw=" name="const_reverse_iterator"/>
            </return>
          </function>
          <function name="crbegin" exception-spec="noexcept" id="xeK5f2DKhD4FxCGyXOyhullgYmo=">
            <file path="boost/url/grammar/string_view_base.hpp" line="218" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="cmB6LiOLkFK4MPA38l8T4GLupFw=" name="const_reverse_iterator"/>
            </return>
          </function>
          <function name="crend" exception-spec="noexcept" id="1CpIQ/DMUJBo1D7302C0yEQZuOs=">
            <file path="boost/url/grammar/string_view_base.hpp" line="230" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="cmB6LiOLkFK4MPA38l8T4GLupFw=" name="const_reverse_iterator"/>
            </return>
          </function>
          <function name="size" exception-spec="noexcept" id="XdOsrY6qbLFskpkyLJ49siyex04=">
            <file path="boost/url/grammar/string_view_base.hpp" line="243" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <doc>
              <para>
                <text>Return the size</text>
              </para>
              <para>
                <text>See `core::string_view::size`</text>
              </para>
            </doc>
          </function>
          <function name="length" exception-spec="noexcept" id="Hl4C4fbIugV95gCntPCSc1vWBh0=">
            <file path="boost/url/grammar/string_view_base.hpp" line="252" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <doc>
              <para>
                <text>Return the size</text>
              </para>
              <para>
                <text>See `core::string_view::length`</text>
              </para>
            </doc>
          </function>
          <function name="max_size" exception-spec="noexcept" id="Qyt6qjjrJx0hZ8PQ6zdSAvGHKvU=">
            <file path="boost/url/grammar/string_view_base.hpp" line="261" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <doc>
              <para>
                <text>Return the maximum allowed size</text>
              </para>
              <para>
                <text>See `core::string_view::max_size`</text>
              </para>
            </doc>
          </function>
          <function name="empty" exception-spec="noexcept" id="OzkudhIJlNyjV0TJmLlM1RnFEVc=">
            <file path="boost/url/grammar/string_view_base.hpp" line="270" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <doc>
              <para>
                <text>Return true if the string is empty</text>
              </para>
              <para>
                <text>See `core::string_view::size`</text>
              </para>
            </doc>
          </function>
          <function name="operator[]" exception-spec="noexcept" id="8YWsfJWY2hTYjFk9Llyg3aJV1hk=">
            <file path="boost/url/grammar/string_view_base.hpp" line="281" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="subs" value="43"/>
            <attr id="is-const"/>
            <return>
              <type id="foZNP6eKrZGgZPs/IKbd+dOnIuM=" name="const_reference"/>
            </return>
            <param name="pos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Access a character</text>
              </para>
              <para>
                <text>See `core::string_view::operator[]`</text>
              </para>
            </doc>
          </function>
          <function name="at" id="nQC4Y2i6s+wheRlt1v5rJGHNugs=">
            <file path="boost/url/grammar/string_view_base.hpp" line="291" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="foZNP6eKrZGgZPs/IKbd+dOnIuM=" name="const_reference"/>
            </return>
            <param name="pos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Access a character</text>
              </para>
              <para>
                <text>See `core::string_view::at`</text>
              </para>
            </doc>
          </function>
          <function name="front" exception-spec="noexcept" id="GCtLfDBN/T6snyktUaiy6XEF9z0=">
            <file path="boost/url/grammar/string_view_base.hpp" line="301" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="foZNP6eKrZGgZPs/IKbd+dOnIuM=" name="const_reference"/>
            </return>
            <doc>
              <para>
                <text>Return the first character</text>
              </para>
              <para>
                <text>See `core::string_view::front`</text>
              </para>
            </doc>
          </function>
          <function name="back" exception-spec="noexcept" id="GPSBm+5EDtUTksx88cke1u+q9fA=">
            <file path="boost/url/grammar/string_view_base.hpp" line="311" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="foZNP6eKrZGgZPs/IKbd+dOnIuM=" name="const_reference"/>
            </return>
            <doc>
              <para>
                <text>Return the last character</text>
              </para>
              <para>
                <text>See `core::string_view::back`</text>
              </para>
            </doc>
          </function>
          <function name="data" exception-spec="noexcept" id="HTcdnV1aiZerjYE3I6KR5Gq7cf0=">
            <file path="boost/url/grammar/string_view_base.hpp" line="321" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="RPNsNnoyHwmywxuPxn4syH3bXek=" name="const_pointer"/>
            </return>
            <doc>
              <para>
                <text>Return a pointer to the character buffer</text>
              </para>
              <para>
                <text>See `core::string_view::data`</text>
              </para>
            </doc>
          </function>
          <function name="copy" id="MQMMmX8IqIdfOm6FYDjZZidJvfc=">
            <file path="boost/url/grammar/string_view_base.hpp" line="333" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char"/>
              </type>
            </param>
            <param name="n">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <param name="pos" default="0">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Copy the characters to another buffer</text>
              </para>
              <para>
                <text>See `core::string_view::copy`</text>
              </para>
            </doc>
          </function>
          <function name="substr" id="mRqi8IZOOX0xLFHe28WQ8Zwvmkg=">
            <file path="boost/url/grammar/string_view_base.hpp" line="343" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type name="core::string_view"/>
            </return>
            <param name="pos" default="0">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <param name="n" default="core::string_view::npos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return a view to part of the string</text>
              </para>
              <para>
                <text>See `core::string_view::substr`</text>
              </para>
            </doc>
          </function>
          <function name="compare" exception-spec="noexcept" id="IRvtO34ISMkRvDCtGybUVmg7Mpw=">
            <file path="boost/url/grammar/string_view_base.hpp" line="355" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type name="int"/>
            </return>
            <param name="str">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <text>Return the result of comparing to another string</text>
              </para>
              <para>
                <text>See `core::string_view::compare`</text>
              </para>
            </doc>
          </function>
          <function name="compare" id="p84tStAnLdfQHeETDgnjtJoYiqE=">
            <file path="boost/url/grammar/string_view_base.hpp" line="365" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type name="int"/>
            </return>
            <param name="pos1">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <param name="n1">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <param name="str">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <text>Return the result of comparing to another string</text>
              </para>
              <para>
                <text>See `core::string_view::compare`</text>
              </para>
            </doc>
          </function>
          <function name="compare" id="4gqP5TnZo4twWHg6MUkJBPf8gqo=">
            <file path="boost/url/grammar/string_view_base.hpp" line="375" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type name="int"/>
            </return>
            <param name="pos1">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <param name="n1">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <param name="str">
              <type name="core::string_view"/>
            </param>
            <param name="pos2">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <param name="n2">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the result of comparing to another string</text>
              </para>
              <para>
                <text>See `core::string_view::compare`</text>
              </para>
            </doc>
          </function>
          <function name="compare" exception-spec="noexcept" id="cNRLSdfTDXzapcGN7U2pkhe09u8=">
            <file path="boost/url/grammar/string_view_base.hpp" line="386" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type name="int"/>
            </return>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the result of comparing to another string</text>
              </para>
              <para>
                <text>See `core::string_view::compare`</text>
              </para>
            </doc>
          </function>
          <function name="compare" id="sURljmP39tfuj1ZZWF8Ttf48S6k=">
            <file path="boost/url/grammar/string_view_base.hpp" line="396" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type name="int"/>
            </return>
            <param name="pos1">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <param name="n1">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the result of comparing to another string</text>
              </para>
              <para>
                <text>See `core::string_view::compare`</text>
              </para>
            </doc>
          </function>
          <function name="compare" id="wZOXO+R6A3OjQdJiNoaXo0DPlaE=">
            <file path="boost/url/grammar/string_view_base.hpp" line="406" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type name="int"/>
            </return>
            <param name="pos1">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <param name="n1">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="n2">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the result of comparing to another string</text>
              </para>
              <para>
                <text>See `core::string_view::compare`</text>
              </para>
            </doc>
          </function>
          <function name="starts_with" exception-spec="noexcept" id="b1zBGpDL1DMowpruv731stD3Vgw=">
            <file path="boost/url/grammar/string_view_base.hpp" line="419" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="x">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <text>Return true if a matching prefix exists</text>
              </para>
              <para>
                <text>See `core::string_view::starts_with`</text>
              </para>
            </doc>
          </function>
          <function name="starts_with" exception-spec="noexcept" id="v3qqifP7Un5JkmpKk4TtAxbqINc=">
            <file path="boost/url/grammar/string_view_base.hpp" line="429" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="x">
              <type name="char"/>
            </param>
            <doc>
              <para>
                <text>Return true if a matching prefix exists</text>
              </para>
              <para>
                <text>See `core::string_view::starts_with`</text>
              </para>
            </doc>
          </function>
          <function name="starts_with" exception-spec="noexcept" id="1Y9DRmbXN1J7HNFxFNed/jYhRcs=">
            <file path="boost/url/grammar/string_view_base.hpp" line="439" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="x">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return true if a matching prefix exists</text>
              </para>
              <para>
                <text>See `core::string_view::starts_with`</text>
              </para>
            </doc>
          </function>
          <function name="ends_with" exception-spec="noexcept" id="qZO0HQe8HcXAyHXcIQg/g3k7/ns=">
            <file path="boost/url/grammar/string_view_base.hpp" line="451" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="x">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <text>Return true if a matching suffix exists</text>
              </para>
              <para>
                <text>See `core::string_view::ends_with`</text>
              </para>
            </doc>
          </function>
          <function name="ends_with" exception-spec="noexcept" id="bqqpptdDDphYcnOxoQYZ8bbItrM=">
            <file path="boost/url/grammar/string_view_base.hpp" line="461" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="x">
              <type name="char"/>
            </param>
            <doc>
              <para>
                <text>Return true if a matching suffix exists</text>
              </para>
              <para>
                <text>See `core::string_view::ends_with`</text>
              </para>
            </doc>
          </function>
          <function name="ends_with" exception-spec="noexcept" id="zfWvE3uSkk8/XX+XPIVSaZzh6Ig=">
            <file path="boost/url/grammar/string_view_base.hpp" line="471" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="x">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return true if a matching suffix exists</text>
              </para>
              <para>
                <text>See `core::string_view::ends_with`</text>
              </para>
            </doc>
          </function>
          <function name="find" exception-spec="noexcept" id="2lfO3WOzLvG1bfwozRhCmBlrqrg=">
            <file path="boost/url/grammar/string_view_base.hpp" line="483" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="str">
              <type name="core::string_view"/>
            </param>
            <param name="pos" default="0">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of matching characters</text>
              </para>
              <para>
                <text>See `core::string_view::find`</text>
              </para>
            </doc>
          </function>
          <function name="find" exception-spec="noexcept" id="BOuO0aTf73DXdcvqk1MTaHMpXbo=">
            <file path="boost/url/grammar/string_view_base.hpp" line="493" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="c">
              <type name="char"/>
            </param>
            <param name="pos" default="0">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of matching characters</text>
              </para>
              <para>
                <text>See `core::string_view::find`</text>
              </para>
            </doc>
          </function>
          <function name="find" exception-spec="noexcept" id="dia+zPAAu3luYQToXoYd7W8/Wic=">
            <file path="boost/url/grammar/string_view_base.hpp" line="503" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="pos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <param name="n">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of matching characters</text>
              </para>
              <para>
                <text>See `core::string_view::find`</text>
              </para>
            </doc>
          </function>
          <function name="find" exception-spec="noexcept" id="xo8geXuOyX+q7RM3qua7kwLktr0=">
            <file path="boost/url/grammar/string_view_base.hpp" line="513" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="pos" default="0">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of matching characters</text>
              </para>
              <para>
                <text>See `core::string_view::find`</text>
              </para>
            </doc>
          </function>
          <function name="rfind" exception-spec="noexcept" id="7eScYOCz/vJ9fpDMMotM0+I8qOE=">
            <file path="boost/url/grammar/string_view_base.hpp" line="525" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="str">
              <type name="core::string_view"/>
            </param>
            <param name="pos" default="core::string_view::npos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of matching characters</text>
              </para>
              <para>
                <text>See `core::string_view::rfind`</text>
              </para>
            </doc>
          </function>
          <function name="rfind" exception-spec="noexcept" id="67zrufCp4NocNFW+MQmW2AZJHKM=">
            <file path="boost/url/grammar/string_view_base.hpp" line="535" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="c">
              <type name="char"/>
            </param>
            <param name="pos" default="core::string_view::npos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of matching characters</text>
              </para>
              <para>
                <text>See `core::string_view::rfind`</text>
              </para>
            </doc>
          </function>
          <function name="rfind" exception-spec="noexcept" id="u8pQymbEkfioZr0NHqfpMpKZWho=">
            <file path="boost/url/grammar/string_view_base.hpp" line="545" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="pos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <param name="n">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of matching characters</text>
              </para>
              <para>
                <text>See `core::string_view::rfind`</text>
              </para>
            </doc>
          </function>
          <function name="rfind" exception-spec="noexcept" id="18WfSjD0IUf2RSlBRXtH9ZUGgpE=">
            <file path="boost/url/grammar/string_view_base.hpp" line="555" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="pos" default="core::string_view::npos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of matching characters</text>
              </para>
              <para>
                <text>See `core::string_view::rfind`</text>
              </para>
            </doc>
          </function>
          <function name="find_first_of" exception-spec="noexcept" id="q7omXr2uqTr3v1fJVzA94fhapvE=">
            <file path="boost/url/grammar/string_view_base.hpp" line="567" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="str">
              <type name="core::string_view"/>
            </param>
            <param name="pos" default="0">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of the first match</text>
              </para>
              <para>
                <text>See `core::string_view::find_first_of`</text>
              </para>
            </doc>
          </function>
          <function name="find_first_of" exception-spec="noexcept" id="TcE6uiDkICSzkegC9lzTM87jwlo=">
            <file path="boost/url/grammar/string_view_base.hpp" line="577" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="c">
              <type name="char"/>
            </param>
            <param name="pos" default="0">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of the first match</text>
              </para>
              <para>
                <text>See `core::string_view::find_first_of`</text>
              </para>
            </doc>
          </function>
          <function name="find_first_of" exception-spec="noexcept" id="r4kUkL0YV/fA06QtJmR/TjXUtao=">
            <file path="boost/url/grammar/string_view_base.hpp" line="587" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="pos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <param name="n">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of the first match</text>
              </para>
              <para>
                <text>See `core::string_view::find_first_of`</text>
              </para>
            </doc>
          </function>
          <function name="find_first_of" exception-spec="noexcept" id="iz2GUCM611IYR/kjQB79q1n872g=">
            <file path="boost/url/grammar/string_view_base.hpp" line="597" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="pos" default="0">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of the first match</text>
              </para>
              <para>
                <text>See `core::string_view::find_first_of`</text>
              </para>
            </doc>
          </function>
          <function name="find_last_of" exception-spec="noexcept" id="AZeST6eCw9rmQ9mUiVCMY8YyfjU=">
            <file path="boost/url/grammar/string_view_base.hpp" line="609" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="str">
              <type name="core::string_view"/>
            </param>
            <param name="pos" default="core::string_view::npos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of the last match</text>
              </para>
              <para>
                <text>See `core::string_view::find_last_of`</text>
              </para>
            </doc>
          </function>
          <function name="find_last_of" exception-spec="noexcept" id="x9U9ssyIOQKxLkWfX/TBjJwL3gg=">
            <file path="boost/url/grammar/string_view_base.hpp" line="619" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="c">
              <type name="char"/>
            </param>
            <param name="pos" default="core::string_view::npos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of the last match</text>
              </para>
              <para>
                <text>See `core::string_view::find_last_of`</text>
              </para>
            </doc>
          </function>
          <function name="find_last_of" exception-spec="noexcept" id="IIJbBmNRXB9cDV2Hodq45rXi+QY=">
            <file path="boost/url/grammar/string_view_base.hpp" line="629" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="pos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <param name="n">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of the last match</text>
              </para>
              <para>
                <text>See `core::string_view::find_last_of`</text>
              </para>
            </doc>
          </function>
          <function name="find_last_of" exception-spec="noexcept" id="j10zGQ8rw2lMRMG+TCKNGInKHK4=">
            <file path="boost/url/grammar/string_view_base.hpp" line="639" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="pos" default="core::string_view::npos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of the last match</text>
              </para>
              <para>
                <text>See `core::string_view::find_last_of`</text>
              </para>
            </doc>
          </function>
          <function name="find_first_not_of" exception-spec="noexcept" id="5d938wswt4edetpV8UL9bD5KDc4=">
            <file path="boost/url/grammar/string_view_base.hpp" line="651" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="str">
              <type name="core::string_view"/>
            </param>
            <param name="pos" default="0">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of the first non-match</text>
              </para>
              <para>
                <text>See `core::string_view::find_first_not_of`</text>
              </para>
            </doc>
          </function>
          <function name="find_first_not_of" exception-spec="noexcept" id="IfcO4L0ztTwJMGHApS0AToDt5Aw=">
            <file path="boost/url/grammar/string_view_base.hpp" line="661" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="c">
              <type name="char"/>
            </param>
            <param name="pos" default="0">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of the first non-match</text>
              </para>
              <para>
                <text>See `core::string_view::find_first_not_of`</text>
              </para>
            </doc>
          </function>
          <function name="find_first_not_of" exception-spec="noexcept" id="qeiTNiB98fApJrmQcyF37NoW9j4=">
            <file path="boost/url/grammar/string_view_base.hpp" line="671" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="pos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <param name="n">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of the first non-match</text>
              </para>
              <para>
                <text>See `core::string_view::find_first_not_of`</text>
              </para>
            </doc>
          </function>
          <function name="find_first_not_of" exception-spec="noexcept" id="wmKQqbOIrZmJ/7Cp7VJTFNavoow=">
            <file path="boost/url/grammar/string_view_base.hpp" line="681" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="pos" default="0">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of the first non-match</text>
              </para>
              <para>
                <text>See `core::string_view::find_first_not_of`</text>
              </para>
            </doc>
          </function>
          <function name="find_last_not_of" exception-spec="noexcept" id="Nfr+v2bpMFyORAQhtwLZ5J432w4=">
            <file path="boost/url/grammar/string_view_base.hpp" line="693" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="str">
              <type name="core::string_view"/>
            </param>
            <param name="pos" default="core::string_view::npos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of the last non-match</text>
              </para>
              <para>
                <text>See `core::string_view::find_last_not_of`</text>
              </para>
            </doc>
          </function>
          <function name="find_last_not_of" exception-spec="noexcept" id="2AMMYo3v1gttHFufhYHieIj8bdI=">
            <file path="boost/url/grammar/string_view_base.hpp" line="703" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="c">
              <type name="char"/>
            </param>
            <param name="pos" default="core::string_view::npos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of the last non-match</text>
              </para>
              <para>
                <text>See `core::string_view::find_last_not_of`</text>
              </para>
            </doc>
          </function>
          <function name="find_last_not_of" exception-spec="noexcept" id="Gu5ADf/dTdCmnisbu/DaC5FtlDQ=">
            <file path="boost/url/grammar/string_view_base.hpp" line="713" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="pos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <param name="n">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of the last non-match</text>
              </para>
              <para>
                <text>See `core::string_view::find_last_not_of`</text>
              </para>
            </doc>
          </function>
          <function name="find_last_not_of" exception-spec="noexcept" id="ZPpivnq8JwObb7gqwj6DDXtVLJA=">
            <file path="boost/url/grammar/string_view_base.hpp" line="723" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </return>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="pos" default="core::string_view::npos">
              <type id="aECoDgZjoIcUl2uioc0rf6uRMMc=" name="size_type"/>
            </param>
            <doc>
              <para>
                <text>Return the position of the last non-match</text>
              </para>
              <para>
                <text>See `core::string_view::find_last_not_of`</text>
              </para>
            </doc>
          </function>
          <function name="contains" exception-spec="noexcept" id="hKoap9FjP5AWE6/DO69KvjFf2GY=">
            <file path="boost/url/grammar/string_view_base.hpp" line="735" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="sv">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <text>Return true if matching characters are found</text>
              </para>
              <para>
                <text>See `core::string_view::contains`</text>
              </para>
            </doc>
          </function>
          <function name="contains" exception-spec="noexcept" id="SANFmu7YhW7sQVghxqUDA0HYZXU=">
            <file path="boost/url/grammar/string_view_base.hpp" line="744" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="c">
              <type name="char"/>
            </param>
            <doc>
              <para>
                <text>Return true if matching characters are found</text>
              </para>
              <para>
                <text>See `core::string_view::contains`</text>
              </para>
            </doc>
          </function>
          <function name="contains" exception-spec="noexcept" id="MV82Q9BS0ywf/roJrND9qK4OSDk=">
            <file path="boost/url/grammar/string_view_base.hpp" line="753" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return true if matching characters are found</text>
              </para>
              <para>
                <text>See `core::string_view::contains`</text>
              </para>
            </doc>
          </function>
          <friend id="lYxLi4HjI1Vql6yidx2StGy7gp8=">
            <file path="boost/url/grammar/string_view_base.hpp" line="775" class="def"/>
            <befriended id="A4k28fbKkjQ4H4OC4KO2Ol9pnKw="/>
          </friend>
          <friend id="F5wWNx6aiir5RLhLp8xrZAJnL9U=">
            <file path="boost/url/grammar/string_view_base.hpp" line="784" class="def"/>
            <befriended id="rOkCBMWQ6NFEwAg0L7DmRlHnV/E="/>
          </friend>
          <friend id="EJ3FfyM75Dmr/iibHAKX8NbZGNc=">
            <file path="boost/url/grammar/string_view_base.hpp" line="793" class="def"/>
            <befriended id="awflXEtWjkG9HSd1pF5W1WLlCfA="/>
          </friend>
          <friend id="y19r8PWxEBeJzJeLjC1VHQn5POg=">
            <file path="boost/url/grammar/string_view_base.hpp" line="802" class="def"/>
            <befriended id="LSSMLU60r8+n8ZfLP1SRIPuLjU0="/>
          </friend>
          <friend id="20lTKT1+1Q/3wUiZqvnTV8NuXZY=">
            <file path="boost/url/grammar/string_view_base.hpp" line="811" class="def"/>
            <befriended id="qKBWoOFpxmaMKMeXS2P5TXo4z0I="/>
          </friend>
          <friend id="Ij8Bmp/eZJn3oH855jFmv1pdecw=">
            <file path="boost/url/grammar/string_view_base.hpp" line="820" class="def"/>
            <befriended id="4hP0uy4fZPSAA1KFP5KcazAXpJM="/>
          </friend>
          <friend id="nVHzA/9HJX7Qs6K9rkSoygNm2bs=">
            <file path="boost/url/grammar/string_view_base.hpp" line="834" class="def"/>
            <doc>
              <para>
                <text>Return the hash of this value</text>
              </para>
            </doc>
            <befriended id="CNJ1OaRis3h2EDLrnk0e7yq1d40="/>
          </friend>
          <friend id="BvD21VcN5IfjqiPoC9E4g+ax68Q=">
            <file path="boost/url/grammar/string_view_base.hpp" line="843" class="def"/>
            <befriended id="hrpJ3syhXM9TxBwdAWZcTYgV1MM="/>
          </friend>
        </class>
        <template>
          <tparam name="S0" class="type"/>
          <tparam name="S1" class="type"/>
          <function name="operator==" exception-spec="noexcept" id="A4k28fbKkjQ4H4OC4KO2Ol9pnKw=">
            <file path="boost/url/grammar/string_view_base.hpp" line="776" class="def"/>
            <attr id="has-trailing-return"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="eq" value="30"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="s0">
              <type class="lvalue-reference">
                <pointee-type name="S0" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="s1">
              <type class="lvalue-reference">
                <pointee-type name="S1" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="S0" class="type"/>
          <tparam name="S1" class="type"/>
          <function name="operator!=" exception-spec="noexcept" id="rOkCBMWQ6NFEwAg0L7DmRlHnV/E=">
            <file path="boost/url/grammar/string_view_base.hpp" line="785" class="def"/>
            <attr id="has-trailing-return"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="not_eq" value="31"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="s0">
              <type class="lvalue-reference">
                <pointee-type name="S0" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="s1">
              <type class="lvalue-reference">
                <pointee-type name="S1" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="S0" class="type"/>
          <tparam name="S1" class="type"/>
          <function name="operator&lt;" exception-spec="noexcept" id="awflXEtWjkG9HSd1pF5W1WLlCfA=">
            <file path="boost/url/grammar/string_view_base.hpp" line="794" class="def"/>
            <attr id="has-trailing-return"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="lt" value="16"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="s0">
              <type class="lvalue-reference">
                <pointee-type name="S0" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="s1">
              <type class="lvalue-reference">
                <pointee-type name="S1" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="S0" class="type"/>
          <tparam name="S1" class="type"/>
          <function name="operator&lt;=" exception-spec="noexcept" id="LSSMLU60r8+n8ZfLP1SRIPuLjU0=">
            <file path="boost/url/grammar/string_view_base.hpp" line="803" class="def"/>
            <attr id="has-trailing-return"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="le" value="32"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="s0">
              <type class="lvalue-reference">
                <pointee-type name="S0" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="s1">
              <type class="lvalue-reference">
                <pointee-type name="S1" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="S0" class="type"/>
          <tparam name="S1" class="type"/>
          <function name="operator&gt;" exception-spec="noexcept" id="qKBWoOFpxmaMKMeXS2P5TXo4z0I=">
            <file path="boost/url/grammar/string_view_base.hpp" line="812" class="def"/>
            <attr id="has-trailing-return"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="gt" value="17"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="s0">
              <type class="lvalue-reference">
                <pointee-type name="S0" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="s1">
              <type class="lvalue-reference">
                <pointee-type name="S1" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="S0" class="type"/>
          <tparam name="S1" class="type"/>
          <function name="operator&gt;=" exception-spec="noexcept" id="4hP0uy4fZPSAA1KFP5KcazAXpJM=">
            <file path="boost/url/grammar/string_view_base.hpp" line="821" class="def"/>
            <attr id="has-trailing-return"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="ge" value="33"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="s0">
              <type class="lvalue-reference">
                <pointee-type name="S0" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="s1">
              <type class="lvalue-reference">
                <pointee-type name="S1" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <function name="hash_value" exception-spec="noexcept" id="CNJ1OaRis3h2EDLrnk0e7yq1d40=">
          <file path="boost/url/grammar/string_view_base.hpp" line="834" class="def"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <param name="s">
            <type class="lvalue-reference">
              <pointee-type id="Y1nkEDuKr1UIyB9Ya2bXvHYVwIY=" name="string_view_base" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Return the hash of this value</text>
            </para>
          </doc>
        </function>
        <function name="operator&lt;&lt;" id="hrpJ3syhXM9TxBwdAWZcTYgV1MM=">
          <file path="boost/url/grammar/string_view_base.hpp" line="843"/>
          <file path="boost/url/grammar/string_view_base.hpp" line="855"/>
          <attr id="operator" name="lshift" value="26"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type name="std::ostream"/>
            </type>
          </return>
          <param name="os">
            <type class="lvalue-reference">
              <pointee-type name="std::ostream"/>
            </type>
          </param>
          <param name="s">
            <type class="lvalue-reference">
              <pointee-type id="Y1nkEDuKr1UIyB9Ya2bXvHYVwIY=" name="string_view_base" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Format a string to an output stream</text>
            </para>
          </doc>
        </function>
        <template>
          <tparam name="T" class="type"/>
          <tparam class="type" default="void"/>
          <struct name="is_rule" id="pfnn2vo+iZUS/RRv4nsZ2blt8qM=">
            <file path="boost/url/grammar/type_traits.hpp" line="51" class="def"/>
            <base>
              <type name="std::false_type"/>
            </base>
          </struct>
        </template>
        <template class="partial" id="pfnn2vo+iZUS/RRv4nsZ2blt8qM=">
          <tparam name="T" class="type"/>
          <targ class="type" type="T"/>
          <targ class="type" type="void_t&lt;decltype(std::declval&lt;system::result&lt;typename T::value_type&gt;&amp;&gt;() =
        std::declval&lt;T const&amp;&gt;().parse(
            std::declval&lt;char const*&amp;&gt;(),
            std::declval&lt;char const*&gt;()))&gt;"/>
          <struct name="is_rule" id="/v1z6rV4xHzfpIup39yOSVOmeiE=">
            <file path="boost/url/grammar/type_traits.hpp" line="54" class="def"/>
            <base>
              <type name="std::is_nothrow_copy_constructible&lt;T&gt;"/>
            </base>
          </struct>
        </template>
        <struct name="hexdig_chars_t" id="qUaT2Ij87fqP0dtGu5Xkk7wqch8=">
          <file path="boost/url/grammar/hexdig_chars.hpp" line="61" class="def"/>
          <function name="operator()" exception-spec="noexcept" id="oL4rpNi0aj83vMIR0yBtrBGUNWM=">
            <file path="boost/url/grammar/hexdig_chars.hpp" line="65" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="call" value="42"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="c">
              <type name="char"/>
            </param>
            <doc>
              <para>
                <text>Return true if c is in the character set.</text>
              </para>
            </doc>
          </function>
          <function name="find_if" exception-spec="noexcept" id="b9gw6u4f1pls1IPqix6+CPp3QHM=">
            <file path="boost/url/grammar/hexdig_chars.hpp" line="76" class="def"/>
            <attr id="is-const"/>
            <return>
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </return>
            <param name="first">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="last">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="find_if_not" exception-spec="noexcept" id="j6uv5VmoZUyhxxqrcO5LqdxtzQA=">
            <file path="boost/url/grammar/hexdig_chars.hpp" line="85" class="def"/>
            <attr id="is-const"/>
            <return>
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </return>
            <param name="first">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="last">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </struct>
        <variable name="hexdig_chars" id="DL6gFomghn24jmaE6CBpvXe7C6k=">
          <file path="boost/url/grammar/hexdig_chars.hpp" line="96" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <type id="qUaT2Ij87fqP0dtGu5Xkk7wqch8=" name="hexdig_chars_t" cv-qualifiers="const"/>
        </variable>
        <function name="hexdig_value" exception-spec="noexcept" id="Euqnbrbiv6WcHygsjJQdaZ1rnhg=">
          <file path="boost/url/grammar/hexdig_chars.hpp" line="123" class="def"/>
          <return>
            <type name="signed char"/>
          </return>
          <param name="ch">
            <type name="char"/>
          </param>
          <doc>
            <para>
              <text>Return the decimal value of a hex character</text>
            </para>
            <para>
              <text>This function returns the decimal</text>
              <text>    value of a hexadecimal character,</text>
              <text>    or -1 if the argument is not a</text>
              <text>    valid hexadecimal digit.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>    HEXDIG      = DIGIT</text>
              <text>                / &quot;A&quot; / &quot;B&quot; / &quot;C&quot; / &quot;D&quot; / &quot;E&quot; / &quot;F&quot;</text>
              <text>                / &quot;a&quot; / &quot;b&quot; / &quot;c&quot; / &quot;d&quot; / &quot;e&quot; / &quot;f&quot;</text>
            </code>
            <param name="ch">
              <text>The character to check</text>
            </param>
            <returns>
              <text>The decimal value or -1</text>
            </returns>
          </doc>
        </function>
        <class name="lut_chars" id="79IFwv0C40oPrhucou1uA6DC1RI=">
          <file path="boost/url/grammar/lut_chars.hpp" line="64" class="def"/>
          <doc>
            <para>
              <text>A set of characters</text>
            </para>
            <para>
              <text>The characters defined by instances of</text>
              <text>    this set are provided upon construction.</text>
              <text>    The `constexpr` implementation allows</text>
              <text>    these to become compile-time constants.</text>
            </para>
            <head>Example</head>
            <para>
              <text>    Character sets are used with rules and the</text>
              <text>    functions</text>
              <reference id="ydzg+2eTSdKihKPuWczYnmSxrAc=">find_if</reference>
              <text> and</text>
              <reference id="/TG6XRuub2yBKINSJSX9ovnrhks=">find_if_not</reference>
              <text>.</text>
            </para>
            <code>
              <text>    constexpr lut_chars vowel_chars = &quot;AEIOU&quot; &quot;aeiou&quot;;</text>
              <text></text>
              <text>    system::result&lt; core::string_view &gt; rv = parse( &quot;Aiea&quot;, token_rule( vowel_chars ) );</text>
            </code>
            <see>
              <reference id="ydzg+2eTSdKihKPuWczYnmSxrAc=">find_if</reference>
              <text>,</text>
              <reference id="/TG6XRuub2yBKINSJSX9ovnrhks=">find_if_not</reference>
              <text>,</text>
              <reference id="LkyR1hrnEFpG2KNxbVyuvzU0r8w=">parse</reference>
              <text>,</text>
              <reference id="xRyax4v1FkI+mJUSxdRn1lbLYNU=">token_rule</reference>
              <text>.</text>
            </see>
          </doc>
          <function class="constructor" name="lut_chars" exception-spec="noexcept" id="eegCO1z+S7KSG1awJXK1jo+q44o=">
            <file path="boost/url/grammar/lut_chars.hpp" line="157" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <param name="ch">
              <type name="char"/>
            </param>
            <doc>
              <para>
                <text>Constructor</text>
              </para>
              <para>
                <text>This function constructs a character</text>
                <text>        set which has as a single member,</text>
                <text>        the character `ch`.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        constexpr lut_chars asterisk( &apos;*&apos; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Constant.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Throws nothing.</text>
              </para>
              <param name="ch">
                <text>A character.</text>
              </param>
            </doc>
          </function>
          <function class="constructor" name="lut_chars" exception-spec="noexcept" id="dIJTwI3DskrTCuyIE1Tn2JQ8OaQ=">
            <file path="boost/url/grammar/lut_chars.hpp" line="188" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Constructor</text>
              </para>
              <para>
                <text>This function constructs a character</text>
                <text>        set which has as members, all of the</text>
                <text>        characters present in the null-terminated</text>
                <text>        string `s`.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        constexpr lut_chars digits = &quot;0123456789&quot;;</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `::strlen(s)`, or constant</text>
                <text>        if `s` is a constant expression.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Throws nothing.</text>
              </para>
              <param name="s">
                <text>A null-terminated string.</text>
              </param>
            </doc>
          </function>
          <template>
            <tparam name="Pred" class="type"/>
            <tparam class="type" default="void"/>
            <function class="constructor" name="lut_chars" exception-spec="noexcept" id="LY5h54qZwduQj4g6AIkddcwQAQ0=">
              <file path="boost/url/grammar/lut_chars.hpp" line="235" class="def"/>
              <attr id="constexpr-kind" name="constexpr" value="1"/>
              <param name="pred">
                <type class="lvalue-reference">
                  <pointee-type name="Pred" cv-qualifiers="const"/>
                </type>
              </param>
            </function>
          </template>
          <function name="operator()" exception-spec="noexcept" id="/uucGiIb78jYPcEaG/dn0be1qIM=">
            <file path="boost/url/grammar/lut_chars.hpp" line="256" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="call" value="42"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="ch">
              <type name="unsigned char"/>
            </param>
            <doc>
              <para>
                <text>Return true if ch is in the character set.</text>
              </para>
              <para>
                <text>This function returns true if the</text>
                <text>        character `ch` is in the set, otherwise</text>
                <text>        it returns false.</text>
              </para>
              <head>Complexity</head>
              <para>
                <text>        Constant.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Throws nothing.</text>
              </para>
              <param name="ch">
                <text>The character to test.</text>
              </param>
            </doc>
          </function>
          <function name="operator()" exception-spec="noexcept" id="9hXLW55aN05cJRJ5T8t2c7RX714=">
            <file path="boost/url/grammar/lut_chars.hpp" line="265" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="call" value="42"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="ch">
              <type name="char"/>
            </param>
            <doc>
              <para>
                <copydoc id="/uucGiIb78jYPcEaG/dn0be1qIM=">operator()(unsigned char) const</copydoc>
              </para>
            </doc>
          </function>
          <friend id="JO4yOCfG1ta7RpD5Oo5NTrl1Y90=">
            <file path="boost/url/grammar/lut_chars.hpp" line="299" class="def"/>
            <doc>
              <para>
                <text>Return the union of two character sets.</text>
              </para>
              <para>
                <text>This function returns a new character</text>
                <text>        set which contains all of the characters</text>
                <text>        in `cs0` as well as all of the characters</text>
                <text>        in `cs`.</text>
              </para>
              <head>Example</head>
              <para>
                <text>        This creates a character set which</text>
                <text>        includes all letters and numbers</text>
              </para>
              <code>
                <text>        constexpr lut_chars alpha_chars(</text>
                <text>            &quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&quot;</text>
                <text>            &quot;abcdefghijklmnopqrstuvwxyz&quot;);</text>
                <text></text>
                <text>        constexpr lut_chars alnum_chars = alpha_chars + &quot;0123456789&quot;;</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Constant.</text>
              </para>
              <returns>
                <text>The new character set.</text>
              </returns>
              <param name="cs0">
                <text>A character to join</text>
              </param>
              <param name="cs1">
                <text>A character to join</text>
              </param>
            </doc>
            <befriended id="RPE7nl0nzHl50NxeKWVlHlj0EEc="/>
          </friend>
          <friend id="eVl1lQnY+EcLuz3tMbl9X8A4nQE=">
            <file path="boost/url/grammar/lut_chars.hpp" line="336" class="def"/>
            <doc>
              <para>
                <text>Return a new character set by subtracting</text>
              </para>
              <para>
                <text>This function returns a new character</text>
                <text>        set which is formed from all of the</text>
                <text>        characters in `cs0` which are not in `cs`.</text>
              </para>
              <head>Example</head>
              <para>
                <text>        This statement declares a character set</text>
                <text>        containing all the lowercase letters</text>
                <text>        which are not vowels:</text>
              </para>
              <code>
                <text>        constexpr lut_chars consonants = lut_chars(&quot;abcdefghijklmnopqrstuvwxyz&quot;) - &quot;aeiou&quot;;</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Constant.</text>
              </para>
              <returns>
                <text>The new character set.</text>
              </returns>
              <param name="cs0">
                <text>A character set to join.</text>
              </param>
              <param name="cs1">
                <text>A character set to join.</text>
              </param>
            </doc>
            <befriended id="7CUoh11FVhxOsS+h3YMv9zT8QAI="/>
          </friend>
          <function name="operator~" exception-spec="noexcept" id="zdfpEKtj3/TfXjBPPFuC5J+8N+I=">
            <file path="boost/url/grammar/lut_chars.hpp" line="371" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="bitnot" value="13"/>
            <attr id="is-const"/>
            <return>
              <type id="79IFwv0C40oPrhucou1uA6DC1RI=" name="lut_chars"/>
            </return>
            <doc>
              <para>
                <text>Return a new character set which is the complement of another character set.</text>
              </para>
              <para>
                <text>This function returns a new character</text>
                <text>        set which contains all of the characters</text>
                <text>        that are not in `*this`.</text>
              </para>
              <head>Example</head>
              <para>
                <text>        This statement declares a character set</text>
                <text>        containing everything but vowels:</text>
              </para>
              <code>
                <text>        constexpr lut_chars not_vowels = ~lut_chars( &quot;AEIOU&quot; &quot;aeiou&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Constant.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Throws nothing.</text>
              </para>
              <returns>
                <text>The new character set.</text>
              </returns>
            </doc>
          </function>
          <function name="find_if" exception-spec="noexcept" id="ydzg+2eTSdKihKPuWczYnmSxrAc=">
            <file path="boost/url/grammar/lut_chars.hpp" line="385" class="def"/>
            <attr id="is-const"/>
            <return>
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </return>
            <param name="first">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="last">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="find_if_not" exception-spec="noexcept" id="/TG6XRuub2yBKINSJSX9ovnrhks=">
            <file path="boost/url/grammar/lut_chars.hpp" line="394" class="def"/>
            <attr id="is-const"/>
            <return>
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </return>
            <param name="first">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="last">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </class>
        <function name="operator+" exception-spec="noexcept" id="RPE7nl0nzHl50NxeKWVlHlj0EEc=">
          <file path="boost/url/grammar/lut_chars.hpp" line="299" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="operator" name="plus" value="5"/>
          <return>
            <type id="79IFwv0C40oPrhucou1uA6DC1RI=" name="lut_chars"/>
          </return>
          <param name="cs0">
            <type class="lvalue-reference">
              <pointee-type id="79IFwv0C40oPrhucou1uA6DC1RI=" name="lut_chars" cv-qualifiers="const"/>
            </type>
          </param>
          <param name="cs1">
            <type class="lvalue-reference">
              <pointee-type id="79IFwv0C40oPrhucou1uA6DC1RI=" name="lut_chars" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Return the union of two character sets.</text>
            </para>
            <para>
              <text>This function returns a new character</text>
              <text>        set which contains all of the characters</text>
              <text>        in `cs0` as well as all of the characters</text>
              <text>        in `cs`.</text>
            </para>
            <head>Example</head>
            <para>
              <text>        This creates a character set which</text>
              <text>        includes all letters and numbers</text>
            </para>
            <code>
              <text>        constexpr lut_chars alpha_chars(</text>
              <text>            &quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&quot;</text>
              <text>            &quot;abcdefghijklmnopqrstuvwxyz&quot;);</text>
              <text></text>
              <text>        constexpr lut_chars alnum_chars = alpha_chars + &quot;0123456789&quot;;</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <returns>
              <text>The new character set.</text>
            </returns>
            <param name="cs0">
              <text>A character to join</text>
            </param>
            <param name="cs1">
              <text>A character to join</text>
            </param>
          </doc>
        </function>
        <function name="operator-" exception-spec="noexcept" id="7CUoh11FVhxOsS+h3YMv9zT8QAI=">
          <file path="boost/url/grammar/lut_chars.hpp" line="336" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="operator" name="minus" value="6"/>
          <return>
            <type id="79IFwv0C40oPrhucou1uA6DC1RI=" name="lut_chars"/>
          </return>
          <param name="cs0">
            <type class="lvalue-reference">
              <pointee-type id="79IFwv0C40oPrhucou1uA6DC1RI=" name="lut_chars" cv-qualifiers="const"/>
            </type>
          </param>
          <param name="cs1">
            <type class="lvalue-reference">
              <pointee-type id="79IFwv0C40oPrhucou1uA6DC1RI=" name="lut_chars" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Return a new character set by subtracting</text>
            </para>
            <para>
              <text>This function returns a new character</text>
              <text>        set which is formed from all of the</text>
              <text>        characters in `cs0` which are not in `cs`.</text>
            </para>
            <head>Example</head>
            <para>
              <text>        This statement declares a character set</text>
              <text>        containing all the lowercase letters</text>
              <text>        which are not vowels:</text>
            </para>
            <code>
              <text>        constexpr lut_chars consonants = lut_chars(&quot;abcdefghijklmnopqrstuvwxyz&quot;) - &quot;aeiou&quot;;</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <returns>
              <text>The new character set.</text>
            </returns>
            <param name="cs0">
              <text>A character set to join.</text>
            </param>
            <param name="cs1">
              <text>A character set to join.</text>
            </param>
          </doc>
        </function>
        <struct name="all_chars_t" id="0Esib0q+Ox8Y0XCm8oiKwTxibLY=">
          <file path="boost/url/grammar/all_chars.hpp" line="43" class="def"/>
          <function class="constructor" name="all_chars_t" exception-spec="noexcept" id="FAuVKsYvgheY5COPVFMO37kvYOA=">
            <file path="boost/url/grammar/all_chars.hpp" line="45" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
          </function>
          <function name="operator()" exception-spec="noexcept" id="ULTmldSNfyoCVZ9i6CC3oqafLy8=">
            <file path="boost/url/grammar/all_chars.hpp" line="48" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="call" value="42"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param>
              <type name="char"/>
            </param>
          </function>
          <function name="find_if" exception-spec="noexcept" id="9NDCO4o4QN6teqTanATNl5AA1wk=">
            <file path="boost/url/grammar/all_chars.hpp" line="56" class="def"/>
            <attr id="is-const"/>
            <return>
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </return>
            <param name="first">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="last">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="find_if_not" exception-spec="noexcept" id="aCgMJgVN1LAG1tEN1tvMx6grxFQ=">
            <file path="boost/url/grammar/all_chars.hpp" line="65" class="def"/>
            <attr id="is-const"/>
            <return>
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </return>
            <param name="first">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="last">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </struct>
        <variable name="all_chars" id="jILizyJjcSiPgrAbIz9APfKPU5Q=">
          <file path="boost/url/grammar/all_chars.hpp" line="81" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <type id="0Esib0q+Ox8Y0XCm8oiKwTxibLY=" name="all_chars_t" cv-qualifiers="const"/>
          <doc>
            <para>
              <text>A character set containing all characters.</text>
            </para>
            <see>
              <reference id="0Esib0q+Ox8Y0XCm8oiKwTxibLY=">all_chars_t</reference>
            </see>
          </doc>
        </variable>
        <template>
          <tparam name="T" class="type"/>
          <tparam class="type" default="void"/>
          <struct name="is_charset" id="bdYHaHZ+YTGZnjNIXEMxlRnSV18=">
            <file path="boost/url/grammar/charset.hpp" line="51" class="def"/>
            <base>
              <type name="std::false_type"/>
            </base>
          </struct>
        </template>
        <template class="partial" id="bdYHaHZ+YTGZnjNIXEMxlRnSV18=">
          <tparam name="T" class="type"/>
          <targ class="type" type="T"/>
          <targ class="type" type="void_t&lt;decltype(std::declval&lt;bool&amp;&gt;() =
        std::declval&lt;T const&amp;&gt;().operator()(
            std::declval&lt;char&gt;()))&gt;"/>
          <struct name="is_charset" id="yjsS8H+XLpEVKaxV3NAWLbSeKEk=">
            <file path="boost/url/grammar/charset.hpp" line="54" class="def"/>
            <base>
              <type name="std::true_type"/>
            </base>
          </struct>
        </template>
        <template>
          <tparam name="CharSet" class="type"/>
          <function name="find_if" exception-spec="noexcept" id="tYu+dbhQn5Jt+oUv1QmBQz+Z4Mk=">
            <file path="boost/url/grammar/charset.hpp" line="86" class="def"/>
            <return>
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </return>
            <param name="first">
              <type class="pointer" cv-qualifiers="const">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="last">
              <type class="pointer" cv-qualifiers="const">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="cs">
              <type class="lvalue-reference">
                <pointee-type name="CharSet" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Find the first character in the string that is in the set.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>    Throws nothing.</text>
              </para>
              <returns>
                <text>A pointer to the found character,</text>
                <text>    otherwise the value `last`.</text>
              </returns>
              <param name="first">
                <text>A pointer to the first character</text>
                <text>    in the string to search.</text>
              </param>
              <param name="last">
                <text>A pointer to one past the last</text>
                <text>    character in the string to search.</text>
              </param>
              <param name="cs">
                <text>The character set to use.</text>
              </param>
              <see>
                <reference id="o4IF1hl0/rSoqWdSZjOKE4MHFjM=">find_if_not</reference>
                <text>.</text>
              </see>
            </doc>
          </function>
        </template>
        <template>
          <tparam name="CharSet" class="type"/>
          <function name="find_if_not" exception-spec="noexcept" id="o4IF1hl0/rSoqWdSZjOKE4MHFjM=">
            <file path="boost/url/grammar/charset.hpp" line="124" class="def"/>
            <return>
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </return>
            <param name="first">
              <type class="pointer" cv-qualifiers="const">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="last">
              <type class="pointer" cv-qualifiers="const">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="cs">
              <type class="lvalue-reference">
                <pointee-type name="CharSet" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Find the first character in the string that is not in CharSet</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>    Throws nothing.</text>
              </para>
              <returns>
                <text>A pointer to the found character,</text>
                <text>    otherwise the value `last`.</text>
              </returns>
              <param name="first">
                <text>A pointer to the first character</text>
                <text>    in the string to search.</text>
              </param>
              <param name="last">
                <text>A pointer to one past the last</text>
                <text>    character in the string to search.</text>
              </param>
              <param name="cs">
                <text>The character set to use.</text>
              </param>
              <see>
                <reference id="o4IF1hl0/rSoqWdSZjOKE4MHFjM=">find_if_not</reference>
                <text>.</text>
              </see>
            </doc>
          </function>
        </template>
        <template>
          <tparam name="CharSet" class="type"/>
          <function name="ref" exception-spec="noexcept" id="fyOdQsmH3ln64C4lph2U5OKbnUE=">
            <file path="boost/url/grammar/charset.hpp" line="197" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <return>
              <type name="detail::charset_ref&lt;CharSet&gt;"/>
            </return>
            <param name="cs">
              <type class="lvalue-reference">
                <pointee-type name="CharSet" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="Rule" class="type"/>
          <function name="parse" id="ZudTltmlmk0cOEqWpYLX29Jb3c8=">
            <file path="boost/url/grammar/impl/parse.hpp" line="22" class="def"/>
            <file path="boost/url/grammar/parse.hpp" line="41"/>
            <attr id="has-trailing-return"/>
            <return>
              <type name="system::result&lt;Rule::value_type&gt;"/>
            </return>
            <param name="it">
              <type class="lvalue-reference">
                <pointee-type class="pointer">
                  <pointee-type name="char" cv-qualifiers="const"/>
                </pointee-type>
              </type>
            </param>
            <param name="end">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="r">
              <type class="lvalue-reference">
                <pointee-type name="Rule" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Parse a character buffer using a rule</text>
              </para>
              <param name="it">
                <text>A pointer to the start. The</text>
                <text>    caller&apos;s variable is changed to</text>
                <text>    reflect the amount of input consumed.</text>
              </param>
              <param name="end">
                <text>A pointer to the end.</text>
              </param>
              <param name="r">
                <text>The rule to use</text>
              </param>
              <returns>
                <text>The parsed value upon success,</text>
                <text>    otherwise an error.</text>
              </returns>
              <see>
                <reference>result</reference>
                <text>.</text>
              </see>
            </doc>
          </function>
        </template>
        <template>
          <tparam name="Rule" class="type"/>
          <function name="parse" id="LkyR1hrnEFpG2KNxbVyuvzU0r8w=">
            <file path="boost/url/grammar/impl/parse.hpp" line="41" class="def"/>
            <file path="boost/url/grammar/parse.hpp" line="65"/>
            <attr id="has-trailing-return"/>
            <return>
              <type name="system::result&lt;Rule::value_type&gt;"/>
            </return>
            <param name="s">
              <type name="core::string_view"/>
            </param>
            <param name="r">
              <type class="lvalue-reference">
                <pointee-type name="Rule" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Parse a character buffer using a rule</text>
              </para>
              <para>
                <text>This function parses a complete string into</text>
                <text>    the specified sequence of rules. If the</text>
                <text>    string is not completely consumed, an</text>
                <text>    error is returned instead.</text>
              </para>
              <param name="s">
                <text>The input string</text>
              </param>
              <param name="r">
                <text>The rule to use</text>
              </param>
              <returns>
                <text>The parsed value upon success,</text>
                <text>    otherwise an error.</text>
              </returns>
              <see>
                <reference>result</reference>
                <text>.</text>
              </see>
            </doc>
          </function>
        </template>
        <template>
          <tparam name="Rule" class="type"/>
          <function name="ref" exception-spec="noexcept" id="N1KvqaB++Zc7Kn8zW7XAtKXLqHE=">
            <file path="boost/url/grammar/parse.hpp" line="113" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <return>
              <type name="detail::rule_ref&lt;Rule&gt;"/>
            </return>
            <param name="r">
              <type class="lvalue-reference">
                <pointee-type name="Rule" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <function name="ref" id="GRQEQMoVPcg3UWyXgKuETlAFf6w=">
          <file path="boost/url/grammar/parse.hpp" line="133" class="def"/>
          <attr id="is-variadic"/>
          <attr id="is-deleted"/>
          <attr id="is-deleted-as-written"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
        </function>
        <enum name="error" class="scoped" id="/RsVEYVgVIkSjV+EtQuU7JX6dIY=">
          <base>
            <type name="int"/>
          </base>
          <file path="boost/url/grammar/error.hpp" line="26" class="def"/>
          <doc>
            <para>
              <text>Error codes returned when using rules</text>
            </para>
            <see>
              <reference id="HB8NuzkdJne0JnuamlIzyVfG2z4=">condition</reference>
              <text>,</text>
              <reference id="LkyR1hrnEFpG2KNxbVyuvzU0r8w=">parse</reference>
              <text>.</text>
            </see>
          </doc>
          <enumerator name="need_more" initializer="1" id="a/THTSv6k7njvbh+81BNyu1ppl8=">
            <file path="boost/url/grammar/error.hpp" line="48" class="def"/>
            <doc>
              <para>
                <text>More input is needed to match the rule</text>
              </para>
              <para>
                <text>A rule reached the end of the input,</text>
                <text> resulting in a partial match. The error</text>
                <text> is recoverable; the caller may obtain</text>
                <text> more input if possible and attempt to</text>
                <text> parse the character buffer again.</text>
                <text> Custom rules should only return this</text>
                <text> error if it is completely unambiguous</text>
                <text> that the rule cannot be matched without</text>
                <text> more input.</text>
              </para>
            </doc>
          </enumerator>
          <enumerator name="mismatch" initializer="2" id="a0UOTldvUpYmePWJT6+iE5qk5DE=">
            <file path="boost/url/grammar/error.hpp" line="58" class="def"/>
            <doc>
              <para>
                <text>The rule did not match the input.</text>
              </para>
              <para>
                <text>This error is returned when a rule fails</text>
                <text> to match the input. The error is recoverable;</text>
                <text> the caller may rewind the input pointer and</text>
                <text> attempt to parse again using a different rule.</text>
              </para>
            </doc>
          </enumerator>
          <enumerator name="end_of_range" initializer="3" id="21g3KEjdyvVJs22ysirzt+ZkWDM=">
            <file path="boost/url/grammar/error.hpp" line="71" class="def"/>
            <doc>
              <para>
                <text>A rule reached the end of a range</text>
              </para>
              <para>
                <text>This indicates that the input was consumed</text>
                <text> when parsing a</text>
                <reference id="+9pPsGvBtUttdLyyLFPI7ibWjaE=">range</reference>
                <text>. The</text>
                <reference id="JQt1HfCQ5GFE4vT8E8cyCdyP0mI=">range_rule</reference>
                <text> avoids rewinding the input buffer when</text>
                <text> this error is returned. Thus the consumed</text>
                <text> characters are be considered part of the</text>
                <text> range without contributing additional</text>
                <text> elements.</text>
              </para>
            </doc>
          </enumerator>
          <enumerator name="leftover" initializer="4" id="bFZ3Y9LHNGyUwrhSzaAWpwu5/do=">
            <file path="boost/url/grammar/error.hpp" line="76" class="def"/>
            <doc>
              <para>
                <text>Leftover input remaining after match.</text>
              </para>
            </doc>
          </enumerator>
          <enumerator name="invalid" initializer="5" id="eKR6AVdlzmA8Hi3rkPa1GzxqRRo=">
            <file path="boost/url/grammar/error.hpp" line="94" class="def"/>
            <doc>
              <para>
                <text>A rule encountered unrecoverable invalid input.</text>
              </para>
              <para>
                <text>This error is returned when input is matching</text>
                <text> but one of the requirements is violated. For</text>
                <text> example if a percent escape is found, but</text>
                <text> one or both characters that follow are not</text>
                <text> valid hexadecimal digits. This is usually an</text>
                <text> unrecoverable error.</text>
              </para>
            </doc>
          </enumerator>
          <enumerator name="out_of_range" initializer="6" id="psAY8NapcunlU2KJF9KY2kEhctA=">
            <file path="boost/url/grammar/error.hpp" line="98" class="def"/>
            <doc>
              <para>
                <text>An integer overflowed during parsing.</text>
              </para>
            </doc>
          </enumerator>
          <enumerator name="syntax" initializer="7" id="RIi3ChjIouMTYaME852w0wX2S/4=">
            <file path="boost/url/grammar/error.hpp" line="103" class="def"/>
            <doc>
              <para>
                <text>An unspecified syntax error was found.</text>
              </para>
            </doc>
          </enumerator>
        </enum>
        <enum name="condition" class="scoped" id="HB8NuzkdJne0JnuamlIzyVfG2z4=">
          <base>
            <type name="int"/>
          </base>
          <file path="boost/url/grammar/error.hpp" line="114" class="def"/>
          <doc>
            <para>
              <text>Error conditions for errors received from rules</text>
            </para>
            <see>
              <reference id="/RsVEYVgVIkSjV+EtQuU7JX6dIY=">error</reference>
              <text>,</text>
              <reference id="LkyR1hrnEFpG2KNxbVyuvzU0r8w=">parse</reference>
              <text>.</text>
            </see>
          </doc>
          <enumerator name="fatal" initializer="1" id="X1swyeizWn5vdUAIFeTZCX2AMtA=">
            <file path="boost/url/grammar/error.hpp" line="121" class="def"/>
            <doc>
              <para>
                <text>A fatal error in syntax was encountered.</text>
              </para>
              <para>
                <text>This indicates that parsing cannot continue.</text>
              </para>
            </doc>
          </enumerator>
        </enum>
        <function name="make_error_code" exception-spec="noexcept" id="0qE2JZJXBmdeToeYPF92GU4C4M4=">
          <file path="boost/url/grammar/impl/error.hpp" line="97" class="def"/>
          <return>
            <type name="system::error_code"/>
          </return>
          <param name="ev">
            <type id="/RsVEYVgVIkSjV+EtQuU7JX6dIY=" name="error"/>
          </param>
        </function>
        <function name="make_error_condition" exception-spec="noexcept" id="D25fFkIDd37uek5bhXRHUHnvlfg=">
          <file path="boost/url/grammar/impl/error.hpp" line="108" class="def"/>
          <return>
            <type name="system::error_condition"/>
          </return>
          <param name="c">
            <type id="HB8NuzkdJne0JnuamlIzyVfG2z4=" name="condition"/>
          </param>
        </function>
        <function name="to_lower" exception-spec="noexcept" id="uyRz7dsU+AM3TNmwz2kmeP9U+OA=">
          <file path="boost/url/grammar/ci_string.hpp" line="53" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <return>
            <type name="char"/>
          </return>
          <param name="c">
            <type name="char"/>
          </param>
          <doc>
            <para>
              <text>Return c converted to lowercase</text>
            </para>
            <para>
              <text>This function returns the character,</text>
              <text>    converting it to lowercase if it is</text>
              <text>    uppercase.</text>
              <text>    The function is defined only for</text>
              <text>    low-ASCII characters.</text>
            </para>
            <head>Example</head>
            <code>
              <text>    assert( to_lower( &apos;A&apos; ) == &apos;a&apos; );</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>    Throws nothing.</text>
            </para>
            <returns>
              <text>The converted character</text>
            </returns>
            <param name="c">
              <text>The character to convert</text>
            </param>
            <see>
              <reference id="wJ8AXedwlI+rgqL6jyk8IsQ8lzM=">to_upper</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="to_upper" exception-spec="noexcept" id="wJ8AXedwlI+rgqL6jyk8IsQ8lzM=">
          <file path="boost/url/grammar/ci_string.hpp" line="83" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <return>
            <type name="char"/>
          </return>
          <param name="c">
            <type name="char"/>
          </param>
          <doc>
            <para>
              <text>Return c converted to uppercase</text>
            </para>
            <para>
              <text>This function returns the character,</text>
              <text>    converting it to uppercase if it is</text>
              <text>    lowercase.</text>
              <text>    The function is defined only for</text>
              <text>    low-ASCII characters.</text>
            </para>
            <head>Example</head>
            <code>
              <text>    assert( to_upper( &apos;a&apos; ) == &apos;A&apos; );</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>    Throws nothing.</text>
            </para>
            <returns>
              <text>The converted character</text>
            </returns>
            <param name="c">
              <text>The character to convert</text>
            </param>
            <see>
              <reference id="uyRz7dsU+AM3TNmwz2kmeP9U+OA=">to_lower</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="ci_compare" exception-spec="noexcept" id="uoHBJFmwhkbiP8wxUin0sZRRl8c=">
          <file path="boost/url/grammar/ci_string.hpp" line="120"/>
          <return>
            <type name="int"/>
          </return>
          <param name="s0">
            <type name="core::string_view"/>
          </param>
          <param name="s1">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Return the case-insensitive comparison of s0 and s1</text>
            </para>
            <para>
              <text>This returns the lexicographical comparison</text>
              <text>    of two strings, ignoring case.</text>
              <text>    The function is defined only for strings</text>
              <text>    containing low-ASCII characters.</text>
            </para>
            <head>Example</head>
            <code>
              <text>    assert( ci_compare( &quot;boost&quot;, &quot;Boost&quot; ) == 0 );</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>    Throws nothing.</text>
            </para>
            <returns>
              <text>0 if the strings are equal, -1 if</text>
              <text>    `s0` is less than `s1`, or 1 if `s0` is</text>
              <text>    greater than s1.</text>
            </returns>
            <param name="s0">
              <text>The first string</text>
            </param>
            <param name="s1">
              <text>The second string</text>
            </param>
            <see>
              <reference id="uRewWrDK07k8ZT11CL3sNKDqh4s=">ci_is_equal</reference>
              <text>,</text>
              <reference id="pvpJA5sq72L2h76KosSqrJ2IccM=">ci_is_less</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="ci_digest" exception-spec="noexcept" id="9LlLzFVP/IbL/LcZtLU7W/WJuXI=">
          <file path="boost/url/grammar/ci_string.hpp" line="140"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Return the case-insensitive digest of a string</text>
            </para>
            <para>
              <text>The hash function is non-cryptographic and</text>
              <text>    not hardened against algorithmic complexity</text>
              <text>    attacks.</text>
              <text>    Returned digests are suitable for usage in</text>
              <text>    unordered containers.</text>
              <text>    The function is defined only for strings</text>
              <text>    containing low-ASCII characters.</text>
            </para>
            <returns>
              <text>The digest</text>
            </returns>
            <param name="s">
              <text>The string</text>
            </param>
          </doc>
        </function>
        <template>
          <tparam name="String0" class="type"/>
          <tparam name="String1" class="type"/>
          <function name="ci_is_equal" id="pBE6VhsKT6Y7Sqy9mWKuMxih1us=">
            <file path="boost/url/grammar/ci_string.hpp" line="173" class="def"/>
            <attr id="has-trailing-return"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="s0">
              <type class="lvalue-reference">
                <pointee-type name="String0" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="s1">
              <type class="lvalue-reference">
                <pointee-type name="String1" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <function name="ci_is_equal" exception-spec="noexcept" id="uRewWrDK07k8ZT11CL3sNKDqh4s=">
          <file path="boost/url/grammar/ci_string.hpp" line="192" class="def"/>
          <return>
            <type name="bool"/>
          </return>
          <param name="s0">
            <type name="core::string_view"/>
          </param>
          <param name="s1">
            <type name="core::string_view"/>
          </param>
        </function>
        <function name="ci_is_less" exception-spec="noexcept" id="pvpJA5sq72L2h76KosSqrJ2IccM=">
          <file path="boost/url/grammar/ci_string.hpp" line="224" class="def"/>
          <return>
            <type name="bool"/>
          </return>
          <param name="s0">
            <type name="core::string_view"/>
          </param>
          <param name="s1">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Return true if s0 is less than s1 using case-insensitive comparison </text>
            </para>
            <para>
              <text>The comparison algorithm implements a</text>
              <text>    case-insensitive total order on the set</text>
              <text>    of all strings; however, it is not a</text>
              <text>    lexicographical comparison.</text>
              <text>    The function is defined only for strings</text>
              <text>    containing low-ASCII characters.</text>
            </para>
            <head>Example</head>
            <code>
              <text>    assert( ! ci_is_less( &quot;Boost&quot;, &quot;boost&quot; ) );</text>
            </code>
            <see>
              <reference id="uoHBJFmwhkbiP8wxUin0sZRRl8c=">ci_compare</reference>
              <text>,</text>
              <reference id="uRewWrDK07k8ZT11CL3sNKDqh4s=">ci_is_equal</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <struct name="ci_hash" id="KDK8Rtank0c0ieb92h+IXx6vAgI=">
          <file path="boost/url/grammar/ci_string.hpp" line="261" class="def"/>
          <alias name="is_transparent" id="QQ8MGaqYKrHl0CuXD/ScT2ajsto=">
            <file path="boost/url/grammar/ci_string.hpp" line="263" class="def"/>
            <type name="void"/>
          </alias>
          <function name="operator()" exception-spec="noexcept" id="LYkcSFtOD9qiHKXn5L6qsJcke/E=">
            <file path="boost/url/grammar/ci_string.hpp" line="265" class="def"/>
            <attr id="operator" name="call" value="42"/>
            <attr id="is-const"/>
            <return>
              <type name="std::size_t"/>
            </return>
            <param name="s">
              <type name="core::string_view"/>
            </param>
          </function>
        </struct>
        <struct name="ci_equal" id="8rL4UC0zqGe2J3Uvmg4ad5Ghc1I=">
          <file path="boost/url/grammar/ci_string.hpp" line="297" class="def"/>
          <alias name="is_transparent" id="r2ozDmTKR95wPrxJu2d8onzqG+E=">
            <file path="boost/url/grammar/ci_string.hpp" line="299" class="def"/>
            <type name="void"/>
          </alias>
          <template>
            <tparam name="String0" class="type"/>
            <tparam name="String1" class="type"/>
            <function name="operator()" exception-spec="noexcept" id="88cNeccZ1nDv3igGCcV0fm6C+lw=">
              <file path="boost/url/grammar/ci_string.hpp" line="303" class="def"/>
              <attr id="operator" name="call" value="42"/>
              <attr id="is-const"/>
              <return>
                <type name="bool"/>
              </return>
              <param name="s0">
                <type name="String0"/>
              </param>
              <param name="s1">
                <type name="String1"/>
              </param>
            </function>
          </template>
        </struct>
        <struct name="ci_less" id="z2b32MKysnVP3C25SG1NHF5RPlI=">
          <file path="boost/url/grammar/ci_string.hpp" line="338" class="def"/>
          <alias name="is_transparent" id="ffonxhorCogRJlKNooSkWbqAd7g=">
            <file path="boost/url/grammar/ci_string.hpp" line="340" class="def"/>
            <type name="void"/>
          </alias>
          <function name="operator()" exception-spec="noexcept" id="3XDC0QbGZn4ngZLzI+/KBWgm60E=">
            <file path="boost/url/grammar/ci_string.hpp" line="342" class="def"/>
            <attr id="operator" name="call" value="42"/>
            <attr id="is-const"/>
            <return>
              <type name="std::size_t"/>
            </return>
            <param name="s0">
              <type name="core::string_view"/>
            </param>
            <param name="s1">
              <type name="core::string_view"/>
            </param>
          </function>
        </struct>
        <template>
          <tparam name="R0" class="type"/>
          <tparam name="Rn" class="type"/>
          <class name="variant_rule_t" id="Z3S80j7aZH5T/UpIhFaE8BZJ8G4=">
            <file path="boost/url/grammar/variant_rule.hpp" line="78" class="def"/>
            <alias name="value_type" id="Hy9NjfL2X9Aow6JmvQ0F0UNLTD0=">
              <file path="boost/url/grammar/variant_rule.hpp" line="81" class="def"/>
              <type id="FhVAnUhR1V4cDQt6TPQXGyakQHc=" name="variant&lt;R0::value_type, Rn::value_type...&gt;"/>
            </alias>
            <function name="parse" id="+d3iLvUv6k7KkBczSnh6YShBL2o=">
              <file path="boost/url/grammar/impl/variant_rule.hpp" line="84" class="def"/>
              <file path="boost/url/grammar/variant_rule.hpp" line="85"/>
              <attr id="has-trailing-return"/>
              <attr id="is-const"/>
              <return>
                <type name="system::result&lt;value_type&gt;"/>
              </return>
              <param name="it">
                <type class="lvalue-reference">
                  <pointee-type class="pointer">
                    <pointee-type name="char" cv-qualifiers="const"/>
                  </pointee-type>
                </type>
              </param>
              <param name="end">
                <type class="pointer">
                  <pointee-type name="char" cv-qualifiers="const"/>
                </type>
              </param>
            </function>
            <friend id="++SfxRcQL4rDz0vrwQsTCYfd3d4=">
              <file path="boost/url/grammar/variant_rule.hpp" line="91" class="def"/>
              <befriended id="uQ331vwSh53i4f9c3NfGPUal4E0="/>
            </friend>
          </class>
        </template>
        <template>
          <tparam name="R0_" class="type"/>
          <tparam name="Rn_" class="type"/>
          <function name="variant_rule" exception-spec="noexcept" id="uQ331vwSh53i4f9c3NfGPUal4E0=">
            <file path="boost/url/grammar/variant_rule.hpp" line="94"/>
            <attr id="has-trailing-return"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <return>
              <type id="Z3S80j7aZH5T/UpIhFaE8BZJ8G4=" name="variant_rule_t&lt;R0_, Rn_...&gt;"/>
            </return>
            <param name="r0">
              <type class="lvalue-reference">
                <pointee-type name="R0_" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="rn">
              <type class="lvalue-reference" is-pack="1">
                <pointee-type name="Rn_" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="R0" class="type"/>
          <tparam name="Rn" class="type"/>
          <function name="variant_rule" exception-spec="noexcept" id="1ecFzBIC/SVtOJsnlnoRw/L2Oxk=">
            <file path="boost/url/grammar/impl/variant_rule.hpp" line="102" class="def"/>
            <file path="boost/url/grammar/variant_rule.hpp" line="117"/>
            <attr id="has-trailing-return"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <return>
              <type id="Z3S80j7aZH5T/UpIhFaE8BZJ8G4=" name="variant_rule_t&lt;R0, Rn...&gt;"/>
            </return>
            <param name="r0">
              <type class="lvalue-reference">
                <pointee-type name="R0" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="rn">
              <type class="lvalue-reference" is-pack="1">
                <pointee-type name="Rn" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="Unsigned" class="type"/>
          <struct name="unsigned_rule" id="RxDnM7pIw/ahE/QBEDu7T14vtTs=">
            <file path="boost/url/grammar/unsigned_rule.hpp" line="57" class="def"/>
            <alias name="value_type" id="y37ryxXYrjlxGpVsQjXKxvsbLLs=">
              <file path="boost/url/grammar/unsigned_rule.hpp" line="65" class="def"/>
              <type name="Unsigned"/>
            </alias>
            <function name="parse" exception-spec="noexcept" id="rDDzgULcyKeWVv6ArwS9ei06m8E=">
              <file path="boost/url/grammar/impl/unsigned_rule.hpp" line="21" class="def"/>
              <file path="boost/url/grammar/unsigned_rule.hpp" line="67"/>
              <attr id="has-trailing-return"/>
              <attr id="is-const"/>
              <return>
                <type name="system::result&lt;value_type&gt;"/>
              </return>
              <param name="it">
                <type class="lvalue-reference">
                  <pointee-type class="pointer">
                    <pointee-type name="char" cv-qualifiers="const"/>
                  </pointee-type>
                </type>
              </param>
              <param name="end">
                <type class="pointer">
                  <pointee-type name="char" cv-qualifiers="const"/>
                </type>
              </param>
            </function>
          </struct>
        </template>
        <struct name="digit_chars_t" id="q47PVEXKDXFn4NuJF30sApSLN7Y=">
          <file path="boost/url/grammar/digit_chars.hpp" line="48" class="def"/>
          <function name="operator()" exception-spec="noexcept" id="IVaX0hJMdpOGSssQh5FkBQYqUHc=">
            <file path="boost/url/grammar/digit_chars.hpp" line="50" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="call" value="42"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="c">
              <type name="char"/>
            </param>
          </function>
          <function name="find_if" exception-spec="noexcept" id="Bhg5g9H++Z0RDILVpCps/nX5iv4=">
            <file path="boost/url/grammar/digit_chars.hpp" line="58" class="def"/>
            <attr id="is-const"/>
            <return>
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </return>
            <param name="first">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="last">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="find_if_not" exception-spec="noexcept" id="/UA4xd3epbpkXnyqNVLXI3x1C2U=">
            <file path="boost/url/grammar/digit_chars.hpp" line="67" class="def"/>
            <attr id="is-const"/>
            <return>
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </return>
            <param name="first">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="last">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </struct>
        <variable name="digit_chars" id="ookgwXeQg4dQaa4byxIjCl6r61k=">
          <file path="boost/url/grammar/digit_chars.hpp" line="78" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <type id="q47PVEXKDXFn4NuJF30sApSLN7Y=" name="digit_chars_t" cv-qualifiers="const"/>
        </variable>
        <struct name="ch_delim_rule" id="vY6ZIEL6hYpJ60TcTyoJ4OKkIFI=">
          <file path="boost/url/grammar/delim_rule.hpp" line="61" class="def"/>
          <alias name="value_type" id="ZBlf5+Go0G/V313aR9GRvhdRMh0=">
            <file path="boost/url/grammar/delim_rule.hpp" line="63" class="def"/>
            <type name="core::string_view"/>
          </alias>
          <function class="constructor" name="ch_delim_rule" exception-spec="noexcept" id="13m+WJ7aMngQAGqMmqR4qNZE6qU=">
            <file path="boost/url/grammar/delim_rule.hpp" line="65" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <param name="ch">
              <type name="char"/>
            </param>
          </function>
          <function name="parse" exception-spec="noexcept" id="TzcikS4+4bJ113WUD5t7ig7hxKc=">
            <file path="boost/url/grammar/delim_rule.hpp" line="72"/>
            <attr id="is-const"/>
            <return>
              <type name="system::result&lt;value_type&gt;"/>
            </return>
            <param name="it">
              <type class="lvalue-reference">
                <pointee-type class="pointer">
                  <pointee-type name="char" cv-qualifiers="const"/>
                </pointee-type>
              </type>
            </param>
            <param name="end">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </struct>
        <function name="delim_rule" exception-spec="noexcept" id="Lf/90CiKWOFbDeU17ozZiB9Q1V8=">
          <file path="boost/url/grammar/delim_rule.hpp" line="81" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <return>
            <type id="vY6ZIEL6hYpJ60TcTyoJ4OKkIFI=" name="ch_delim_rule"/>
          </return>
          <param name="ch">
            <type name="char"/>
          </param>
        </function>
        <template>
          <tparam name="CharSet" class="type"/>
          <struct name="cs_delim_rule" id="VKvEBxetctXkQkrwxhn/W0SZZ0o=">
            <file path="boost/url/grammar/delim_rule.hpp" line="127" class="def"/>
            <alias name="value_type" id="Vzjjiqb37Ruv/YkdDjmZF4RbEHg=">
              <file path="boost/url/grammar/delim_rule.hpp" line="129" class="def"/>
              <type name="core::string_view"/>
            </alias>
            <function class="constructor" name="cs_delim_rule" exception-spec="noexcept" id="q1oT6swNcqnrR1aLVba9JcVYmDM=">
              <file path="boost/url/grammar/delim_rule.hpp" line="131" class="def"/>
              <attr id="constexpr-kind" name="constexpr" value="1"/>
              <param name="cs">
                <type class="lvalue-reference">
                  <pointee-type name="CharSet" cv-qualifiers="const"/>
                </type>
              </param>
            </function>
            <function name="parse" exception-spec="noexcept" id="IxZuW6E6+DVnKG8y/YOGI01624M=">
              <file path="boost/url/grammar/delim_rule.hpp" line="138" class="def"/>
              <attr id="is-const"/>
              <return>
                <type name="system::result&lt;value_type&gt;"/>
              </return>
              <param name="it">
                <type class="lvalue-reference">
                  <pointee-type class="pointer">
                    <pointee-type name="char" cv-qualifiers="const"/>
                  </pointee-type>
                </type>
              </param>
              <param name="end">
                <type class="pointer">
                  <pointee-type name="char" cv-qualifiers="const"/>
                </type>
              </param>
            </function>
          </struct>
        </template>
        <template>
          <tparam name="CharSet" class="type"/>
          <function name="delim_rule" exception-spec="noexcept" id="rpF+l7ZyhrNp/cWHSIVIwcGOonE=">
            <file path="boost/url/grammar/delim_rule.hpp" line="164" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <return>
              <type id="VKvEBxetctXkQkrwxhn/W0SZZ0o=" name="cs_delim_rule&lt;CharSet&gt;"/>
            </return>
            <param name="cs">
              <type class="lvalue-reference">
                <pointee-type name="CharSet" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="Rule" class="type"/>
          <struct name="optional_rule_t" id="kQkyKKJy8sf6Zc1LkFsFQy36kWE=">
            <file path="boost/url/grammar/optional_rule.hpp" line="65" class="def"/>
            <alias name="value_type" id="Jvqo8tIkInTl7CmcuuABI8KKt14=">
              <file path="boost/url/grammar/optional_rule.hpp" line="68" class="def"/>
              <type name="boost::optional&lt;Rule::value_type&gt;"/>
            </alias>
            <function name="parse" id="6SMcE02gWiEhhQLLhaGxRACCnoA=">
              <file path="boost/url/grammar/impl/optional_rule.hpp" line="19" class="def"/>
              <file path="boost/url/grammar/optional_rule.hpp" line="71"/>
              <attr id="has-trailing-return"/>
              <attr id="is-const"/>
              <return>
                <type name="system::result&lt;value_type&gt;"/>
              </return>
              <param name="it">
                <type class="lvalue-reference">
                  <pointee-type class="pointer">
                    <pointee-type name="char" cv-qualifiers="const"/>
                  </pointee-type>
                </type>
              </param>
              <param name="end">
                <type class="pointer">
                  <pointee-type name="char" cv-qualifiers="const"/>
                </type>
              </param>
            </function>
            <friend id="AwDSST6rYDD8qzSnFrbKRM9VM6U=">
              <file path="boost/url/grammar/optional_rule.hpp" line="76" class="def"/>
              <befriended id="zBQLTBjSYW79ZD/EqIRJxhFpXMQ="/>
            </friend>
          </struct>
        </template>
        <template>
          <tparam name="R_" class="type"/>
          <function name="optional_rule" id="zBQLTBjSYW79ZD/EqIRJxhFpXMQ=">
            <file path="boost/url/grammar/optional_rule.hpp" line="77"/>
            <attr id="has-trailing-return"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <return>
              <type id="kQkyKKJy8sf6Zc1LkFsFQy36kWE=" name="optional_rule_t&lt;R_&gt;"/>
            </return>
            <param name="r">
              <type class="lvalue-reference">
                <pointee-type name="R_" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="Rule" class="type"/>
          <function name="optional_rule" id="NOz11+UFBvg8uzYXkTknSx6dHgk=">
            <file path="boost/url/grammar/optional_rule.hpp" line="96" class="def"/>
            <attr id="has-trailing-return"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <return>
              <type id="kQkyKKJy8sf6Zc1LkFsFQy36kWE=" name="optional_rule_t&lt;Rule&gt;"/>
            </return>
            <param name="r">
              <type class="lvalue-reference">
                <pointee-type name="Rule" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="R0" class="type"/>
          <tparam name="Rn" class="type"/>
          <class name="tuple_rule_t" id="K1bxVr6/hsBHRkFiLSlfTEGAyMI=">
            <file path="boost/url/grammar/tuple_rule.hpp" line="89" class="def"/>
            <alias name="value_type" id="/h0VkLcnNdXzy7diJG+V5BnqbQ0=">
              <file path="boost/url/grammar/tuple_rule.hpp" line="102" class="def"/>
              <type name="mp11::mp_eval_if_c&lt;IsList, T, mp_first, T&gt;"/>
            </alias>
            <friend id="DdLifcQv2a+digIMXESXIajdtUo=">
              <file path="boost/url/grammar/tuple_rule.hpp" line="106" class="def"/>
              <befriended id="Dibgjm6DmCd6DQd7E4rFHcTMguM="/>
            </friend>
            <function name="parse" id="n6vBgC+arUVJhpJ1keFrH9jYLcg=">
              <file path="boost/url/grammar/impl/tuple_rule.hpp" line="265" class="def"/>
              <file path="boost/url/grammar/tuple_rule.hpp" line="117"/>
              <attr id="has-trailing-return"/>
              <attr id="is-const"/>
              <return>
                <type name="system::result&lt;value_type&gt;"/>
              </return>
              <param name="it">
                <type class="lvalue-reference">
                  <pointee-type class="pointer">
                    <pointee-type name="char" cv-qualifiers="const"/>
                  </pointee-type>
                </type>
              </param>
              <param name="end">
                <type class="pointer">
                  <pointee-type name="char" cv-qualifiers="const"/>
                </type>
              </param>
            </function>
          </class>
        </template>
        <template>
          <tparam name="R0_" class="type"/>
          <tparam name="Rn_" class="type"/>
          <function name="tuple_rule" exception-spec="noexcept" id="Dibgjm6DmCd6DQd7E4rFHcTMguM=">
            <file path="boost/url/grammar/tuple_rule.hpp" line="109"/>
            <attr id="has-trailing-return"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <return>
              <type id="K1bxVr6/hsBHRkFiLSlfTEGAyMI=" name="tuple_rule_t&lt;R0_, Rn_...&gt;"/>
            </return>
            <param name="r0">
              <type class="lvalue-reference">
                <pointee-type name="R0_" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="rn">
              <type class="lvalue-reference" is-pack="1">
                <pointee-type name="Rn_" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="R0" class="type"/>
          <tparam name="Rn" class="type"/>
          <function name="tuple_rule" exception-spec="noexcept" id="676PMpg4cRPVNCe/VV9JA7wA8hU=">
            <file path="boost/url/grammar/tuple_rule.hpp" line="138" class="def"/>
            <attr id="has-trailing-return"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <return>
              <type id="K1bxVr6/hsBHRkFiLSlfTEGAyMI=" name="tuple_rule_t&lt;R0, Rn...&gt;"/>
            </return>
            <param name="r0">
              <type class="lvalue-reference">
                <pointee-type name="R0" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="rn">
              <type class="lvalue-reference" is-pack="1">
                <pointee-type name="Rn" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="Rule" class="type"/>
          <function name="squelch" exception-spec="noexcept" id="3Jsz3ZwEPt5PusD5mA3CQ02JVRU=">
            <file path="boost/url/grammar/tuple_rule.hpp" line="231" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <return>
              <type name="detail::squelch_rule_t&lt;Rule&gt;"/>
            </return>
            <param name="r">
              <type class="lvalue-reference">
                <pointee-type name="Rule" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="T" class="type"/>
          <alias name="aligned_storage" id="k2EX7IarFscJBSv6Hora+WRxv58=">
            <file path="boost/url/grammar/recycled.hpp" line="44" class="def"/>
            <type name="detail::aligned_storage_impl&lt;detail::nearest_pow2(sizeof(T), 64), (alignof(::max_align_t) &gt; alignof(T)) ? alignof(::max_align_t) : alignof(T)&gt;"/>
          </alias>
        </template>
        <template>
          <tparam name="T" class="type"/>
          <class name="recycled" id="x2v5wd8/Skv+UtDnwS5/F27XMxc=">
            <file path="boost/url/grammar/recycled.hpp" line="73" class="def"/>
            <doc>
              <para>
                <text>A thread-safe collection of instances of T</text>
              </para>
              <para>
                <text>Instances of this type may be used to control</text>
                <text>    where recycled instances of T come from when</text>
                <text>    used with</text>
                <reference id="nzXpJoD/SY/HaQ+j1P4/pDyDfbQ=">recycled_ptr</reference>
                <text>.</text>
              </para>
              <head>Example</head>
              <code>
                <text>    static recycled&lt; std::string &gt; bin;</text>
                <text></text>
                <text>    recycled_ptr&lt; std::string &gt; ps( bin );</text>
                <text></text>
                <text>    // Put the string into a known state</text>
                <text>    ps-&gt;clear();</text>
              </code>
              <see>
                <reference id="nzXpJoD/SY/HaQ+j1P4/pDyDfbQ=">recycled_ptr</reference>
                <text>.</text>
              </see>
            </doc>
            <function class="destructor" name="~recycled" id="lJDeADUMZlCfHAArDAEIoiZHv6w=">
              <file path="boost/url/grammar/impl/recycled.hpp" line="21" class="def"/>
              <file path="boost/url/grammar/recycled.hpp" line="83"/>
              <doc>
                <para>
                  <text>Destructor</text>
                </para>
                <para>
                  <text>All recycled instances of T are destroyed.</text>
                  <text>        Undefined behavior results if there are</text>
                  <text>        any</text>
                  <reference id="nzXpJoD/SY/HaQ+j1P4/pDyDfbQ=">recycled_ptr</reference>
                  <text> which reference</text>
                  <text>        this recycle bin.</text>
                </para>
              </doc>
            </function>
            <function class="constructor" name="recycled" id="eMQLSBBNJl/2Q4eW9/OxJcYh6nQ=">
              <file path="boost/url/grammar/recycled.hpp" line="87" class="def"/>
              <attr id="is-defaulted"/>
              <attr id="is-explicitly-defaulted"/>
              <attr id="constexpr-kind" name="constexpr" value="1"/>
              <doc>
                <para>
                  <text>Constructor</text>
                </para>
              </doc>
            </function>
          </class>
        </template>
        <template>
          <tparam name="T" class="type"/>
          <class name="recycled_ptr" id="nzXpJoD/SY/HaQ+j1P4/pDyDfbQ=">
            <file path="boost/url/grammar/recycled.hpp" line="150" class="def"/>
            <doc>
              <para>
                <text>A pointer to shared instance of T</text>
              </para>
              <para>
                <text>This is a smart pointer container which can</text>
                <text>    acquire shared ownership of an instance of</text>
                <text>    `T` upon or after construction. The instance</text>
                <text>    is guaranteed to be in a valid, but unknown</text>
                <text>    state. Every recycled pointer references</text>
                <text>    a valid recycle bin.</text>
              </para>
              <head>Example</head>
              <code>
                <text>    static recycled&lt; std::string &gt; bin;</text>
                <text></text>
                <text>    recycled_ptr&lt; std::string &gt; ps( bin );</text>
                <text></text>
                <text>    // Put the string into a known state</text>
                <text>    ps-&gt;clear();</text>
              </code>
              <tparam name="T">
                <text>the type of object to</text>
                <text>        acquire, which must be</text>
                <italic>DefaultConstructible</italic>
                <text>.</text>
              </tparam>
            </doc>
            <function class="destructor" name="~recycled_ptr" id="fYaAa1Ns5xDYnbRDkpXg/vguMV8=">
              <file path="boost/url/grammar/impl/recycled.hpp" line="94" class="def"/>
              <file path="boost/url/grammar/recycled.hpp" line="178"/>
              <doc>
                <para>
                  <text>Destructor</text>
                </para>
                <para>
                  <text>If this is not empty, shared ownership</text>
                  <text>        of the pointee is released. If this was</text>
                  <text>        the last reference, the object is</text>
                  <text>        returned to the original recycle bin.</text>
                </para>
                <head>Effects</head>
                <code>
                  <text>        this-&gt;release();</text>
                </code>
              </doc>
            </function>
            <function class="constructor" name="recycled_ptr" explicit-spec="explicit" id="iyelQG1lI7NxpWmpa7HCkVGiYrY=">
              <file path="boost/url/grammar/impl/recycled.hpp" line="102" class="def"/>
              <file path="boost/url/grammar/recycled.hpp" line="209"/>
              <param name="bin">
                <type class="lvalue-reference">
                  <pointee-type id="x2v5wd8/Skv+UtDnwS5/F27XMxc=" name="recycled&lt;T&gt;"/>
                </type>
              </param>
              <doc>
                <para>
                  <text>Constructor</text>
                </para>
                <para>
                  <text>Upon construction, this acquires</text>
                  <text>        exclusive access to an object of type</text>
                  <text>        `T` which is either recycled from the</text>
                  <text>        specified bin, or newly allocated.</text>
                  <text>        The object is in an unknown but</text>
                  <text>        valid state.</text>
                </para>
                <head>Example</head>
                <code>
                  <text>        static recycled&lt; std::string &gt; bin;</text>
                  <text></text>
                  <text>        recycled_ptr&lt; std::string &gt; ps( bin );</text>
                  <text></text>
                  <text>        // Put the string into a known state</text>
                  <text>        ps-&gt;clear();</text>
                </code>
                <head>Postconditions</head>
                <code>
                  <text>        &amp;this-&gt;bin() == &amp;bin &amp;&amp; ! this-&gt;empty()</text>
                </code>
                <param name="bin">
                  <text>The recycle bin to use</text>
                </param>
                <see>
                  <reference id="x2v5wd8/Skv+UtDnwS5/F27XMxc=">recycled</reference>
                  <text>.</text>
                </see>
              </doc>
            </function>
            <function class="constructor" name="recycled_ptr" exception-spec="noexcept" id="rIq1sfrqMSv358hn+r/zNp97Brg=">
              <file path="boost/url/grammar/impl/recycled.hpp" line="111" class="def"/>
              <file path="boost/url/grammar/recycled.hpp" line="243"/>
              <param name="bin">
                <type class="lvalue-reference">
                  <pointee-type id="x2v5wd8/Skv+UtDnwS5/F27XMxc=" name="recycled&lt;T&gt;"/>
                </type>
              </param>
              <param>
                <type name="std::nullptr_t"/>
              </param>
              <doc>
                <para>
                  <text>Constructor</text>
                </para>
                <para>
                  <text>After construction, this is empty and</text>
                  <text>        refers to the specified recycle bin.</text>
                </para>
                <head>Example</head>
                <code>
                  <text>        static recycled&lt; std::string &gt; bin;</text>
                  <text></text>
                  <text>        recycled_ptr&lt; std::string &gt; ps( bin, nullptr );</text>
                  <text></text>
                  <text>        // Acquire a string and put it into a known state</text>
                  <text>        ps-&gt;acquire();</text>
                  <text>        ps-&gt;clear();</text>
                </code>
                <head>Postconditions</head>
                <code>
                  <text>        &amp;this-&gt;bin() == &amp;bin &amp;&amp; this-&gt;empty()</text>
                </code>
                <head>Exception Safety</head>
                <para>
                  <text>        Throws nothing.</text>
                </para>
                <param name="bin">
                  <text>The recycle bin to use</text>
                </param>
                <see>
                  <reference id="H7LYt37AqVfhsZjHCGDQEIkojqM=">acquire</reference>
                  <text>,</text>
                  <reference id="x2v5wd8/Skv+UtDnwS5/F27XMxc=">recycled</reference>
                  <text>,</text>
                  <reference id="wqJYmH/gBkRUi2qhQzT8ZrukOu0=">release</reference>
                  <text>.</text>
                </see>
              </doc>
            </function>
            <function class="constructor" name="recycled_ptr" id="VjHmeTbHs8hQENj7BgAnhmRWQdw=">
              <file path="boost/url/grammar/impl/recycled.hpp" line="120" class="def"/>
              <file path="boost/url/grammar/recycled.hpp" line="272"/>
              <doc>
                <para>
                  <text>Constructor</text>
                </para>
                <para>
                  <text>Upon construction, this acquires</text>
                  <text>        exclusive access to an object of type</text>
                  <text>        `T` which is either recycled from a</text>
                  <text>        global recycle bin, or newly allocated.</text>
                  <text>        The object is in an unknown but</text>
                  <text>        valid state.</text>
                </para>
                <head>Example</head>
                <code>
                  <text>        recycled_ptr&lt; std::string &gt; ps;</text>
                  <text></text>
                  <text>        // Put the string into a known state</text>
                  <text>        ps-&gt;clear();</text>
                </code>
                <head>Postconditions</head>
                <code>
                  <text>        &amp;this-&gt;bin() != nullptr &amp;&amp; ! this-&gt;empty()</text>
                </code>
                <see>
                  <reference id="x2v5wd8/Skv+UtDnwS5/F27XMxc=">recycled</reference>
                  <text>.</text>
                </see>
              </doc>
            </function>
            <function class="constructor" name="recycled_ptr" exception-spec="noexcept" id="XjR852OKdk+x5OgFgWVrVznZ9p4=">
              <file path="boost/url/grammar/impl/recycled.hpp" line="128" class="def"/>
              <file path="boost/url/grammar/recycled.hpp" line="301"/>
              <param>
                <type name="std::nullptr_t"/>
              </param>
              <doc>
                <para>
                  <text>Constructor</text>
                </para>
                <para>
                  <text>After construction, this is empty</text>
                  <text>        and refers to a global recycle bin.</text>
                </para>
                <head>Example</head>
                <code>
                  <text>        recycled_ptr&lt; std::string &gt; ps( nullptr );</text>
                  <text></text>
                  <text>        // Acquire a string and put it into a known state</text>
                  <text>        ps-&gt;acquire();</text>
                  <text>        ps-&gt;clear();</text>
                </code>
                <head>Postconditions</head>
                <code>
                  <text>        &amp;this-&gt;bin() != nullptr &amp;&amp; this-&gt;empty()</text>
                </code>
                <head>Exception Safety</head>
                <para>
                  <text>        Throws nothing.</text>
                </para>
                <see>
                  <reference id="H7LYt37AqVfhsZjHCGDQEIkojqM=">acquire</reference>
                  <text>,</text>
                  <reference id="x2v5wd8/Skv+UtDnwS5/F27XMxc=">recycled</reference>
                  <text>,</text>
                  <reference id="wqJYmH/gBkRUi2qhQzT8ZrukOu0=">release</reference>
                  <text>.</text>
                </see>
              </doc>
            </function>
            <function class="constructor" name="recycled_ptr" exception-spec="noexcept" id="q97hoMIS89HKG50UKgXOeADtEnc=">
              <file path="boost/url/grammar/impl/recycled.hpp" line="141" class="def"/>
              <file path="boost/url/grammar/recycled.hpp" line="322"/>
              <param name="other">
                <type class="lvalue-reference">
                  <pointee-type id="nzXpJoD/SY/HaQ+j1P4/pDyDfbQ=" name="recycled_ptr" cv-qualifiers="const"/>
                </type>
              </param>
              <doc>
                <para>
                  <text>Constructor</text>
                </para>
                <para>
                  <text>If `other` references an object, the</text>
                  <text>        newly constructed pointer acquires</text>
                  <text>        shared ownership. Otherwise this is</text>
                  <text>        empty. The new pointer references</text>
                  <text>        the same recycle bin as `other`.</text>
                </para>
                <head>Postconditions</head>
                <code>
                  <text>        &amp;this-&gt;bin() == &amp;other-&gt;bin() &amp;&amp; this-&gt;get() == other.get()</text>
                </code>
                <head>Exception Safety</head>
                <para>
                  <text>        Throws nothing.</text>
                </para>
                <param name="other">
                  <text>The pointer to copy</text>
                </param>
              </doc>
            </function>
            <function class="constructor" name="recycled_ptr" exception-spec="noexcept" id="84CPyDVgw9SFOH0d5xvXZ3GEJ80=">
              <file path="boost/url/grammar/impl/recycled.hpp" line="152" class="def"/>
              <file path="boost/url/grammar/recycled.hpp" line="342"/>
              <param name="other">
                <type class="rvalue-reference">
                  <pointee-type id="nzXpJoD/SY/HaQ+j1P4/pDyDfbQ=" name="recycled_ptr"/>
                </type>
              </param>
              <doc>
                <para>
                  <text>Constructor</text>
                </para>
                <para>
                  <text>If `other` references an object,</text>
                  <text>        ownership is transferred including</text>
                  <text>        a reference to the recycle bin. After</text>
                  <text>        the move, the moved-from object is empty.</text>
                </para>
                <head>Postconditions</head>
                <code>
                  <text>        &amp;this-&gt;bin() == &amp;other-&gt;bin() &amp;&amp; ! this-&gt;empty() &amp;&amp; other.empty()</text>
                </code>
                <head>Exception Safety</head>
                <para>
                  <text>        Throws nothing.</text>
                </para>
                <param name="other">
                  <text>The pointer to move from</text>
                </param>
              </doc>
            </function>
            <function name="operator=" exception-spec="noexcept" id="tN2V1SD4chb1aq2jfot9PeEVJ2g=">
              <file path="boost/url/grammar/impl/recycled.hpp" line="162" class="def"/>
              <file path="boost/url/grammar/recycled.hpp" line="367"/>
              <attr id="has-trailing-return"/>
              <attr id="operator" name="assign" value="15"/>
              <return>
                <type class="lvalue-reference">
                  <pointee-type id="nzXpJoD/SY/HaQ+j1P4/pDyDfbQ=" name="recycled_ptr"/>
                </type>
              </return>
              <param name="other">
                <type class="rvalue-reference">
                  <pointee-type id="nzXpJoD/SY/HaQ+j1P4/pDyDfbQ=" name="recycled_ptr"/>
                </type>
              </param>
              <doc>
                <para>
                  <text>Assignment</text>
                </para>
                <para>
                  <text>If `other` references an object,</text>
                  <text>        ownership is transferred including</text>
                  <text>        a reference to the recycle bin. After</text>
                  <text>        the move, the moved-from object is empty.</text>
                </para>
                <head>Effects</head>
                <code>
                  <text>        this-&gt;release()</text>
                </code>
                <head>Postconditions</head>
                <code>
                  <text>        &amp;this-&gt;bin() == &amp;other-&gt;bin()</text>
                </code>
                <head>Exception Safety</head>
                <para>
                  <text>        Throws nothing.</text>
                </para>
                <param name="other">
                  <text>The pointer to move from</text>
                </param>
              </doc>
            </function>
            <function name="operator=" exception-spec="noexcept" id="kPCMjQfQ6LeMUk9wpxzd0pKjPR0=">
              <file path="boost/url/grammar/impl/recycled.hpp" line="178" class="def"/>
              <file path="boost/url/grammar/recycled.hpp" line="394"/>
              <attr id="has-trailing-return"/>
              <attr id="operator" name="assign" value="15"/>
              <return>
                <type class="lvalue-reference">
                  <pointee-type id="nzXpJoD/SY/HaQ+j1P4/pDyDfbQ=" name="recycled_ptr"/>
                </type>
              </return>
              <param name="other">
                <type class="lvalue-reference">
                  <pointee-type id="nzXpJoD/SY/HaQ+j1P4/pDyDfbQ=" name="recycled_ptr" cv-qualifiers="const"/>
                </type>
              </param>
              <doc>
                <para>
                  <text>Assignment</text>
                </para>
                <para>
                  <text>If `other` references an object,</text>
                  <text>        this acquires shared ownership and</text>
                  <text>        references the same recycle bin as</text>
                  <text>        `other`. The previous object if any</text>
                  <text>        is released.</text>
                </para>
                <head>Effects</head>
                <code>
                  <text>        this-&gt;release()</text>
                </code>
                <head>Postconditions</head>
                <code>
                  <text>        &amp;this-&gt;bin() == &amp;other-&gt;bin() &amp;&amp; this-&gt;get() == other.get()</text>
                </code>
                <head>Exception Safety</head>
                <para>
                  <text>        Throws nothing.</text>
                </para>
                <param name="other">
                  <text>The pointer to copy from</text>
                </param>
              </doc>
            </function>
            <function name="empty" exception-spec="noexcept" id="0uyawsPRLLGbFiuk1Ft9+8socK0=">
              <file path="boost/url/grammar/recycled.hpp" line="403" class="def"/>
              <attr id="is-const"/>
              <return>
                <type name="bool"/>
              </return>
              <doc>
                <para>
                  <text>Return true if this does not reference an object</text>
                </para>
                <head>Exception Safety</head>
                <para>
                  <text>        Throws nothing.</text>
                </para>
              </doc>
            </function>
            <function class="conversion" name="operator bool" exception-spec="noexcept" explicit-spec="explicit" id="8IZZXERbpllK6bZomLlMb2gvxwg=">
              <file path="boost/url/grammar/recycled.hpp" line="419" class="def"/>
              <attr id="is-const"/>
              <return>
                <type name="bool"/>
              </return>
              <doc>
                <para>
                  <text>Return true if this references an object</text>
                </para>
                <head>Effects</head>
                <code>
                  <text>        return ! this-&gt;empty();</text>
                </code>
                <head>Exception Safety</head>
                <para>
                  <text>        Throws nothing.</text>
                </para>
              </doc>
            </function>
            <function name="bin" exception-spec="noexcept" id="lrCX94ZLdGMotI0oIpKu0tiNZG4=">
              <file path="boost/url/grammar/recycled.hpp" line="430" class="def"/>
              <attr id="is-const"/>
              <return>
                <type class="lvalue-reference">
                  <pointee-type id="x2v5wd8/Skv+UtDnwS5/F27XMxc=" name="recycled&lt;T&gt;"/>
                </type>
              </return>
              <doc>
                <para>
                  <text>Return the referenced recycle bin</text>
                </para>
                <head>Exception Safety</head>
                <para>
                  <text>        Throws nothing.</text>
                </para>
              </doc>
            </function>
            <function name="get" exception-spec="noexcept" id="Zim1jhHRKp//mieYxy7DHKnHoZo=">
              <file path="boost/url/grammar/recycled.hpp" line="443" class="def"/>
              <attr id="is-const"/>
              <return>
                <type class="pointer">
                  <pointee-type name="T"/>
                </type>
              </return>
              <doc>
                <para>
                  <text>Return the referenced object</text>
                </para>
                <para>
                  <text>If this is empty, `nullptr` is returned.</text>
                </para>
                <head>Exception Safety</head>
                <para>
                  <text>        Throws nothing.</text>
                </para>
              </doc>
            </function>
            <function name="operator-&gt;" exception-spec="noexcept" id="TET7zmntHAKhMQ1mb9MUGLiWwWI=">
              <file path="boost/url/grammar/recycled.hpp" line="455" class="def"/>
              <attr id="operator" name="ptr" value="41"/>
              <attr id="is-const"/>
              <return>
                <type class="pointer">
                  <pointee-type name="T"/>
                </type>
              </return>
              <doc>
                <para>
                  <text>Return the referenced object</text>
                </para>
                <para>
                  <text>If this is empty, `nullptr` is returned.</text>
                </para>
                <head>Exception Safety</head>
                <para>
                  <text>        Throws nothing.</text>
                </para>
              </doc>
            </function>
            <function name="operator*" exception-spec="noexcept" id="pYBSGDOuJ0hkPvlhNnyZKqqXi1E=">
              <file path="boost/url/grammar/recycled.hpp" line="467" class="def"/>
              <attr id="operator" name="star" value="7"/>
              <attr id="is-const"/>
              <return>
                <type class="lvalue-reference">
                  <pointee-type name="T"/>
                </type>
              </return>
              <doc>
                <para>
                  <text>Return the referenced object</text>
                </para>
                <head>Preconditions</head>
                <code>
                  <text>        not this-&gt;empty()</text>
                </code>
              </doc>
            </function>
            <function name="acquire" id="H7LYt37AqVfhsZjHCGDQEIkojqM=">
              <file path="boost/url/grammar/impl/recycled.hpp" line="195" class="def"/>
              <file path="boost/url/grammar/recycled.hpp" line="484"/>
              <return>
                <type class="lvalue-reference">
                  <pointee-type name="T"/>
                </type>
              </return>
              <doc>
                <para>
                  <text>Return the referenced object</text>
                </para>
                <para>
                  <text>If this references an object, it is</text>
                  <text>        returned. Otherwise, exclusive ownership</text>
                  <text>        of a new object of type `T` is acquired</text>
                  <text>        and returned.</text>
                </para>
                <head>Postconditions</head>
                <code>
                  <text>        not this-&gt;empty()</text>
                </code>
              </doc>
            </function>
            <function name="release" exception-spec="noexcept" id="wqJYmH/gBkRUi2qhQzT8ZrukOu0=">
              <file path="boost/url/grammar/impl/recycled.hpp" line="205" class="def"/>
              <file path="boost/url/grammar/recycled.hpp" line="501"/>
              <doc>
                <para>
                  <text>Release the referenced object</text>
                </para>
                <para>
                  <text>If this references an object, it is</text>
                  <text>        released to the referenced recycle bin.</text>
                  <text>        The pointer continues to reference</text>
                  <text>        the same recycle bin.</text>
                </para>
                <head>Postconditions</head>
                <code>
                  <text>        this-&gt;empty()</text>
                </code>
                <head>Exception Safety</head>
                <para>
                  <text>        Throws nothing.</text>
                </para>
              </doc>
            </function>
          </class>
        </template>
        <struct name="alpha_chars_t" id="55z3SIpbPhkycMGrRu8Nxlz3KQg=">
          <file path="boost/url/grammar/alpha_chars.hpp" line="48" class="def"/>
          <function class="constructor" name="alpha_chars_t" exception-spec="noexcept" id="1NnIoBciMPmJsqb9IyR1BMVzHcA=">
            <file path="boost/url/grammar/alpha_chars.hpp" line="50" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
          </function>
          <function name="operator()" exception-spec="noexcept" id="bZcj87ASU1FJscb7fCbw0UcLEiw=">
            <file path="boost/url/grammar/alpha_chars.hpp" line="53" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="call" value="42"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="c">
              <type name="char"/>
            </param>
          </function>
          <function name="find_if" exception-spec="noexcept" id="KRgcVBO0mILVqnn/XHSQ2XcRtBw=">
            <file path="boost/url/grammar/alpha_chars.hpp" line="63" class="def"/>
            <attr id="is-const"/>
            <return>
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </return>
            <param name="first">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="last">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="find_if_not" exception-spec="noexcept" id="mSftmLeZ6ChLJtHzobSnXYIpD5k=">
            <file path="boost/url/grammar/alpha_chars.hpp" line="72" class="def"/>
            <attr id="is-const"/>
            <return>
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </return>
            <param name="first">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="last">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </struct>
        <variable name="alpha_chars" id="d7YdTQNJGO03J/WSHg33UUwcLdU=">
          <file path="boost/url/grammar/alpha_chars.hpp" line="88" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <type id="55z3SIpbPhkycMGrRu8Nxlz3KQg=" name="alpha_chars_t" cv-qualifiers="const"/>
          <doc>
            <para>
              <text>A character set containing the alphabetical characters.</text>
            </para>
            <see>
              <reference id="55z3SIpbPhkycMGrRu8Nxlz3KQg=">alpha_chars_t</reference>
            </see>
          </doc>
        </variable>
        <template>
          <tparam name="CharSet" class="type"/>
          <struct name="token_rule_t" id="sVKENex7CrH9UjPxkY4qKCl25kM=">
            <file path="boost/url/grammar/token_rule.hpp" line="57" class="def"/>
            <alias name="value_type" id="J23UdNG/UoWFPfMr/V9E+TWu9J4=">
              <file path="boost/url/grammar/token_rule.hpp" line="59" class="def"/>
              <type name="core::string_view"/>
            </alias>
            <function name="parse" exception-spec="noexcept" id="bKkJw9t/wVGVz1QcMZSKIalGIqs=">
              <file path="boost/url/grammar/impl/token_rule.hpp" line="19" class="def"/>
              <file path="boost/url/grammar/token_rule.hpp" line="65"/>
              <attr id="has-trailing-return"/>
              <attr id="is-const"/>
              <return>
                <type name="system::result&lt;value_type&gt;"/>
              </return>
              <param name="it">
                <type class="lvalue-reference">
                  <pointee-type class="pointer">
                    <pointee-type name="char" cv-qualifiers="const"/>
                  </pointee-type>
                </type>
              </param>
              <param name="end">
                <type class="pointer">
                  <pointee-type name="char" cv-qualifiers="const"/>
                </type>
              </param>
            </function>
          </struct>
        </template>
        <template>
          <tparam name="CharSet" class="type"/>
          <function name="token_rule" exception-spec="noexcept" id="xRyax4v1FkI+mJUSxdRn1lbLYNU=">
            <file path="boost/url/grammar/token_rule.hpp" line="92" class="def"/>
            <attr id="has-trailing-return"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <return>
              <type id="sVKENex7CrH9UjPxkY4qKCl25kM=" name="token_rule_t&lt;CharSet&gt;"/>
            </return>
            <param name="cs">
              <type class="lvalue-reference">
                <pointee-type name="CharSet" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="T" class="type"/>
          <class name="range" id="+9pPsGvBtUttdLyyLFPI7ibWjaE=">
            <file path="boost/url/grammar/range_rule.hpp" line="60" class="def"/>
            <doc>
              <para>
                <text>A forward range of parsed elements</text>
              </para>
              <para>
                <text>Objects of this type are forward ranges</text>
                <text>    returned when parsing using the</text>
                <reference id="JQt1HfCQ5GFE4vT8E8cyCdyP0mI=">range_rule</reference>
                <text>.    Iteration is performed by re-parsing the</text>
                <text>    underlying character buffer. Ownership</text>
                <text>    of the buffer is not transferred; the</text>
                <text>    caller is responsible for ensuring that</text>
                <text>    the lifetime of the buffer extends until</text>
                <text>    it is no longer referenced by the range.</text>
              </para>
              <para class="note">
              </para>
              <para>
                <text>The implementation may use temporary,</text>
                <text>    recycled storage for type-erasure. Objects</text>
                <text>    of type `range` are intended to be used</text>
                <text>    ephemerally. That is, for short durations</text>
                <text>    such as within a function scope. If it is</text>
                <text>    necessary to store the range for a long</text>
                <text>    period of time or with static storage</text>
                <text>    duration, it is necessary to copy the</text>
                <text>    contents to an object of a different type.</text>
              </para>
              <tparam name="T">
                <text>The value type of the range</text>
              </tparam>
              <see>
                <reference id="LkyR1hrnEFpG2KNxbVyuvzU0r8w=">parse</reference>
                <text>,</text>
                <reference id="JQt1HfCQ5GFE4vT8E8cyCdyP0mI=">range_rule</reference>
                <text>.</text>
              </see>
            </doc>
            <alias name="value_type" id="YSboS+l7DpZemDVHbhFsG0x0YFI=">
              <file path="boost/url/grammar/range_rule.hpp" line="133" class="def"/>
              <type name="T"/>
              <doc>
                <para>
                  <text>The type of each element of the range</text>
                </para>
              </doc>
            </alias>
            <alias name="reference" id="kTT07Kp33FaBpTm75LCThM8XdwQ=">
              <file path="boost/url/grammar/range_rule.hpp" line="137" class="def"/>
              <type class="lvalue-reference">
                <pointee-type name="T" cv-qualifiers="const"/>
              </type>
              <doc>
                <para>
                  <text>The type of each element of the range</text>
                </para>
              </doc>
            </alias>
            <alias name="const_reference" id="wkdwKJM5NmnhF7WfdujglpiWDew=">
              <file path="boost/url/grammar/range_rule.hpp" line="141" class="def"/>
              <type class="lvalue-reference">
                <pointee-type name="T" cv-qualifiers="const"/>
              </type>
              <doc>
                <para>
                  <text>The type of each element of the range</text>
                </para>
              </doc>
            </alias>
            <alias name="pointer" id="+NP1c0BpT1KsTjg0wPkQ1z8LCAU=">
              <file path="boost/url/grammar/range_rule.hpp" line="145" class="def"/>
              <type class="pointer">
                <pointee-type name="void" cv-qualifiers="const"/>
              </type>
              <doc>
                <para>
                  <text>Provided for compatibility, unused</text>
                </para>
              </doc>
            </alias>
            <alias name="size_type" id="pqn72zxXL7gHL0OqdX218Ao905A=">
              <file path="boost/url/grammar/range_rule.hpp" line="149" class="def"/>
              <type name="std::size_t"/>
              <doc>
                <para>
                  <text>The type used to represent unsigned integers</text>
                </para>
              </doc>
            </alias>
            <alias name="difference_type" id="w1dLgakGdhUDnN7itrQsN6mkwq0=">
              <file path="boost/url/grammar/range_rule.hpp" line="153" class="def"/>
              <type name="std::ptrdiff_t"/>
              <doc>
                <para>
                  <text>The type used to represent signed integers</text>
                </para>
              </doc>
            </alias>
            <class name="iterator" id="lCoNiFc2o6M/LXfMlqq25nSREQY=">
              <file path="boost/url/grammar/impl/range_rule.hpp" line="361" class="def"/>
              <file path="boost/url/grammar/range_rule.hpp" line="157"/>
              <doc>
                <para>
                  <text>A constant, forward iterator to elements of the range</text>
                </para>
              </doc>
              <alias name="value_type" id="13UGmacc5QLAor92QES8qQtqqYs=">
                <file path="boost/url/grammar/impl/range_rule.hpp" line="365" class="def"/>
                <type name="T"/>
              </alias>
              <alias name="reference" id="eGUN5ASJWJEvb2j/nNWiDUgmdzE=">
                <file path="boost/url/grammar/impl/range_rule.hpp" line="366" class="def"/>
                <type class="lvalue-reference">
                  <pointee-type name="T" cv-qualifiers="const"/>
                </type>
              </alias>
              <alias name="pointer" id="T+2rj9L1OmNw+HvUovljFDW+/eQ=">
                <file path="boost/url/grammar/impl/range_rule.hpp" line="367" class="def"/>
                <type class="pointer">
                  <pointee-type name="void" cv-qualifiers="const"/>
                </type>
              </alias>
              <alias name="difference_type" id="SqepiJFFUBHddmttVU4iZlXla0I=">
                <file path="boost/url/grammar/impl/range_rule.hpp" line="368" class="def"/>
                <type name="std::ptrdiff_t"/>
              </alias>
              <alias name="iterator_category" id="wohFa1mpnq3CVIrqT9Hj+G3KHDo=">
                <file path="boost/url/grammar/impl/range_rule.hpp" line="370" class="def"/>
                <type name="std::forward_iterator_tag"/>
              </alias>
              <function class="constructor" name="iterator" id="X/1duWREsfW+3S63tZxLrrOdibg=">
                <file path="boost/url/grammar/impl/range_rule.hpp" line="373" class="def"/>
                <attr id="is-defaulted"/>
                <attr id="is-explicitly-defaulted"/>
              </function>
              <function class="constructor" name="iterator" id="MEsCnqk7peDVcgrMsKvh+FmeWOo=">
                <file path="boost/url/grammar/impl/range_rule.hpp" line="374" class="def"/>
                <attr id="is-defaulted"/>
                <attr id="is-explicitly-defaulted"/>
                <param>
                  <type class="lvalue-reference">
                    <pointee-type id="lCoNiFc2o6M/LXfMlqq25nSREQY=" name="iterator" cv-qualifiers="const"/>
                  </type>
                </param>
              </function>
              <function name="operator=" id="kNVgxnniazaJKyWlsVueuFVMcgw=">
                <file path="boost/url/grammar/impl/range_rule.hpp" line="376" class="def"/>
                <attr id="is-defaulted"/>
                <attr id="is-explicitly-defaulted"/>
                <attr id="operator" name="assign" value="15"/>
                <return>
                  <type class="lvalue-reference">
                    <pointee-type id="lCoNiFc2o6M/LXfMlqq25nSREQY=" name="iterator"/>
                  </type>
                </return>
                <param>
                  <type class="lvalue-reference">
                    <pointee-type id="lCoNiFc2o6M/LXfMlqq25nSREQY=" name="iterator" cv-qualifiers="const"/>
                  </type>
                </param>
              </function>
              <function name="operator*" exception-spec="noexcept" id="tImjuAkjaDzM8Chj4OhPM55Um0A=">
                <file path="boost/url/grammar/impl/range_rule.hpp" line="379" class="def"/>
                <attr id="operator" name="star" value="7"/>
                <attr id="is-const"/>
                <return>
                  <type id="eGUN5ASJWJEvb2j/nNWiDUgmdzE=" name="reference"/>
                </return>
              </function>
              <function name="operator==" exception-spec="noexcept" id="9sI9nhQqC7rVN/P0YtZVKFgBi24=">
                <file path="boost/url/grammar/impl/range_rule.hpp" line="385" class="def"/>
                <attr id="operator" name="eq" value="30"/>
                <attr id="is-const"/>
                <return>
                  <type name="bool"/>
                </return>
                <param name="other">
                  <type class="lvalue-reference">
                    <pointee-type id="lCoNiFc2o6M/LXfMlqq25nSREQY=" name="iterator" cv-qualifiers="const"/>
                  </type>
                </param>
              </function>
              <function name="operator!=" exception-spec="noexcept" id="aohfDd2zFyGX0NZBQbI41n3lz88=">
                <file path="boost/url/grammar/impl/range_rule.hpp" line="396" class="def"/>
                <attr id="operator" name="not_eq" value="31"/>
                <attr id="is-const"/>
                <return>
                  <type name="bool"/>
                </return>
                <param name="other">
                  <type class="lvalue-reference">
                    <pointee-type id="lCoNiFc2o6M/LXfMlqq25nSREQY=" name="iterator" cv-qualifiers="const"/>
                  </type>
                </param>
              </function>
              <function name="operator++" exception-spec="noexcept" id="aksVXN6m850wjEBwcAKB/HYAi/k=">
                <file path="boost/url/grammar/impl/range_rule.hpp" line="403" class="def"/>
                <attr id="operator" name="inc" value="37"/>
                <return>
                  <type class="lvalue-reference">
                    <pointee-type id="lCoNiFc2o6M/LXfMlqq25nSREQY=" name="iterator"/>
                  </type>
                </return>
              </function>
              <function name="operator++" exception-spec="noexcept" id="WXN+0PVXu7+CLxt+DD/ZdOU2wEg=">
                <file path="boost/url/grammar/impl/range_rule.hpp" line="417" class="def"/>
                <attr id="operator" name="inc" value="37"/>
                <return>
                  <type id="lCoNiFc2o6M/LXfMlqq25nSREQY=" name="iterator"/>
                </return>
                <param>
                  <type name="int"/>
                </param>
              </function>
            </class>
            <alias name="const_iterator" id="BZ+vqmcVnYSa7VVMFUa96mvKO80=">
              <file path="boost/url/grammar/range_rule.hpp" line="161" class="def"/>
              <type id="lCoNiFc2o6M/LXfMlqq25nSREQY=" name="iterator"/>
              <doc>
                <para>
                  <text>A constant, forward iterator to elements of the range</text>
                </para>
              </doc>
            </alias>
            <function class="destructor" name="~range" id="GwzUCUTroOFdFLx+NfGe6GjihNA=">
              <file path="boost/url/grammar/impl/range_rule.hpp" line="502" class="def"/>
              <file path="boost/url/grammar/range_rule.hpp" line="165"/>
              <doc>
                <para>
                  <text>Destructor</text>
                </para>
              </doc>
            </function>
            <function class="constructor" name="range" exception-spec="noexcept" id="HgUKSC6CtXDP9RCk539xs8hFJrY=">
              <file path="boost/url/grammar/impl/range_rule.hpp" line="509" class="def"/>
              <file path="boost/url/grammar/range_rule.hpp" line="175"/>
              <doc>
                <para>
                  <text>Constructor</text>
                </para>
                <para>
                  <text>Default-constructed ranges have</text>
                  <text>        zero elements.</text>
                </para>
                <head>Exception Safety</head>
                <para>
                  <text>        Throws nothing.</text>
                </para>
              </doc>
            </function>
            <function class="constructor" name="range" exception-spec="noexcept" id="gp9xN+r2+B2adJk2lRuc2cpW+PE=">
              <file path="boost/url/grammar/impl/range_rule.hpp" line="519" class="def"/>
              <file path="boost/url/grammar/range_rule.hpp" line="191"/>
              <param name="other">
                <type class="rvalue-reference">
                  <pointee-type id="+9pPsGvBtUttdLyyLFPI7ibWjaE=" name="range"/>
                </type>
              </param>
              <doc>
                <para>
                  <text>Constructor</text>
                </para>
                <para>
                  <text>The new range references the</text>
                  <text>        same underlying character buffer.</text>
                  <text>        Ownership is not transferred; the</text>
                  <text>        caller is responsible for ensuring</text>
                  <text>        that the lifetime of the buffer</text>
                  <text>        extends until it is no longer</text>
                  <text>        referenced. The moved-from object</text>
                  <text>        becomes as if default-constructed.</text>
                </para>
                <head>Exception Safety</head>
                <para>
                  <text>        Throws nothing.</text>
                </para>
              </doc>
            </function>
            <function class="constructor" name="range" exception-spec="noexcept" id="G2CHob6s+wEtcpTLGHJLn647Z6E=">
              <file path="boost/url/grammar/impl/range_rule.hpp" line="533" class="def"/>
              <file path="boost/url/grammar/range_rule.hpp" line="206"/>
              <param name="other">
                <type class="lvalue-reference">
                  <pointee-type id="+9pPsGvBtUttdLyyLFPI7ibWjaE=" name="range" cv-qualifiers="const"/>
                </type>
              </param>
              <doc>
                <para>
                  <text>Constructor</text>
                </para>
                <para>
                  <text>The copy references the same</text>
                  <text>        underlying character buffer.</text>
                  <text>        Ownership is not transferred; the</text>
                  <text>        caller is responsible for ensuring</text>
                  <text>        that the lifetime of the buffer</text>
                  <text>        extends until it is no longer</text>
                  <text>        referenced.</text>
                </para>
                <head>Exception Safety</head>
                <para>
                  <text>        Throws nothing.</text>
                </para>
              </doc>
            </function>
            <function name="operator=" exception-spec="noexcept" id="j6ZLmLFnx4uiYhFJs3RXBmLcmMA=">
              <file path="boost/url/grammar/impl/range_rule.hpp" line="543" class="def"/>
              <file path="boost/url/grammar/range_rule.hpp" line="221"/>
              <attr id="has-trailing-return"/>
              <attr id="operator" name="assign" value="15"/>
              <return>
                <type class="lvalue-reference">
                  <pointee-type id="+9pPsGvBtUttdLyyLFPI7ibWjaE=" name="range"/>
                </type>
              </return>
              <param name="other">
                <type class="rvalue-reference">
                  <pointee-type id="+9pPsGvBtUttdLyyLFPI7ibWjaE=" name="range"/>
                </type>
              </param>
              <doc>
                <para>
                  <text>Assignment</text>
                </para>
                <para>
                  <text>After the move, this references the</text>
                  <text>        same underlying character buffer. Ownership</text>
                  <text>        is not transferred; the caller is responsible</text>
                  <text>        for ensuring that the lifetime of the buffer</text>
                  <text>        extends until it is no longer referenced.</text>
                  <text>        The moved-from object becomes as if</text>
                  <text>        default-constructed.</text>
                </para>
                <head>Exception Safety</head>
                <para>
                  <text>        Throws nothing.</text>
                </para>
              </doc>
            </function>
            <function name="operator=" exception-spec="noexcept" id="5OVop2D52L650bT4NiIBKQBCmGk=">
              <file path="boost/url/grammar/impl/range_rule.hpp" line="564" class="def"/>
              <file path="boost/url/grammar/range_rule.hpp" line="237"/>
              <attr id="has-trailing-return"/>
              <attr id="operator" name="assign" value="15"/>
              <return>
                <type class="lvalue-reference">
                  <pointee-type id="+9pPsGvBtUttdLyyLFPI7ibWjaE=" name="range"/>
                </type>
              </return>
              <param name="other">
                <type class="lvalue-reference">
                  <pointee-type id="+9pPsGvBtUttdLyyLFPI7ibWjaE=" name="range" cv-qualifiers="const"/>
                </type>
              </param>
              <doc>
                <para>
                  <text>Assignment</text>
                </para>
                <para>
                  <text>The copy references the same</text>
                  <text>        underlying character buffer.</text>
                  <text>        Ownership is not transferred; the</text>
                  <text>        caller is responsible for ensuring</text>
                  <text>        that the lifetime of the buffer</text>
                  <text>        extends until it is no longer</text>
                  <text>        referenced.</text>
                </para>
                <head>Exception Safety</head>
                <para>
                  <text>        Throws nothing.</text>
                </para>
              </doc>
            </function>
            <function name="begin" exception-spec="noexcept" id="ameCLTdn5LMZsc2bukZfOjgpgf8=">
              <file path="boost/url/grammar/impl/range_rule.hpp" line="581" class="def"/>
              <file path="boost/url/grammar/range_rule.hpp" line="242"/>
              <attr id="has-trailing-return"/>
              <attr id="is-const"/>
              <return>
                <type id="lCoNiFc2o6M/LXfMlqq25nSREQY=" name="iterator"/>
              </return>
              <doc>
                <para>
                  <text>Return an iterator to the beginning</text>
                </para>
              </doc>
            </function>
            <function name="end" exception-spec="noexcept" id="lgwMVUFk8W44LRPAk5tB+spvC98=">
              <file path="boost/url/grammar/impl/range_rule.hpp" line="590" class="def"/>
              <file path="boost/url/grammar/range_rule.hpp" line="246"/>
              <attr id="has-trailing-return"/>
              <attr id="is-const"/>
              <return>
                <type id="lCoNiFc2o6M/LXfMlqq25nSREQY=" name="iterator"/>
              </return>
              <doc>
                <para>
                  <text>Return an iterator to the end</text>
                </para>
              </doc>
            </function>
            <function name="empty" exception-spec="noexcept" id="mXJmABjAy98srkCxJJi3FGCjnDY=">
              <file path="boost/url/grammar/range_rule.hpp" line="250" class="def"/>
              <attr id="is-const"/>
              <return>
                <type name="bool"/>
              </return>
              <doc>
                <para>
                  <text>Return true if the range is empty</text>
                </para>
              </doc>
            </function>
            <function name="size" exception-spec="noexcept" id="J9qbmCElq+dKa/sjy+nZENM1fj0=">
              <file path="boost/url/grammar/range_rule.hpp" line="258" class="def"/>
              <attr id="is-const"/>
              <return>
                <type name="std::size_t"/>
              </return>
              <doc>
                <para>
                  <text>Return the number of elements in the range</text>
                </para>
              </doc>
            </function>
            <function name="string" exception-spec="noexcept" id="jA5bXUS1lPmqOsCGRYzzGIVUvcA=">
              <file path="boost/url/grammar/range_rule.hpp" line="266" class="def"/>
              <attr id="is-const"/>
              <return>
                <type name="core::string_view"/>
              </return>
              <doc>
                <para>
                  <text>Return the matching part of the string</text>
                </para>
              </doc>
            </function>
          </class>
        </template>
        <template>
          <tparam name="R0" class="type"/>
          <tparam name="R1" class="type" default="void"/>
          <struct name="range_rule_t" id="k9d0fn+hy58FGj0GV3/7f5Vgc2c=">
            <file path="boost/url/grammar/range_rule.hpp" line="504" class="def"/>
            <file path="boost/url/grammar/range_rule.hpp" line="279"/>
            <alias name="value_type" id="L+09XTIkZk/m5oMN/9SBfrq88mw=">
              <file path="boost/url/grammar/range_rule.hpp" line="506" class="def"/>
              <type id="+9pPsGvBtUttdLyyLFPI7ibWjaE=" name="range&lt;R0::value_type&gt;"/>
            </alias>
            <function name="parse" id="wXrs2ujBWZWbOAYki3Eh77k0zDA=">
              <file path="boost/url/grammar/impl/range_rule.hpp" line="670" class="def"/>
              <file path="boost/url/grammar/range_rule.hpp" line="509"/>
              <attr id="has-trailing-return"/>
              <attr id="is-const"/>
              <return>
                <type name="system::result&lt;value_type&gt;"/>
              </return>
              <param name="it">
                <type class="lvalue-reference">
                  <pointee-type class="pointer">
                    <pointee-type name="char" cv-qualifiers="const"/>
                  </pointee-type>
                </type>
              </param>
              <param name="end">
                <type class="pointer">
                  <pointee-type name="char" cv-qualifiers="const"/>
                </type>
              </param>
            </function>
          </struct>
        </template>
        <template class="partial" id="k9d0fn+hy58FGj0GV3/7f5Vgc2c=">
          <tparam name="R" class="type"/>
          <targ class="type" type="R"/>
          <struct name="range_rule_t" id="Fn7AMX+IsgP8JyTaN6w/ypzPR5M=">
            <file path="boost/url/grammar/range_rule.hpp" line="359" class="def"/>
            <alias name="value_type" id="wQjYZqpYuKopnIc/yVPia4Ivkvg=">
              <file path="boost/url/grammar/range_rule.hpp" line="361" class="def"/>
              <type id="+9pPsGvBtUttdLyyLFPI7ibWjaE=" name="range&lt;R::value_type&gt;"/>
            </alias>
            <function name="parse" id="qJMATcassmOVFspqStJTfwUTyAI=">
              <file path="boost/url/grammar/impl/range_rule.hpp" line="601" class="def"/>
              <file path="boost/url/grammar/range_rule.hpp" line="364"/>
              <attr id="has-trailing-return"/>
              <attr id="is-const"/>
              <return>
                <type name="system::result&lt;value_type&gt;"/>
              </return>
              <param name="it">
                <type class="lvalue-reference">
                  <pointee-type class="pointer">
                    <pointee-type name="char" cv-qualifiers="const"/>
                  </pointee-type>
                </type>
              </param>
              <param name="end">
                <type class="pointer">
                  <pointee-type name="char" cv-qualifiers="const"/>
                </type>
              </param>
            </function>
          </struct>
        </template>
        <template>
          <tparam name="Rule" class="type"/>
          <function name="range_rule" exception-spec="noexcept" id="ljSU0tYGooNOiTQQ4F2IqvaAqWw=">
            <file path="boost/url/grammar/range_rule.hpp" line="396" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <return>
              <type id="k9d0fn+hy58FGj0GV3/7f5Vgc2c=" name="range_rule_t&lt;Rule&gt;"/>
            </return>
            <param name="next">
              <type class="lvalue-reference">
                <pointee-type name="Rule" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="N" default="0">
              <type name="std::size_t"/>
            </param>
            <param name="M" default="std::size_t(-1)">
              <type name="std::size_t"/>
            </param>
          </function>
        </template>
        <template>
          <tparam name="Rule1" class="type"/>
          <tparam name="Rule2" class="type"/>
          <function name="range_rule" exception-spec="noexcept" id="JQt1HfCQ5GFE4vT8E8cyCdyP0mI=">
            <file path="boost/url/grammar/range_rule.hpp" line="554" class="def"/>
            <attr id="has-trailing-return"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <return>
              <type id="k9d0fn+hy58FGj0GV3/7f5Vgc2c=" name="range_rule_t&lt;Rule1, Rule2&gt;"/>
            </return>
            <param name="first">
              <type class="lvalue-reference">
                <pointee-type name="Rule1" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="next">
              <type class="lvalue-reference">
                <pointee-type name="Rule2" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="N" default="0">
              <type name="std::size_t"/>
            </param>
            <param name="M" default="std::size_t(-1)">
              <type name="std::size_t"/>
            </param>
          </function>
        </template>
        <struct name="alnum_chars_t" id="Su0YpDXkcB+G2o7Vse4aR/qBIAs=">
          <file path="boost/url/grammar/alnum_chars.hpp" line="53" class="def"/>
          <function name="operator()" exception-spec="noexcept" id="qrMccTdd7KzHVwvcu3ER6plfiNc=">
            <file path="boost/url/grammar/alnum_chars.hpp" line="55" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="call" value="42"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="c">
              <type name="char"/>
            </param>
          </function>
          <function name="find_if" exception-spec="noexcept" id="PTk03Q7XVBC/d39rZz4+1Hib+GU=">
            <file path="boost/url/grammar/alnum_chars.hpp" line="66" class="def"/>
            <attr id="is-const"/>
            <return>
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </return>
            <param name="first">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="last">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="find_if_not" exception-spec="noexcept" id="j/NFO+wg7x6qcUbebHwvGJoJrMw=">
            <file path="boost/url/grammar/alnum_chars.hpp" line="75" class="def"/>
            <attr id="is-const"/>
            <return>
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </return>
            <param name="first">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="last">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </struct>
        <variable name="alnum_chars" id="KtYcXkgaXTfO7spDy/S3Zqu5+DQ=">
          <file path="boost/url/grammar/alnum_chars.hpp" line="86" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <type id="Su0YpDXkcB+G2o7Vse4aR/qBIAs=" name="alnum_chars_t" cv-qualifiers="const"/>
        </variable>
        <struct name="vchars_t" id="TvVEgpZvpmwp0MXw0L5CxlOVqCs=">
          <file path="boost/url/grammar/vchars.hpp" line="48" class="def"/>
          <function name="operator()" exception-spec="noexcept" id="sO8LMkpOUnKHTy68Xs4UcsCqrng=">
            <file path="boost/url/grammar/vchars.hpp" line="50" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="call" value="42"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="c">
              <type name="char"/>
            </param>
          </function>
          <function name="find_if" exception-spec="noexcept" id="MC+YQ+NgxjhWrPRXNx6mtG84Qlk=">
            <file path="boost/url/grammar/vchars.hpp" line="58" class="def"/>
            <attr id="is-const"/>
            <return>
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </return>
            <param name="first">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="last">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="find_if_not" exception-spec="noexcept" id="8KbX/7o3nMOrS9bKO+SPQV5cNZA=">
            <file path="boost/url/grammar/vchars.hpp" line="67" class="def"/>
            <attr id="is-const"/>
            <return>
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </return>
            <param name="first">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
            <param name="last">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </struct>
        <variable name="vchars" id="5EAOeMjGjcl9HrYrkUHpxzX2ZpM=">
          <file path="boost/url/grammar/vchars.hpp" line="78" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <type id="TvVEgpZvpmwp0MXw0L5CxlOVqCs=" name="vchars_t" cv-qualifiers="const"/>
        </variable>
        <struct name="dec_octet_rule_t" id="xaF8vpHbtpOjJ0kANPaMOyVOE2I=">
          <file path="boost/url/grammar/dec_octet_rule.hpp" line="56" class="def"/>
          <alias name="value_type" id="HHKnE7bFjXrziiWKORsF3a48DpE=">
            <file path="boost/url/grammar/dec_octet_rule.hpp" line="58" class="def"/>
            <type name="unsigned char"/>
          </alias>
          <function name="parse" exception-spec="noexcept" id="d59qmN5HlVA7VTBV/AIOrkRRGPM=">
            <file path="boost/url/grammar/dec_octet_rule.hpp" line="61"/>
            <attr id="has-trailing-return"/>
            <attr id="is-const"/>
            <return>
              <type name="system::result&lt;value_type&gt;"/>
            </return>
            <param name="it">
              <type class="lvalue-reference">
                <pointee-type class="pointer">
                  <pointee-type name="char" cv-qualifiers="const"/>
                </pointee-type>
              </type>
            </param>
            <param name="end">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </struct>
        <variable name="dec_octet_rule" id="wGQE3O3P2kijozE1QPKz8pdNszQ=">
          <file path="boost/url/grammar/dec_octet_rule.hpp" line="69" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <type id="xaF8vpHbtpOjJ0kANPaMOyVOE2I=" name="dec_octet_rule_t" cv-qualifiers="const"/>
        </variable>
        <class name="literal_rule" id="XMite/FuGUZ+4DHIikZwrlGV6fA=">
          <file path="boost/url/grammar/literal_rule.hpp" line="49" class="def"/>
          <alias name="value_type" id="UahLEcXGmRVOh/eXbc0zmLPXzvY=">
            <file path="boost/url/grammar/literal_rule.hpp" line="65" class="def"/>
            <type name="core::string_view"/>
          </alias>
          <function class="constructor" name="literal_rule" exception-spec="noexcept" explicit-spec="explicit" id="wqG7oeAarOkPxdQp282siLuYsgM=">
            <file path="boost/url/grammar/literal_rule.hpp" line="67" class="def"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <param name="s">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="parse" exception-spec="noexcept" id="qlxK9wNfX5MDpvVkZgw2FDLygsg=">
            <file path="boost/url/grammar/literal_rule.hpp" line="77"/>
            <attr id="is-const"/>
            <return>
              <type name="system::result&lt;value_type&gt;"/>
            </return>
            <param name="it">
              <type class="lvalue-reference">
                <pointee-type class="pointer">
                  <pointee-type name="char" cv-qualifiers="const"/>
                </pointee-type>
              </type>
            </param>
            <param name="end">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </class>
        <template>
          <tparam name="R" class="type"/>
          <struct name="not_empty_rule_t" id="FofIvVZPiSh0DI/QRDC83ZetyBU=">
            <file path="boost/url/grammar/not_empty_rule.hpp" line="53" class="def"/>
            <alias name="value_type" id="QkrobjZkSIn/JYcbcxSBo8WjTg4=">
              <file path="boost/url/grammar/not_empty_rule.hpp" line="55" class="def"/>
              <type name="R::value_type"/>
            </alias>
            <function name="parse" id="SMKJ7E5cOugbLFjfnV00+wLNS5c=">
              <file path="boost/url/grammar/impl/not_empty_rule.hpp" line="20" class="def"/>
              <file path="boost/url/grammar/not_empty_rule.hpp" line="58"/>
              <attr id="has-trailing-return"/>
              <attr id="is-const"/>
              <return>
                <type name="system::result&lt;value_type&gt;"/>
              </return>
              <param name="it">
                <type class="lvalue-reference">
                  <pointee-type class="pointer">
                    <pointee-type name="char" cv-qualifiers="const"/>
                  </pointee-type>
                </type>
              </param>
              <param name="end">
                <type class="pointer">
                  <pointee-type name="char" cv-qualifiers="const"/>
                </type>
              </param>
            </function>
            <friend id="EWKloZ+UW3U/sFLoI898OcND3B8=">
              <file path="boost/url/grammar/not_empty_rule.hpp" line="64" class="def"/>
              <befriended id="2XRo15NjqJMGQ6bmElNPUfngGNw="/>
            </friend>
          </struct>
        </template>
        <template>
          <tparam name="R_" class="type"/>
          <function name="not_empty_rule" id="2XRo15NjqJMGQ6bmElNPUfngGNw=">
            <file path="boost/url/grammar/not_empty_rule.hpp" line="65"/>
            <attr id="has-trailing-return"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <return>
              <type id="FofIvVZPiSh0DI/QRDC83ZetyBU=" name="not_empty_rule_t&lt;R_&gt;"/>
            </return>
            <param name="r">
              <type class="lvalue-reference">
                <pointee-type name="R_" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <template>
          <tparam name="Rule" class="type"/>
          <function name="not_empty_rule" id="uaT1z1iJkrOexOri8Sd07YSR8AY=">
            <file path="boost/url/grammar/not_empty_rule.hpp" line="84" class="def"/>
            <attr id="has-trailing-return"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <return>
              <type id="FofIvVZPiSh0DI/QRDC83ZetyBU=" name="not_empty_rule_t&lt;Rule&gt;"/>
            </return>
            <param name="r">
              <type class="lvalue-reference">
                <pointee-type name="Rule" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
      </namespace>
      <class name="decode_view" id="IhE/V16b2wBX2q+s4QtlgzozWlQ=">
        <file path="boost/url/decode_view.hpp" line="87" class="def"/>
        <file path="boost/url/decode_view.hpp" line="27"/>
        <file path="boost/url/pct_string_view.hpp" line="31"/>
        <doc>
          <para>
            <text>A reference to a valid, percent-encoded string</text>
          </para>
          <para>
            <text>These views reference strings in parts of URLs</text>
            <text>    or other components that are percent-encoded.</text>
            <text>    The special characters (those not in the</text>
            <text>    allowed character set) are stored as three</text>
            <text>    character escapes that consist of a percent</text>
            <text>    sign (&apos;%%&apos;) followed by a two-digit hexadecimal</text>
            <text>    number of the corresponding unescaped character</text>
            <text>    code, which may be part of a UTF-8 code point</text>
            <text>    depending on the context.</text>
          </para>
          <para>
            <text>The view refers to the original character</text>
            <text>    buffer and only decodes escaped sequences when</text>
            <text>    needed. In particular these operations perform</text>
            <text>    percent-decoding automatically without the</text>
            <text>    need to allocate memory:</text>
          </para>
          <listitem>
            <text>Iteration of the string</text>
          </listitem>
          <listitem>
            <text>Accessing the encoded character buffer</text>
          </listitem>
          <listitem>
            <text>Comparison to encoded or plain strings</text>
          </listitem>
          <para>
            <text>These objects can only be constructed from</text>
            <text>    strings that have a valid percent-encoding,</text>
            <text>    otherwise construction fails. The caller is</text>
            <text>    responsible for ensuring that the lifetime</text>
            <text>    of the character buffer from which the view</text>
            <text>    is constructed extends unmodified until the</text>
            <text>    view is no longer accessed.</text>
          </para>
          <head>Operators</head>
          <para>
            <text>    The following operators are supported between</text>
            <reference id="eAPVm8NQBej8p5oB1rosq8FXRJ8=">decode_view</reference>
            <text> and any object that is convertible</text>
            <text>    to `core::string_view`</text>
          </para>
          <code>
            <text>    bool operator==( decode_view, decode_view ) noexcept;</text>
            <text>    bool operator!=( decode_view, decode_view ) noexcept;</text>
            <text>    bool operator&lt;=( decode_view, decode_view ) noexcept;</text>
            <text>    bool operator&lt; ( decode_view, decode_view ) noexcept;</text>
            <text>    bool operator&gt; ( decode_view, decode_view ) noexcept;</text>
            <text>    bool operator&gt;=( decode_view, decode_view ) noexcept;</text>
          </code>
        </doc>
        <alias name="value_type" id="O/soISCAhETK++CfqOUnFdf5Yew=">
          <file path="boost/url/decode_view.hpp" line="113" class="def"/>
          <type name="char"/>
          <doc>
            <para>
              <text>The value type</text>
            </para>
          </doc>
        </alias>
        <alias name="reference" id="LM/YiIa7wGjCUI6gFgqSOYdXFiI=">
          <file path="boost/url/decode_view.hpp" line="117" class="def"/>
          <type name="char"/>
          <doc>
            <para>
              <text>The reference type</text>
            </para>
          </doc>
        </alias>
        <alias name="const_reference" id="dsoXs8+IEzA2gxkXsKc05jhx6i8=">
          <file path="boost/url/decode_view.hpp" line="120" class="def"/>
          <type name="char"/>
          <doc>
            <para>
              <copydoc id="LM/YiIa7wGjCUI6gFgqSOYdXFiI=">reference</copydoc>
            </para>
          </doc>
        </alias>
        <alias name="size_type" id="WUarjL7s5UjYPh79iCrkYCBGvys=">
          <file path="boost/url/decode_view.hpp" line="124" class="def"/>
          <type name="std::size_t"/>
          <doc>
            <para>
              <text>The unsigned integer type</text>
            </para>
          </doc>
        </alias>
        <alias name="difference_type" id="ITBKnjnb+u9SjtqEBf3ZGhgPMug=">
          <file path="boost/url/decode_view.hpp" line="128" class="def"/>
          <type name="std::ptrdiff_t"/>
          <doc>
            <para>
              <text>The signed integer type</text>
            </para>
          </doc>
        </alias>
        <class name="iterator" id="RJjaGOGrDXihzByQ5SCUDOMvJUQ=">
          <file path="boost/url/impl/decode_view.hpp" line="19" class="def"/>
          <file path="boost/url/decode_view.hpp" line="141"/>
          <alias name="value_type" id="nXK+Oaw287BxgMkE+I17zFv750E=">
            <file path="boost/url/impl/decode_view.hpp" line="49" class="def"/>
            <type name="char"/>
          </alias>
          <alias name="reference" id="ZwqnkX6HVsvrH5XsAvcW9U2Vd+0=">
            <file path="boost/url/impl/decode_view.hpp" line="50" class="def"/>
            <type name="char"/>
          </alias>
          <alias name="pointer" id="sogQyTfxouiCe/m+qA9yTXA1mpM=">
            <file path="boost/url/impl/decode_view.hpp" line="51" class="def"/>
            <type class="pointer">
              <pointee-type name="void" cv-qualifiers="const"/>
            </type>
          </alias>
          <alias name="const_reference" id="K/iBxmRMAWJVLA4gzbf0N8z0Wf4=">
            <file path="boost/url/impl/decode_view.hpp" line="52" class="def"/>
            <type name="char"/>
          </alias>
          <alias name="size_type" id="Cu4lIB/UdkSXkH3IJCfrY9dDPgE=">
            <file path="boost/url/impl/decode_view.hpp" line="53" class="def"/>
            <type name="std::size_t"/>
          </alias>
          <alias name="difference_type" id="cs0MNAs0obOzBNmenTx8jFcurp0=">
            <file path="boost/url/impl/decode_view.hpp" line="54" class="def"/>
            <type name="std::ptrdiff_t"/>
          </alias>
          <alias name="iterator_category" id="MGHOkHR1L9B/wZqwFRRKszzVA+U=">
            <file path="boost/url/impl/decode_view.hpp" line="55" class="def"/>
            <type name="std::bidirectional_iterator_tag"/>
          </alias>
          <function class="constructor" name="iterator" id="UTAnaJbRGHm/0ItN8b6dKf4WUDQ=">
            <file path="boost/url/impl/decode_view.hpp" line="58" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
          </function>
          <function class="constructor" name="iterator" id="fH26l8eJAGPBFZDHbE8wJuJNENY=">
            <file path="boost/url/impl/decode_view.hpp" line="60" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <param>
              <type class="lvalue-reference">
                <pointee-type id="RJjaGOGrDXihzByQ5SCUDOMvJUQ=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="operator=" id="WGR7jQmNSxPQOoGj/zGA4t2Ko8s=">
            <file path="boost/url/impl/decode_view.hpp" line="62" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="assign" value="15"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="RJjaGOGrDXihzByQ5SCUDOMvJUQ=" name="iterator"/>
              </type>
            </return>
            <param>
              <type class="lvalue-reference">
                <pointee-type id="RJjaGOGrDXihzByQ5SCUDOMvJUQ=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="operator*" exception-spec="noexcept" id="1TwHjq7WIzQ71m8ykRjnvvRHbdk=">
            <file path="boost/url/impl/decode_view.hpp" line="66"/>
            <attr id="operator" name="star" value="7"/>
            <attr id="is-const"/>
            <return>
              <type id="ZwqnkX6HVsvrH5XsAvcW9U2Vd+0=" name="reference"/>
            </return>
          </function>
          <function name="operator++" exception-spec="noexcept" id="r45S9lkCDO3U2HheJeIiGnNvtwU=">
            <file path="boost/url/impl/decode_view.hpp" line="69" class="def"/>
            <attr id="operator" name="inc" value="37"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="RJjaGOGrDXihzByQ5SCUDOMvJUQ=" name="iterator"/>
              </type>
            </return>
          </function>
          <function name="operator--" exception-spec="noexcept" id="SF6z8srj1KaqlTnHmxsEStIazBo=">
            <file path="boost/url/impl/decode_view.hpp" line="80" class="def"/>
            <attr id="operator" name="dec" value="38"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="RJjaGOGrDXihzByQ5SCUDOMvJUQ=" name="iterator"/>
              </type>
            </return>
          </function>
          <function name="operator++" exception-spec="noexcept" id="cc2ZA1+IbbUGwbP7zF///WCGoJg=">
            <file path="boost/url/impl/decode_view.hpp" line="92" class="def"/>
            <attr id="operator" name="inc" value="37"/>
            <return>
              <type id="RJjaGOGrDXihzByQ5SCUDOMvJUQ=" name="iterator"/>
            </return>
            <param>
              <type name="int"/>
            </param>
          </function>
          <function name="operator--" exception-spec="noexcept" id="rcI98lk0seuIslFK98uH0ge/fGY=">
            <file path="boost/url/impl/decode_view.hpp" line="100" class="def"/>
            <attr id="operator" name="dec" value="38"/>
            <return>
              <type id="RJjaGOGrDXihzByQ5SCUDOMvJUQ=" name="iterator"/>
            </return>
            <param>
              <type name="int"/>
            </param>
          </function>
          <function name="base" id="RF04VuaxYVECL7uyszdvRCeRAaU=">
            <file path="boost/url/impl/decode_view.hpp" line="108" class="def"/>
            <return>
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </return>
          </function>
          <function name="operator==" exception-spec="noexcept" id="0p2rfnC3mnQjVpjvgdQAJPZC/b4=">
            <file path="boost/url/impl/decode_view.hpp" line="114" class="def"/>
            <attr id="operator" name="eq" value="30"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="other">
              <type class="lvalue-reference">
                <pointee-type id="RJjaGOGrDXihzByQ5SCUDOMvJUQ=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="operator!=" exception-spec="noexcept" id="7/r+M5bDO+54Vk1EA2Z3/yNHeck=">
            <file path="boost/url/impl/decode_view.hpp" line="121" class="def"/>
            <attr id="operator" name="not_eq" value="31"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="other">
              <type class="lvalue-reference">
                <pointee-type id="RJjaGOGrDXihzByQ5SCUDOMvJUQ=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </class>
        <alias name="const_iterator" id="+WFGa/Npazkk2KQxJFMCObnV1ys=">
          <file path="boost/url/decode_view.hpp" line="145" class="def"/>
          <type id="RJjaGOGrDXihzByQ5SCUDOMvJUQ=" name="iterator"/>
          <doc>
            <para>
              <copydoc id="RJjaGOGrDXihzByQ5SCUDOMvJUQ=">iterator</copydoc>
            </para>
          </doc>
        </alias>
        <function class="constructor" name="decode_view" exception-spec="noexcept" id="eAPVm8NQBej8p5oB1rosq8FXRJ8=">
          <file path="boost/url/decode_view.hpp" line="174" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>Default-constructed views represent</text>
              <text>        empty strings.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        decode_view ds;</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;empty() == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="decode_view" exception-spec="noexcept" explicit-spec="explicit" id="NJSj5E+0oy7t+s0NXR2ZXjQ9xtI=">
          <file path="boost/url/decode_view.hpp" line="209" class="def"/>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <param name="opt" default="= {}">
            <type id="Bb04pNwExynJkzlY9a9GCeeB13k=" name="encoding_opts"/>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>This constructs a view from the character</text>
              <text>        buffer `s`, which must remain valid and</text>
              <text>        unmodified until the view is no longer</text>
              <text>        accessed.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        decode_view ds( &quot;Program%20Files&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;encoded() == s</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `s.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        The string contains an invalid percent encoding.</text>
            </throws>
            <param name="s">
              <text>A percent-encoded string that has</text>
              <text>        already been validated.</text>
            </param>
            <param name="opt">
              <text>The options for decoding. If</text>
              <text>        this parameter is omitted, the default</text>
              <text>        options are used.</text>
            </param>
          </doc>
        </function>
        <function name="empty" exception-spec="noexcept" id="QTP+smKy42IX23/bha0/lCZuKvA=">
          <file path="boost/url/decode_view.hpp" line="239" class="def"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if the string is empty</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( decode_view( &quot;&quot; ).empty() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="size" exception-spec="noexcept" id="ptE1sYaL1GIlVlRsxzTe47e7hKA=">
          <file path="boost/url/decode_view.hpp" line="263" class="def"/>
          <attr id="is-const"/>
          <return>
            <type id="WUarjL7s5UjYPh79iCrkYCBGvys=" name="size_type"/>
          </return>
          <doc>
            <para>
              <text>Return the number of decoded characters</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( decode_view( &quot;Program%20Files&quot; ).size() == 13 );</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return std::distance( this-&gt;begin(), this-&gt;end() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="begin" exception-spec="noexcept" id="iQLLg5LXS5HS59iawKegjBizWrs=">
          <file path="boost/url/impl/decode_view.hpp" line="131" class="def"/>
          <file path="boost/url/decode_view.hpp" line="282"/>
          <attr id="has-trailing-return"/>
          <attr id="is-const"/>
          <return>
            <type id="RJjaGOGrDXihzByQ5SCUDOMvJUQ=" name="iterator"/>
          </return>
          <doc>
            <para>
              <text>Return an iterator to the beginning</text>
            </para>
            <head>Example</head>
            <code>
              <text>        auto it = this-&gt;begin();</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="end" exception-spec="noexcept" id="4wmBqe+LhDEIACWF3EGP0Bd6HAY=">
          <file path="boost/url/impl/decode_view.hpp" line="140" class="def"/>
          <file path="boost/url/decode_view.hpp" line="298"/>
          <attr id="has-trailing-return"/>
          <attr id="is-const"/>
          <return>
            <type id="RJjaGOGrDXihzByQ5SCUDOMvJUQ=" name="iterator"/>
          </return>
          <doc>
            <para>
              <text>Return an iterator to the end</text>
            </para>
            <head>Example</head>
            <code>
              <text>        auto it = this-&gt;end();</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="front" exception-spec="noexcept" id="De4rjcxEx6Iu5WjQwYtqucglfeU=">
          <file path="boost/url/impl/decode_view.hpp" line="149" class="def"/>
          <file path="boost/url/decode_view.hpp" line="319"/>
          <attr id="has-trailing-return"/>
          <attr id="is-const"/>
          <return>
            <type id="LM/YiIa7wGjCUI6gFgqSOYdXFiI=" name="reference"/>
          </return>
          <doc>
            <para>
              <text>Return the first character</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( decode_view( &quot;Program%20Files&quot; ).front() == &apos;P&apos; );</text>
            </code>
            <head>Preconditions</head>
            <code>
              <text>        not this-&gt;empty()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="back" exception-spec="noexcept" id="v2MvnLejOCbc7GCMe4SUCqYdzuw=">
          <file path="boost/url/impl/decode_view.hpp" line="159" class="def"/>
          <file path="boost/url/decode_view.hpp" line="340"/>
          <attr id="has-trailing-return"/>
          <attr id="is-const"/>
          <return>
            <type id="LM/YiIa7wGjCUI6gFgqSOYdXFiI=" name="reference"/>
          </return>
          <doc>
            <para>
              <text>Return the last character</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( decode_view( &quot;Program%20Files&quot; ).back() == &apos;s&apos; );</text>
            </code>
            <head>Preconditions</head>
            <code>
              <text>        not this-&gt;empty()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="starts_with" exception-spec="noexcept" id="F+yFoNgUzmS6yORtPEWliD3Vu9c=">
          <file path="boost/url/decode_view.hpp" line="357"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Checks if the string begins with the given prefix</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( decode_view( &quot;Program%20Files&quot; ).starts_with(&quot;Program&quot;) );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="ends_with" exception-spec="noexcept" id="SD4KpfDtgThHckp4c8NPgXJKNkk=">
          <file path="boost/url/decode_view.hpp" line="374"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Checks if the string ends with the given prefix</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( decode_view( &quot;Program%20Files&quot; ).ends_with(&quot;Files&quot;) );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="starts_with" exception-spec="noexcept" id="tFrTSrWJPm4x57tvMriM/hN4uuU=">
          <file path="boost/url/decode_view.hpp" line="391"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <param name="ch">
            <type name="char"/>
          </param>
          <doc>
            <para>
              <text>Checks if the string begins with the given prefix</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( decode_view( &quot;Program%20Files&quot; ).starts_with(&apos;P&apos;) );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="ends_with" exception-spec="noexcept" id="0sYolzp16RbCmWwB4be5Gy+vvww=">
          <file path="boost/url/decode_view.hpp" line="408"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <param name="ch">
            <type name="char"/>
          </param>
          <doc>
            <para>
              <text>Checks if the string ends with the given prefix</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( decode_view( &quot;Program%20Files&quot; ).ends_with(&apos;s&apos;) );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="find" exception-spec="noexcept" id="hkeL0A/pJ2UIzzTmm96nKrt+LBs=">
          <file path="boost/url/decode_view.hpp" line="420"/>
          <attr id="is-const"/>
          <return>
            <type id="+WFGa/Npazkk2KQxJFMCObnV1ys=" name="const_iterator"/>
          </return>
          <param name="ch">
            <type name="char"/>
          </param>
          <doc>
            <para>
              <text>Finds the first occurrence of character in this view</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="rfind" exception-spec="noexcept" id="C6JRbh3doXEX3onBJSrJ0o10rjY=">
          <file path="boost/url/decode_view.hpp" line="432"/>
          <attr id="is-const"/>
          <return>
            <type id="+WFGa/Npazkk2KQxJFMCObnV1ys=" name="const_iterator"/>
          </return>
          <param name="ch">
            <type name="char"/>
          </param>
          <doc>
            <para>
              <text>Finds the first occurrence of character in this view</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="remove_prefix" id="effH9yxIklQocxw3XKF/4ett1w4=">
          <file path="boost/url/decode_view.hpp" line="453"/>
          <param name="n">
            <type id="WUarjL7s5UjYPh79iCrkYCBGvys=" name="size_type"/>
          </param>
          <doc>
            <para>
              <text>Remove the first characters</text>
            </para>
            <head>Example</head>
            <code>
              <text>        decode_view d( &quot;Program%20Files&quot; );</text>
              <text>        d.remove_prefix( 8 );</text>
              <text>        assert( d == &quot;Files&quot; );</text>
            </code>
            <head>Preconditions</head>
            <code>
              <text>        not this-&gt;empty()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear.</text>
            </para>
          </doc>
        </function>
        <function name="remove_suffix" id="1R4DUvuQwKv6WlHxyYjr93Kkscw=">
          <file path="boost/url/decode_view.hpp" line="474"/>
          <param name="n">
            <type id="WUarjL7s5UjYPh79iCrkYCBGvys=" name="size_type"/>
          </param>
          <doc>
            <para>
              <text>Remove the last characters</text>
            </para>
            <head>Example</head>
            <code>
              <text>        decode_view d( &quot;Program%20Files&quot; );</text>
              <text>        d.remove_prefix( 6 );</text>
              <text>        assert( d == &quot;Program&quot; );</text>
            </code>
            <head>Preconditions</head>
            <code>
              <text>        not this-&gt;empty()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear.</text>
            </para>
          </doc>
        </function>
        <function name="options" exception-spec="noexcept" id="sz1hEG7HjWYfKnVM/UYsW1p+Oac=">
          <file path="boost/url/decode_view.hpp" line="479" class="def"/>
          <attr id="is-const"/>
          <return>
            <type id="Bb04pNwExynJkzlY9a9GCeeB13k=" name="encoding_opts"/>
          </return>
          <doc>
            <para>
              <text>Return the decoding options</text>
            </para>
          </doc>
        </function>
        <function name="compare" exception-spec="noexcept" id="Kb6J2yY/SCb3BaJqiBQ1RbA9hi8=">
          <file path="boost/url/decode_view.hpp" line="511"/>
          <attr id="is-const"/>
          <return>
            <type name="int"/>
          </return>
          <param name="other">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Return the result of comparing to another string</text>
            </para>
            <para>
              <text>The length of the sequences to compare is the smaller of</text>
              <text>        `size()` and `other.size()`.</text>
            </para>
            <para>
              <text>The function compares the two strings as if by calling</text>
              <text>        `char_traits&lt;char&gt;::compare(to_string().data(), v.data(), rlen)`.</text>
              <text>        This means the comparison is performed with</text>
              <text>        percent-decoding applied to the current string.</text>
            </para>
            <param name="other">
              <text>string to compare</text>
            </param>
            <returns>
              <text>Negative value if this string is less than the other</text>
              <text>        character sequence, zero if the both character sequences are</text>
              <text>        equal, positive value if this string is greater than the other</text>
              <text>        character sequence</text>
            </returns>
          </doc>
        </function>
        <function name="compare" exception-spec="noexcept" id="FDIGmTcdvZb4fiCd43F/oGgGwBo=">
          <file path="boost/url/decode_view.hpp" line="532"/>
          <attr id="is-const"/>
          <return>
            <type name="int"/>
          </return>
          <param name="other">
            <type id="IhE/V16b2wBX2q+s4QtlgzozWlQ=" name="decode_view"/>
          </param>
          <doc>
            <para>
              <text>Return the result of comparing to another string</text>
            </para>
            <para>
              <text>The length of the sequences to compare is the smaller of</text>
              <text>        `size()` and `other.size()`.</text>
            </para>
            <para>
              <text>The function compares the two strings as if by calling</text>
              <text>        `char_traits&lt;char&gt;::compare(to_string().data(), v.to_string().data(), rlen)`.</text>
              <text>        This means the comparison is performed with</text>
              <text>        percent-decoding applied to the current string.</text>
            </para>
            <param name="other">
              <text>string to compare</text>
            </param>
            <returns>
              <text>Negative value if this string is less than the other</text>
              <text>        character sequence, zero if the both character sequences are</text>
              <text>        equal, positive value if this string is greater than the other</text>
              <text>        character sequence</text>
            </returns>
          </doc>
        </function>
        <friend id="qt73CXWbxtwrGAL9ZKwHC1Ed4gA=">
          <file path="boost/url/decode_view.hpp" line="578" class="def"/>
          <befriended id="4pEKu03yR9ZowXdEZPpFnGpxCmc="/>
        </friend>
        <friend id="TGUAGDZyZyPmGtdaq0c3xSvxu4c=">
          <file path="boost/url/decode_view.hpp" line="587" class="def"/>
          <befriended id="O4yrWN/Of4a6ow24M80lJYW6gEU="/>
        </friend>
        <friend id="5/TBLAGQUz598eu0Bw1DAY4b3Z4=">
          <file path="boost/url/decode_view.hpp" line="596" class="def"/>
          <befriended id="sg5mlrDKUHz4SQoIap890UNWmVQ="/>
        </friend>
        <friend id="yIcBc9hZ31MUJ5BTRfES339/zOA=">
          <file path="boost/url/decode_view.hpp" line="605" class="def"/>
          <befriended id="YKmUSBmJ1vcnIev7/l94TF1zge4="/>
        </friend>
        <friend id="dDs99Byal8n9z9ZYfa4uiwbPN/c=">
          <file path="boost/url/decode_view.hpp" line="614" class="def"/>
          <befriended id="LK8MvPUBVF4CWaAoEYdd6uM7Wpc="/>
        </friend>
        <friend id="Hi1wkcYJAn04gziUhDA+Ox05/I4=">
          <file path="boost/url/decode_view.hpp" line="623" class="def"/>
          <befriended id="FDP+oZYxuF0gCi9xiWtk9ebI+hI="/>
        </friend>
        <friend id="oSHy5+aYW/Dt2kJ0n97QP7sm/rY=">
          <file path="boost/url/decode_view.hpp" line="634" class="def"/>
          <befriended id="Rq3dRXMGOM1zfmg72uddgjVtVqQ="/>
        </friend>
      </class>
      <class name="pct_string_view" id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=">
        <file path="boost/url/pct_string_view.hpp" line="73" class="def"/>
        <file path="boost/url/pct_string_view.hpp" line="32"/>
        <base>
          <type id="Y1nkEDuKr1UIyB9Ya2bXvHYVwIY=" name="grammar::string_view_base"/>
        </base>
        <doc>
          <para>
            <text>A reference to a valid percent-encoded string</text>
          </para>
          <para>
            <text>Objects of this type behave like a</text>
            <text>    `core::string_view` and have the same interface,</text>
            <text>    but offer an additional invariant: they can</text>
            <text>    only be constructed from strings containing</text>
            <text>    valid percent-escapes.</text>
          </para>
          <para>
            <text>Attempting construction from a string</text>
            <text>    containing invalid or malformed percent</text>
            <text>    escapes results in an exception.</text>
          </para>
          <head>Operators</head>
          <para>
            <text>    The following operators are supported between</text>
            <reference id="B6Omwxmd0wianQ380vWy5MdjNts=">pct_string_view</reference>
            <text> and any object that is</text>
            <text>    convertible to `core::string_view`</text>
          </para>
          <code>
            <text>    bool operator==( pct_string_view, pct_string_view ) noexcept;</text>
            <text>    bool operator!=( pct_string_view, pct_string_view ) noexcept;</text>
            <text>    bool operator&lt;=( pct_string_view, pct_string_view ) noexcept;</text>
            <text>    bool operator&lt; ( pct_string_view, pct_string_view ) noexcept;</text>
            <text>    bool operator&gt; ( pct_string_view, pct_string_view ) noexcept;</text>
            <text>    bool operator&gt;=( pct_string_view, pct_string_view ) noexcept;</text>
          </code>
        </doc>
        <function class="constructor" name="pct_string_view" id="B6Omwxmd0wianQ380vWy5MdjNts=">
          <file path="boost/url/pct_string_view.hpp" line="117" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>Default constructed string are empty.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="pct_string_view" id="euJlgcXggZOXAlj/OvtBHJgYqn0=">
          <file path="boost/url/pct_string_view.hpp" line="138" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>The copy references the same</text>
              <text>        underlying character buffer.</text>
              <text>        Ownership is not transferred.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;data() == other.data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>other The string to copy.</head>
          </doc>
        </function>
        <template>
          <tparam name="String" class="type"/>
          <tparam class="type" default="void"/>
          <function class="constructor" name="pct_string_view" id="xyCBNcYnTeX12QksdJSVLghVR0U=">
            <file path="boost/url/pct_string_view.hpp" line="176" class="def"/>
            <param name="s">
              <type class="lvalue-reference">
                <pointee-type name="String" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <function class="constructor" name="pct_string_view" id="/Sh3kVH8IVM06SmpUPKbuhH95Ow=">
          <file path="boost/url/pct_string_view.hpp" line="185" class="def"/>
          <attr id="is-deleted"/>
          <attr id="is-deleted-as-written"/>
          <param>
            <type name="std::nullptr_t"/>
          </param>
          <doc>
            <para>
              <text>Constructor (deleted)</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="pct_string_view" id="Zn3qeFQJ1firhr2kTuPXqYDst7U=">
          <file path="boost/url/pct_string_view.hpp" line="210" class="def"/>
          <param name="s">
            <type class="pointer">
              <pointee-type name="char" cv-qualifiers="const"/>
            </type>
          </param>
          <param name="len">
            <type name="std::size_t"/>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>The newly constructed string references</text>
              <text>        the specified character buffer. Ownership</text>
              <text>        is not transferred.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;data() == s &amp;&amp; this-&gt;size() == len</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `len`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>         The string contains an invalid percent encoding.</text>
            </throws>
            <param name="s,">
              <text>len The string to construct from.</text>
            </param>
          </doc>
        </function>
        <function class="constructor" name="pct_string_view" id="1KDDiQ2XilO7xEpMYQgZaEIGskk=">
          <file path="boost/url/pct_string_view.hpp" line="241"/>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>The newly constructed string references</text>
              <text>        the specified character buffer. Ownership</text>
              <text>        is not transferred.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;data() == s.data() &amp;&amp; this-&gt;size() == s.size()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `s.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        The string contains an invalid percent encoding.</text>
            </throws>
            <param name="s">
              <text>The string to construct from.</text>
            </param>
          </doc>
        </function>
        <function name="operator=" id="dddK8U41CVXCAcQA8HC6MudTe+4=">
          <file path="boost/url/pct_string_view.hpp" line="263" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
            </type>
          </return>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>The copy references the same</text>
              <text>        underlying character buffer.</text>
              <text>        Ownership is not transferred.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;data() == other.data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>other The string to copy.</head>
          </doc>
        </function>
        <friend id="uCbQArHtB4n0PZjjoUh4OHkTsH8=">
          <file path="boost/url/pct_string_view.hpp" line="266" class="def"/>
          <befriended id="mgIS/AfQlcgKNFKOdLRtjihgyFk="/>
        </friend>
        <function name="decoded_size" exception-spec="noexcept" id="JM9rOXKY3LqUNykMVeHmSVOS3NY=">
          <file path="boost/url/pct_string_view.hpp" line="287" class="def"/>
          <attr id="is-const"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <doc>
            <para>
              <text>Return the decoded size</text>
            </para>
            <para>
              <text>This function returns the number of</text>
              <text>        characters in the resulting string if</text>
              <text>        percent escapes were converted into</text>
              <text>        ordinary characters.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="operator*" exception-spec="noexcept" id="Q//o6vK16OmfxdQKesNHjMao4iU=">
          <file path="boost/url/decode_view.hpp" line="670" class="def"/>
          <file path="boost/url/pct_string_view.hpp" line="304"/>
          <attr id="operator" name="star" value="7"/>
          <attr id="is-const"/>
          <return>
            <type id="IhE/V16b2wBX2q+s4QtlgzozWlQ=" name="decode_view"/>
          </return>
          <doc>
            <para>
              <text>Return the string as a range of decoded characters</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <see>
              <reference id="IhE/V16b2wBX2q+s4QtlgzozWlQ=">decode_view</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="decode" id="HSnuV2919VtfLkMNB4i+t2rX6Bg=">
            <file path="boost/url/pct_string_view.hpp" line="345" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="opt" default="= {}">
              <type id="Bb04pNwExynJkzlY9a9GCeeB13k=" name="encoding_opts"/>
            </param>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the string with percent-decoding</text>
              </para>
              <para>
                <text>This function converts percent escapes</text>
                <text>        in the string into ordinary characters</text>
                <text>        and returns the result.</text>
                <text>        When called with no arguments, the</text>
                <text>        return type is `std::string`.</text>
                <text>        Otherwise, the return type and style</text>
                <text>        of output is determined by which string</text>
                <text>        token is passed.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        assert( pct_string_view( &quot;Program%20Files&quot; ).decode() == &quot;Program Files&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
                <text>        String tokens may throw exceptions.</text>
              </para>
              <param name="opt">
                <text>The options for encoding. If</text>
                <text>        this parameter is omitted, the default</text>
                <text>        options are used.</text>
              </param>
              <param name="token">
                <text>An optional string token.</text>
                <text>        If this parameter is omitted, then</text>
                <text>        a new `std::string` is returned.</text>
                <text>        Otherwise, the function return type</text>
                <text>        is the result type of the token.</text>
              </param>
              <see>
                <reference id="Bb04pNwExynJkzlY9a9GCeeB13k=">encoding_opts</reference>
                <text>,</text>
                <reference id="GWBKUkbD4IrRJar4y/nirsWA6jM=">string_token::return_string</reference>
                <text>.</text>
              </see>
            </doc>
          </function>
        </template>
        <function name="operator-&gt;" exception-spec="noexcept" id="QIbw5G83o636lENHQxQpoEKN6kE=">
          <file path="boost/url/pct_string_view.hpp" line="366" class="def"/>
          <attr id="operator" name="ptr" value="41"/>
          <attr id="is-const"/>
          <return>
            <type class="pointer">
              <pointee-type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view" cv-qualifiers="const"/>
            </type>
          </return>
        </function>
        <function name="swap" exception-spec="noexcept" id="sJGvEZ7xbZT0H6u3eUl29JbXZxU=">
          <file path="boost/url/pct_string_view.hpp" line="378" class="def"/>
          <param name="s">
            <type class="lvalue-reference">
              <pointee-type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Swap</text>
            </para>
          </doc>
        </function>
      </class>
      <function name="make_pct_string_view_unsafe" exception-spec="noexcept" id="LmKHQZfsj3PYKU9ldLJvacNvZaA=">
        <file path="boost/url/pct_string_view.hpp" line="431" class="def"/>
        <file path="boost/url/pct_string_view.hpp" line="34"/>
        <return>
          <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
        </return>
        <param name="data">
          <type class="pointer">
            <pointee-type name="char" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="size">
          <type name="std::size_t"/>
        </param>
        <param name="decoded_size">
          <type name="std::size_t"/>
        </param>
      </function>
      <function name="make_pct_string_view" exception-spec="noexcept" id="mgIS/AfQlcgKNFKOdLRtjihgyFk=">
        <file path="boost/url/pct_string_view.hpp" line="266"/>
        <file path="boost/url/pct_string_view.hpp" line="425"/>
        <return>
          <type name="system::result&lt;pct_string_view&gt;"/>
        </return>
        <param name="s">
          <type name="core::string_view"/>
        </param>
        <doc>
          <para>
            <text>Return a valid percent-encoded string</text>
          </para>
          <para>
            <text>If `s` is a valid percent-encoded string,</text>
            <text>    the function returns the buffer as a valid</text>
            <text>    view which may be used to perform decoding</text>
            <text>    or measurements.</text>
            <text>    Otherwise the result contains an error code.</text>
            <text>    Upon success, the returned view references</text>
            <text>    the original character buffer;</text>
            <text>    Ownership is not transferred.</text>
          </para>
          <head>Complexity</head>
          <para>
            <text>    Linear in `s.size()`.</text>
          </para>
          <head>Exception Safety</head>
          <para>
            <text>    Throws nothing.</text>
          </para>
          <param name="s">
            <text>The string to validate.</text>
          </param>
        </doc>
      </function>
      <template>
        <tparam name="S0" class="type"/>
        <tparam name="S1" class="type"/>
        <function name="operator==" exception-spec="noexcept" id="4pEKu03yR9ZowXdEZPpFnGpxCmc=">
          <file path="boost/url/decode_view.hpp" line="579" class="def"/>
          <attr id="has-trailing-return"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="operator" name="eq" value="30"/>
          <return>
            <type name="bool"/>
          </return>
          <param name="s0">
            <type class="lvalue-reference">
              <pointee-type name="S0" cv-qualifiers="const"/>
            </type>
          </param>
          <param name="s1">
            <type class="lvalue-reference">
              <pointee-type name="S1" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </template>
      <template>
        <tparam name="S0" class="type"/>
        <tparam name="S1" class="type"/>
        <function name="operator!=" exception-spec="noexcept" id="O4yrWN/Of4a6ow24M80lJYW6gEU=">
          <file path="boost/url/decode_view.hpp" line="588" class="def"/>
          <attr id="has-trailing-return"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="operator" name="not_eq" value="31"/>
          <return>
            <type name="bool"/>
          </return>
          <param name="s0">
            <type class="lvalue-reference">
              <pointee-type name="S0" cv-qualifiers="const"/>
            </type>
          </param>
          <param name="s1">
            <type class="lvalue-reference">
              <pointee-type name="S1" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </template>
      <template>
        <tparam name="S0" class="type"/>
        <tparam name="S1" class="type"/>
        <function name="operator&lt;" exception-spec="noexcept" id="sg5mlrDKUHz4SQoIap890UNWmVQ=">
          <file path="boost/url/decode_view.hpp" line="597" class="def"/>
          <attr id="has-trailing-return"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="operator" name="lt" value="16"/>
          <return>
            <type name="bool"/>
          </return>
          <param name="s0">
            <type class="lvalue-reference">
              <pointee-type name="S0" cv-qualifiers="const"/>
            </type>
          </param>
          <param name="s1">
            <type class="lvalue-reference">
              <pointee-type name="S1" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </template>
      <template>
        <tparam name="S0" class="type"/>
        <tparam name="S1" class="type"/>
        <function name="operator&lt;=" exception-spec="noexcept" id="YKmUSBmJ1vcnIev7/l94TF1zge4=">
          <file path="boost/url/decode_view.hpp" line="606" class="def"/>
          <attr id="has-trailing-return"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="operator" name="le" value="32"/>
          <return>
            <type name="bool"/>
          </return>
          <param name="s0">
            <type class="lvalue-reference">
              <pointee-type name="S0" cv-qualifiers="const"/>
            </type>
          </param>
          <param name="s1">
            <type class="lvalue-reference">
              <pointee-type name="S1" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </template>
      <template>
        <tparam name="S0" class="type"/>
        <tparam name="S1" class="type"/>
        <function name="operator&gt;" exception-spec="noexcept" id="LK8MvPUBVF4CWaAoEYdd6uM7Wpc=">
          <file path="boost/url/decode_view.hpp" line="615" class="def"/>
          <attr id="has-trailing-return"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="operator" name="gt" value="17"/>
          <return>
            <type name="bool"/>
          </return>
          <param name="s0">
            <type class="lvalue-reference">
              <pointee-type name="S0" cv-qualifiers="const"/>
            </type>
          </param>
          <param name="s1">
            <type class="lvalue-reference">
              <pointee-type name="S1" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </template>
      <template>
        <tparam name="S0" class="type"/>
        <tparam name="S1" class="type"/>
        <function name="operator&gt;=" exception-spec="noexcept" id="FDP+oZYxuF0gCi9xiWtk9ebI+hI=">
          <file path="boost/url/decode_view.hpp" line="624" class="def"/>
          <attr id="has-trailing-return"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="operator" name="ge" value="33"/>
          <return>
            <type name="bool"/>
          </return>
          <param name="s0">
            <type class="lvalue-reference">
              <pointee-type name="S0" cv-qualifiers="const"/>
            </type>
          </param>
          <param name="s1">
            <type class="lvalue-reference">
              <pointee-type name="S1" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </template>
      <function name="operator&lt;&lt;" id="Rq3dRXMGOM1zfmg72uddgjVtVqQ=">
        <file path="boost/url/decode_view.hpp" line="634" class="def"/>
        <file path="boost/url/decode_view.hpp" line="662"/>
        <attr id="operator" name="lshift" value="26"/>
        <return>
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </return>
        <param name="os">
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </param>
        <param name="s">
          <type class="lvalue-reference">
            <pointee-type id="IhE/V16b2wBX2q+s4QtlgzozWlQ=" name="decode_view" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Format the string with percent-decoding applied to the output stream</text>
          </para>
          <para>
            <text>This function serializes the decoded view</text>
            <text>    to the output stream.</text>
          </para>
          <returns>
            <text>A reference to the output stream, for chaining</text>
          </returns>
          <param name="os">
            <text>The output stream to write to</text>
          </param>
          <param name="s">
            <text>The decoded view to write</text>
          </param>
        </doc>
      </function>
      <variable name="sub_delim_chars" id="W5ZnEm5Wr2aNUSnMwlBHGfqRHgY=">
        <file path="boost/url/rfc/sub_delim_chars.hpp" line="45" class="def"/>
        <attr id="constexpr-kind" name="constexpr" value="1"/>
        <type id="79IFwv0C40oPrhucou1uA6DC1RI=" name="grammar::lut_chars" cv-qualifiers="const"/>
        <doc>
          <para>
            <text>The sub-delims character set</text>
          </para>
          <head>Example</head>
          <para>
            <text>    Character sets are used with rules and</text>
            <text>    the functions</text>
            <reference id="tYu+dbhQn5Jt+oUv1QmBQz+Z4Mk=">grammar::find_if</reference>
            <text> and</text>
            <reference id="o4IF1hl0/rSoqWdSZjOKE4MHFjM=">grammar::find_if_not</reference>
            <text>.</text>
          </para>
          <code>
            <text>    system::result&lt; decode_view &gt; = grammar::parse( &quot;Program%20Files&quot;, pct_encoded_rule( sub_delim_chars ) );</text>
          </code>
          <head>BNF</head>
          <code>
            <text>    sub-delims    = &quot;!&quot; / &quot;$&quot; / &quot;&amp;&quot; / &quot;&apos;&quot; / &quot;(&quot; / &quot;)&quot;</text>
            <text>                  / &quot;*&quot; / &quot;+&quot; / &quot;,&quot; / &quot;;&quot; / &quot;=&quot;</text>
          </code>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-2.2">2.2. Reserved Characters (rfc3986)</link>
          </listitem>
          <see>
            <reference id="tYu+dbhQn5Jt+oUv1QmBQz+Z4Mk=">grammar::find_if</reference>
            <text>,</text>
            <reference id="o4IF1hl0/rSoqWdSZjOKE4MHFjM=">grammar::find_if_not</reference>
            <text>,</text>
            <reference id="LkyR1hrnEFpG2KNxbVyuvzU0r8w=">grammar::parse</reference>
            <text>,</text>
            <reference id="g5Jdnf9GlbgY8KlR6uzGAzK/uHo=">pct_encoded_rule</reference>
            <text>.</text>
          </see>
        </doc>
      </variable>
      <variable name="unreserved_chars" id="sPt+l16WQkJLiqM+m+B6d5s9eA0=">
        <file path="boost/url/rfc/unreserved_chars.hpp" line="44" class="def"/>
        <attr id="constexpr-kind" name="constexpr" value="1"/>
        <type id="79IFwv0C40oPrhucou1uA6DC1RI=" name="grammar::lut_chars" cv-qualifiers="const"/>
        <doc>
          <para>
            <text>The unreserved character set</text>
          </para>
          <head>Example</head>
          <para>
            <text>    Character sets are used with rules and</text>
            <text>    the functions</text>
            <reference id="tYu+dbhQn5Jt+oUv1QmBQz+Z4Mk=">grammar::find_if</reference>
            <text> and</text>
            <reference id="o4IF1hl0/rSoqWdSZjOKE4MHFjM=">grammar::find_if_not</reference>
            <text>.</text>
          </para>
          <code>
            <text>    system::result&lt; decode_view &gt; rv = grammar::parse( &quot;Program%20Files&quot;, pct_encoded_rule( unreserved_chars ) );</text>
          </code>
          <head>BNF</head>
          <code>
            <text>    unreserved    = ALPHA / DIGIT / &quot;-&quot; / &quot;.&quot; / &quot;_&quot; / &quot;~&quot;</text>
          </code>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-2.3">2.3. Unreserved Characters (rfc3986)</link>
          </listitem>
          <see>
            <reference id="tYu+dbhQn5Jt+oUv1QmBQz+Z4Mk=">grammar::find_if</reference>
            <text>,</text>
            <reference id="o4IF1hl0/rSoqWdSZjOKE4MHFjM=">grammar::find_if_not</reference>
            <text>,</text>
            <reference id="LkyR1hrnEFpG2KNxbVyuvzU0r8w=">grammar::parse</reference>
            <text>,</text>
            <reference id="g5Jdnf9GlbgY8KlR6uzGAzK/uHo=">pct_encoded_rule</reference>
            <text>.</text>
          </see>
        </doc>
      </variable>
      <variable name="pchars" id="2V+Z9ecepqbZRna6GFcGry1dzDs=">
        <file path="boost/url/rfc/pchars.hpp" line="45" class="def"/>
        <attr id="constexpr-kind" name="constexpr" value="1"/>
        <type id="79IFwv0C40oPrhucou1uA6DC1RI=" name="lut_chars" cv-qualifiers="const"/>
        <doc>
          <para>
            <text>The path character set</text>
          </para>
          <head>Example</head>
          <para>
            <text>    Character sets are used with rules and</text>
            <text>    the functions</text>
            <reference id="tYu+dbhQn5Jt+oUv1QmBQz+Z4Mk=">grammar::find_if</reference>
            <text> and</text>
            <reference id="o4IF1hl0/rSoqWdSZjOKE4MHFjM=">grammar::find_if_not</reference>
            <text>.</text>
          </para>
          <code>
            <text>    system::result&lt; decode_view &gt; rv = grammar::parse( &quot;Program%20Files&quot;, pchars );</text>
          </code>
          <head>BNF</head>
          <code>
            <text>    pchar         = unreserved / pct-encoded / sub-delims / &quot;:&quot; / &quot;@&quot;</text>
          </code>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.3">3.3. Path (rfc3986)</link>
          </listitem>
          <see>
            <reference id="tYu+dbhQn5Jt+oUv1QmBQz+Z4Mk=">grammar::find_if</reference>
            <text>,</text>
            <reference id="o4IF1hl0/rSoqWdSZjOKE4MHFjM=">grammar::find_if_not</reference>
            <text>,</text>
            <reference id="LkyR1hrnEFpG2KNxbVyuvzU0r8w=">grammar::parse</reference>
            <text>,</text>
            <reference id="g5Jdnf9GlbgY8KlR6uzGAzK/uHo=">pct_encoded_rule</reference>
            <text>.</text>
          </see>
        </doc>
      </variable>
      <template>
        <tparam name="CharSet" class="type"/>
        <function name="encoded_size" exception-spec="noexcept" id="Xq8kBc9a/F5Bpmn1q4OszstzJ4g=">
          <file path="boost/url/impl/encode.hpp" line="28" class="def"/>
          <file path="boost/url/encode.hpp" line="62"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <param name="unreserved">
            <type class="lvalue-reference">
              <pointee-type name="CharSet" cv-qualifiers="const"/>
            </type>
          </param>
          <param name="opt" default="= {}">
            <type id="Bb04pNwExynJkzlY9a9GCeeB13k=" name="encoding_opts"/>
          </param>
          <doc>
            <para>
              <text>Return the buffer size needed for percent-encoding</text>
            </para>
            <para>
              <text>This function returns the exact number</text>
              <text>    of bytes necessary to store the result</text>
              <text>    of applying percent-encoding to the</text>
              <text>    string using the given options and</text>
              <text>    character set.</text>
              <text>    No encoding is actually performed.</text>
            </para>
            <head>Example</head>
            <code>
              <text>    assert( encoded_size( &quot;My Stuff&quot;, pchars ) == 10 );</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>    Throws nothing.</text>
            </para>
            <returns>
              <text>The number of bytes needed,</text>
              <text>    excluding any null terminator.</text>
            </returns>
            <param name="s">
              <text>The string to measure.</text>
            </param>
            <param name="unreserved">
              <text>The set of characters</text>
              <text>    that is not percent-encoded.</text>
            </param>
            <param name="opt">
              <text>The options for encoding. If</text>
              <text>    this parameter is omitted, the default</text>
              <text>    options are be used.</text>
            </param>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-2.1">2.1. Percent-Encoding (rfc3986)</link>
            </listitem>
            <see>
              <reference id="QFVACvvXYpvLaEockXLrw3Ob91A=">encode</reference>
              <text>,</text>
              <reference id="Bb04pNwExynJkzlY9a9GCeeB13k=">encoding_opts</reference>
              <text>,</text>
              <reference id="mgIS/AfQlcgKNFKOdLRtjihgyFk=">make_pct_string_view</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
      </template>
      <template>
        <tparam name="CharSet" class="type"/>
        <function name="encode" id="mv6LvkkTac7FhXwK+aU779HMEVw=">
          <file path="boost/url/impl/encode.hpp" line="79" class="def"/>
          <file path="boost/url/encode.hpp" line="118"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <param name="dest">
            <type class="pointer">
              <pointee-type name="char"/>
            </type>
          </param>
          <param name="size">
            <type name="std::size_t"/>
          </param>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <param name="unreserved">
            <type class="lvalue-reference">
              <pointee-type name="CharSet" cv-qualifiers="const"/>
            </type>
          </param>
          <param name="opt" default="= {}">
            <type id="Bb04pNwExynJkzlY9a9GCeeB13k=" name="encoding_opts"/>
          </param>
          <doc>
            <para>
              <text>Apply percent-encoding to a string</text>
            </para>
            <para>
              <text>This function applies percent-encoding</text>
              <text>    to the string using the given options and</text>
              <text>    character set. The destination buffer</text>
              <text>    provided by the caller is used to store</text>
              <text>    the result, which may be truncated if</text>
              <text>    there is insufficient space.</text>
            </para>
            <head>Example</head>
            <code>
              <text>    char buf[100];</text>
              <text>    assert( encode( buf, sizeof(buf), &quot;Program Files&quot;, pchars ) == 15 );</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>    Throws nothing.</text>
            </para>
            <returns>
              <text>The number of characters written</text>
              <text>    to the destination buffer.</text>
            </returns>
            <param name="dest">
              <text>The destination buffer</text>
              <text>    to write to.</text>
            </param>
            <param name="size">
              <text>The number of writable</text>
              <text>    characters pointed to by `dest`.</text>
              <text>    If this is less than `encoded_size(s)`,</text>
              <text>    the result is truncated.</text>
            </param>
            <param name="s">
              <text>The string to encode.</text>
            </param>
            <param name="unreserved">
              <text>The set of characters</text>
              <text>    that is not percent-encoded.</text>
            </param>
            <param name="opt">
              <text>The options for encoding. If</text>
              <text>    this parameter is omitted, the default</text>
              <text>    options are used.</text>
            </param>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-2.1">2.1. Percent-Encoding (rfc3986)</link>
            </listitem>
            <see>
              <reference id="QFVACvvXYpvLaEockXLrw3Ob91A=">encode</reference>
              <text>,</text>
              <reference id="Xq8kBc9a/F5Bpmn1q4OszstzJ4g=">encoded_size</reference>
              <text>,</text>
              <reference id="mgIS/AfQlcgKNFKOdLRtjihgyFk=">make_pct_string_view</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
      </template>
      <template>
        <tparam name="CharSet" class="type"/>
        <function name="encode_unsafe" id="ydZ7bTykSMnwehDU9NtjTjWeB+I=">
          <file path="boost/url/impl/encode.hpp" line="173" class="def"/>
          <file path="boost/url/encode.hpp" line="129"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <param name="dest">
            <type class="pointer">
              <pointee-type name="char"/>
            </type>
          </param>
          <param name="size">
            <type name="std::size_t"/>
          </param>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <param name="unreserved">
            <type class="lvalue-reference">
              <pointee-type name="CharSet" cv-qualifiers="const"/>
            </type>
          </param>
          <param name="opt">
            <type id="Bb04pNwExynJkzlY9a9GCeeB13k=" name="encoding_opts"/>
          </param>
        </function>
      </template>
      <template>
        <tparam name="StringToken" class="type" default="string_token::return_string"/>
        <tparam name="CharSet" class="type"/>
        <function name="encode" exception-spec="noexcept" id="QFVACvvXYpvLaEockXLrw3Ob91A=">
          <file path="boost/url/impl/encode.hpp" line="250" class="def"/>
          <file path="boost/url/encode.hpp" line="184"/>
          <return>
            <type name="StringToken::result_type"/>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <param name="unreserved">
            <type class="lvalue-reference">
              <pointee-type name="CharSet" cv-qualifiers="const"/>
            </type>
          </param>
          <param name="opt" default="= {}">
            <type id="Bb04pNwExynJkzlY9a9GCeeB13k=" name="encoding_opts"/>
          </param>
          <param name="token">
            <type class="rvalue-reference">
              <pointee-type name="StringToken"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Return a percent-encoded string</text>
            </para>
            <para>
              <text>This function applies percent-encoding</text>
              <text>    to the string using the given options and</text>
              <text>    character set, and returns the result as</text>
              <text>    a string when called with default arguments.</text>
            </para>
            <head>Example</head>
            <code>
              <text>    encoding_opts opt;</text>
              <text>    opt.space_as_plus = true;</text>
              <text>    std::string s = encode( &quot;My Stuff&quot;, opt, pchars );</text>
              <text></text>
              <text>    assert( s == &quot;My+Stuff&quot; );</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>    Calls to allocate may throw.</text>
            </para>
            <returns>
              <text>The string</text>
            </returns>
            <param name="s">
              <text>The string to encode.</text>
            </param>
            <param name="unreserved">
              <text>The set of characters</text>
              <text>    that is not percent-encoded.</text>
            </param>
            <param name="opt">
              <text>The options for encoding. If</text>
              <text>    this parameter is omitted, the default</text>
              <text>    options are used.</text>
            </param>
            <param name="token">
              <text>A string token.</text>
            </param>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-2.1">2.1. Percent-Encoding (rfc3986)</link>
            </listitem>
            <see>
              <reference id="QFVACvvXYpvLaEockXLrw3Ob91A=">encode</reference>
              <text>,</text>
              <reference id="Xq8kBc9a/F5Bpmn1q4OszstzJ4g=">encoded_size</reference>
              <text>,</text>
              <reference id="Bb04pNwExynJkzlY9a9GCeeB13k=">encoding_opts</reference>
              <text>,</text>
            </see>
          </doc>
        </function>
      </template>
      <enum name="host_type" class="scoped" id="YLHFVyAYZGSFQe18DPGjn6XsAMs=">
        <base>
          <type name="int"/>
        </base>
        <file path="boost/url/host_type.hpp" line="24" class="def"/>
        <doc>
          <para>
            <text>Identifies the type of host in a URL.</text>
          </para>
          <para>
            <text>Values of this type are returned by URL views</text>
            <text>    and containers to indicate the type of host</text>
            <text>    present in a URL.</text>
          </para>
        </doc>
        <enumerator name="none" initializer="" id="QyoMTu07h232/Sxqovu2mGoPgTo=">
          <file path="boost/url/host_type.hpp" line="32" class="def"/>
          <doc>
            <para>
              <text>No host is specified.</text>
            </para>
          </doc>
        </enumerator>
        <enumerator name="name" initializer="1" id="HUq75uZ3LBPW3yvUAfpdNzqcfjc=">
          <file path="boost/url/host_type.hpp" line="37" class="def"/>
          <doc>
            <para>
              <text>A host is specified by reg-name.</text>
            </para>
          </doc>
        </enumerator>
        <enumerator name="ipv4" initializer="2" id="49F64dAiji9HVbP6MxLQiqot7AY=">
          <file path="boost/url/host_type.hpp" line="42" class="def"/>
          <doc>
            <para>
              <text>A host is specified by </text>
              <reference id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=">ipv4_address</reference>
              <text>.</text>
            </para>
          </doc>
        </enumerator>
        <enumerator name="ipv6" initializer="3" id="jTh/N5N+Bz51cZo2Mwmh6tzxPOc=">
          <file path="boost/url/host_type.hpp" line="47" class="def"/>
          <doc>
            <para>
              <text>A host is specified by </text>
              <reference id="dhMSRVBIIIItY0URHSc8rwHcdTQ=">ipv6_address</reference>
              <text>.</text>
            </para>
          </doc>
        </enumerator>
        <enumerator name="ipvfuture" initializer="4" id="TcYJaTwDFsx+0S2CkvHHARcCqWc=">
          <file path="boost/url/host_type.hpp" line="52" class="def"/>
          <doc>
            <para>
              <text>A host is specified by IPvFuture.</text>
            </para>
          </doc>
        </enumerator>
      </enum>
      <enum name="error" class="scoped" id="0CIF+QeihUmkg/SM/JmNHthVUUc=">
        <base>
          <type name="int"/>
        </base>
        <file path="boost/url/error.hpp" line="22" class="def"/>
        <doc>
          <para>
            <text>Error codes returned the library</text>
          </para>
        </doc>
        <enumerator name="success" initializer="0" id="S78C0hJzEkT4nSltCBLafTAq6+Q=">
          <file path="boost/url/error.hpp" line="30" class="def"/>
          <doc>
            <para>
              <text>The operation completed successfully.</text>
            </para>
          </doc>
        </enumerator>
        <enumerator name="illegal_null" initializer="1" id="sAQ6ltLKCd2RVUTyS3bIBWMnWEw=">
          <file path="boost/url/error.hpp" line="35" class="def"/>
          <doc>
            <para>
              <text>Null encountered in pct-encoded.</text>
            </para>
          </doc>
        </enumerator>
        <enumerator name="illegal_reserved_char" initializer="2" id="jxp4eZ+qInaZo038XQyMf0vyv4s=">
          <file path="boost/url/error.hpp" line="40" class="def"/>
          <doc>
            <para>
              <text>Illegal reserved character in encoded string.</text>
            </para>
          </doc>
        </enumerator>
        <enumerator name="non_canonical" initializer="3" id="LDuXVizApX0QRaohMHxF3T5Z7Z0=">
          <file path="boost/url/error.hpp" line="45" class="def"/>
          <doc>
            <para>
              <text>A grammar element was not in canonical form.</text>
            </para>
          </doc>
        </enumerator>
        <enumerator name="bad_pct_hexdig" initializer="4" id="o+k4/5uZDm7wAIoZrwqQIpA9bTA=">
          <file path="boost/url/error.hpp" line="54" class="def"/>
          <doc>
            <para>
              <text>Bad hexadecimal digit.</text>
            </para>
            <para>
              <text>This error condition is fatal.</text>
            </para>
          </doc>
        </enumerator>
        <enumerator name="incomplete_encoding" initializer="5" id="qUh3tTyr9Byv5NZxujjrZ9LKDQ0=">
          <file path="boost/url/error.hpp" line="61" class="def"/>
          <doc>
            <para>
              <text>The percent-encoded sequence is incomplete.</text>
            </para>
            <para>
              <text>This error condition is fatal.</text>
            </para>
          </doc>
        </enumerator>
        <enumerator name="missing_pct_hexdig" initializer="6" id="X94qcYTTQmA8e36ujC1IwCRUQaQ=">
          <file path="boost/url/error.hpp" line="68" class="def"/>
          <doc>
            <para>
              <text>Missing hexadecimal digit.</text>
            </para>
            <para>
              <text>This error condition is fatal.</text>
            </para>
          </doc>
        </enumerator>
        <enumerator name="no_space" initializer="7" id="Q9+GxgxVPBEJSy9NNuR09HPwdjY=">
          <file path="boost/url/error.hpp" line="77" class="def"/>
          <doc>
            <para>
              <text>No space in output buffer</text>
            </para>
            <para>
              <text>This error is returned when a provided</text>
              <text>       output buffer was too small to hold</text>
              <text>       the complete result of an algorithm.</text>
            </para>
          </doc>
        </enumerator>
        <enumerator name="not_a_base" initializer="8" id="7xVhcfBF1rACJbe3gKTKCTfQc9o=">
          <file path="boost/url/error.hpp" line="82" class="def"/>
          <doc>
            <para>
              <text>The URL is not a base URL</text>
            </para>
          </doc>
        </enumerator>
      </enum>
      <function name="make_error_code" exception-spec="noexcept" id="4T8xaPLoyhL+N2nuUuN2PFdbiSg=">
        <file path="boost/url/impl/error.hpp" line="64" class="def"/>
        <attr id="constexpr-kind" name="constexpr" value="1"/>
        <return>
          <type name="system::error_code"/>
        </return>
        <param name="ev">
          <type id="0CIF+QeihUmkg/SM/JmNHthVUUc=" name="error"/>
        </param>
      </function>
      <class name="ipv4_address" id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=">
        <file path="boost/url/ipv4_address.hpp" line="53" class="def"/>
        <file path="boost/url/ipv6_address.hpp" line="27"/>
        <doc>
          <para>
            <text>An IP version 4 style address.</text>
          </para>
          <para>
            <text>Objects of this type are used to construct,</text>
            <text>    parse, and manipulate IP version 6 addresses.</text>
          </para>
          <head>BNF</head>
          <code>
            <text>    IPv4address = dec-octet &quot;.&quot; dec-octet &quot;.&quot; dec-octet &quot;.&quot; dec-octet</text>
            <text></text>
            <text>    dec-octet   = DIGIT                 ; 0-9</text>
            <text>                / %x31-39 DIGIT         ; 10-99</text>
            <text>                / &quot;1&quot; 2DIGIT            ; 100-199</text>
            <text>                / &quot;2&quot; %x30-34 DIGIT     ; 200-249</text>
            <text>                / &quot;25&quot; %x30-35          ; 250-255</text>
          </code>
          <head>Specification</head>
          <listitem>
            <link href="https://en.wikipedia.org/wiki/IPv4">IPv4 (Wikipedia)</link>
          </listitem>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
          </listitem>
          <see>
            <reference id="3H1nFll3jIwKtiUjrAoL1itMXS8=">parse_ipv4_address</reference>
            <text>,</text>
            <reference id="dhMSRVBIIIItY0URHSc8rwHcdTQ=">ipv6_address</reference>
            <text>.</text>
          </see>
        </doc>
        <variable name="max_str_len" id="opjoR3Y3GXEbaNYk0xifdxnGTx8=">
          <file path="boost/url/ipv4_address.hpp" line="60" class="def"/>
          <attr id="storage-class" name="static" value="2"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <type name="std::size_t" cv-qualifiers="const"/>
          <doc>
            <para>
              <text>The number of characters in the longest possible IPv4 string.</text>
            </para>
            <para>
              <text>The longest ipv4 address string is &quot;255.255.255.255&quot;.</text>
            </para>
          </doc>
        </variable>
        <alias name="uint_type" id="gmFwLFTtOAD/QhqgQ5gVWIkwfqE=">
          <file path="boost/url/ipv4_address.hpp" line="66" class="def"/>
          <type name="std::uint_least32_t"/>
          <doc>
            <para>
              <text>The type used to represent an address as an unsigned integer</text>
            </para>
          </doc>
        </alias>
        <alias name="bytes_type" id="K1Ec2DqsA1sP9/ZiWr9xXxLTWmc=">
          <file path="boost/url/ipv4_address.hpp" line="71" class="def"/>
          <type name="std::array&lt;unsigned char, 4&gt;"/>
          <doc>
            <para>
              <text>The type used to represent an address as an array of bytes</text>
            </para>
          </doc>
        </alias>
        <function class="constructor" name="ipv4_address" id="yl0UOHuSxHom06qa0b8lfcld6Dg=">
          <file path="boost/url/ipv4_address.hpp" line="76" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <doc>
            <para>
              <text>Constructor.</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="ipv4_address" id="2cq8c2vzuDpA/hkdQG4szL6NZKo=">
          <file path="boost/url/ipv4_address.hpp" line="80" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <param>
            <type class="lvalue-reference">
              <pointee-type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor.</text>
            </para>
          </doc>
        </function>
        <function name="operator=" id="3eS9MgTYDwQQzKa7ec0u01AAKlk=">
          <file path="boost/url/ipv4_address.hpp" line="85" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address"/>
            </type>
          </return>
          <param>
            <type class="lvalue-reference">
              <pointee-type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Copy Assignment.</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="ipv4_address" exception-spec="noexcept" explicit-spec="explicit" id="aB6a40BtSJOo6VPaSj6d1VeV/nw=">
          <file path="boost/url/ipv4_address.hpp" line="103"/>
          <param name="u">
            <type id="gmFwLFTtOAD/QhqgQ5gVWIkwfqE=" name="uint_type"/>
          </param>
          <doc>
            <para>
              <text>Construct from an unsigned integer.</text>
            </para>
            <para>
              <text>This function constructs an address from</text>
              <text>        the unsigned integer `u`, where the most</text>
              <text>        significant byte forms the first octet</text>
              <text>        of the resulting address.</text>
            </para>
            <param name="u">
              <text>The integer to construct from.</text>
            </param>
          </doc>
        </function>
        <function class="constructor" name="ipv4_address" exception-spec="noexcept" explicit-spec="explicit" id="9rEWPy6GZqSFiaU8nmE9QTRR7EM=">
          <file path="boost/url/ipv4_address.hpp" line="116"/>
          <param name="bytes">
            <type class="lvalue-reference">
              <pointee-type id="K1Ec2DqsA1sP9/ZiWr9xXxLTWmc=" name="bytes_type" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Construct from an array of bytes.</text>
            </para>
            <para>
              <text>This function constructs an address</text>
              <text>        from the array in `bytes`, which is</text>
              <text>        interpreted in big-endian.</text>
            </para>
            <param name="bytes">
              <text>The value to construct from.</text>
            </param>
          </doc>
        </function>
        <function class="constructor" name="ipv4_address" explicit-spec="explicit" id="jpD0S+uCl/0/GH4pCJUXCyRH1eg=">
          <file path="boost/url/ipv4_address.hpp" line="146"/>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Construct from a string.</text>
            </para>
            <para>
              <text>This function constructs an address from</text>
              <text>        the string `s`, which must contain a valid</text>
              <text>        IPv4 address string or else an exception</text>
              <text>        is thrown.</text>
            </para>
            <para class="note">
              <text>For a non-throwing parse function,</text>
              <text>        use</text>
              <reference id="3H1nFll3jIwKtiUjrAoL1itMXS8=">parse_ipv4_address</reference>
              <text>.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        The input failed to parse correctly.</text>
            </throws>
            <param name="s">
              <text>The string to parse.</text>
            </param>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
            </listitem>
            <see>
              <reference id="3H1nFll3jIwKtiUjrAoL1itMXS8=">parse_ipv4_address</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="to_bytes" exception-spec="noexcept" id="hG+Han3p/bpn3XDjzJeEon2Wy30=">
          <file path="boost/url/ipv4_address.hpp" line="153"/>
          <attr id="is-const"/>
          <return>
            <type id="K1Ec2DqsA1sP9/ZiWr9xXxLTWmc=" name="bytes_type"/>
          </return>
          <doc>
            <para>
              <text>Return the address as bytes, in network byte order.</text>
            </para>
          </doc>
        </function>
        <function name="to_uint" exception-spec="noexcept" id="sGEjPwyf9VhDEZc80rdhomT49gQ=">
          <file path="boost/url/ipv4_address.hpp" line="159"/>
          <attr id="is-const"/>
          <return>
            <type id="gmFwLFTtOAD/QhqgQ5gVWIkwfqE=" name="uint_type"/>
          </return>
          <doc>
            <para>
              <text>Return the address as an unsigned integer.</text>
            </para>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="to_string" id="iunqRmAnQNdGCAQuPEeWrF4oKTM=">
            <file path="boost/url/ipv4_address.hpp" line="196" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the address as a string in dotted decimal format</text>
              </para>
              <para>
                <text>When called with no arguments, the</text>
                <text>        return type is `std::string`.</text>
                <text>        Otherwise, the return type and style</text>
                <text>        of output is determined by which string</text>
                <text>        token is passed.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        assert( ipv4_address(0x01020304).to_string() == &quot;1.2.3.4&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Constant.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Strong guarantee.</text>
                <text>        Calls to allocate may throw.</text>
                <text>        String tokens may throw exceptions.</text>
              </para>
              <returns>
                <text>The return type of the string token.</text>
                <text>        If the token parameter is omitted, then</text>
                <text>        a new `std::string` is returned.</text>
                <text>        Otherwise, the function return type</text>
                <text>        is the result type of the token.</text>
              </returns>
              <param name="token">
                <text>An optional string token.</text>
              </param>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc4291#section-2.2">            2.2. Text Representation of Addresses (rfc4291)</link>
              </listitem>
            </doc>
          </function>
        </template>
        <function name="to_buffer" id="LEr2z93gPK9hDl27bqMsxNYx1GI=">
          <file path="boost/url/ipv4_address.hpp" line="218"/>
          <attr id="is-const"/>
          <return>
            <type name="core::string_view"/>
          </return>
          <param name="dest">
            <type class="pointer">
              <pointee-type name="char"/>
            </type>
          </param>
          <param name="dest_size">
            <type name="std::size_t"/>
          </param>
          <doc>
            <para>
              <text>Write a dotted decimal string representing the address to a buffer</text>
            </para>
            <para>
              <text>The resulting buffer is not null-terminated.</text>
            </para>
            <throws>
              <text>`dest_size &lt; ipv4_address::max_str_len`</text>
            </throws>
            <returns>
              <text>The formatted string</text>
            </returns>
            <param name="dest">
              <text>The buffer in which to write,</text>
              <text>        which must have at least `dest_size` space.</text>
            </param>
            <param name="dest_size">
              <text>The size of the output buffer.</text>
            </param>
          </doc>
        </function>
        <function name="is_loopback" exception-spec="noexcept" id="yIu3SCo9OYk8ihlq2QUpl59vU5I=">
          <file path="boost/url/ipv4_address.hpp" line="226"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if the address is a loopback address</text>
            </para>
          </doc>
        </function>
        <function name="is_unspecified" exception-spec="noexcept" id="v6jOcZd9sFpSijOm3jH6PikYlfM=">
          <file path="boost/url/ipv4_address.hpp" line="232"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if the address is unspecified</text>
            </para>
          </doc>
        </function>
        <function name="is_multicast" exception-spec="noexcept" id="RhR9qztBnmIo5dp/yMR/Dxo6sGE=">
          <file path="boost/url/ipv4_address.hpp" line="238"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if the address is a multicast address</text>
            </para>
          </doc>
        </function>
        <friend id="GQISrynqOHF7KcAN1l2cbpim1LA=">
          <file path="boost/url/ipv4_address.hpp" line="243" class="def"/>
          <doc>
            <para>
              <text>Return true if two addresses are equal</text>
            </para>
          </doc>
          <befriended id="8obEUnt+lW3Tn+hrzU1C0MkLqg0="/>
        </friend>
        <friend id="iadIYAx5pCl7+rC0Tf1S/aHweg4=">
          <file path="boost/url/ipv4_address.hpp" line="254" class="def"/>
          <doc>
            <para>
              <text>Return true if two addresses are not equal</text>
            </para>
          </doc>
          <befriended id="Lk6u1xBQtbEyGW+iFcIykNQyhVo="/>
        </friend>
        <function name="any" exception-spec="noexcept" id="QVRcQKVos5VYBTTWZx53+bb+fic=">
          <file path="boost/url/ipv4_address.hpp" line="265" class="def"/>
          <attr id="storage-class" name="static" value="2"/>
          <return>
            <type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address"/>
          </return>
          <doc>
            <para>
              <text>Return an address object that represents any address</text>
            </para>
          </doc>
        </function>
        <function name="loopback" exception-spec="noexcept" id="23+xtsBhwg+Sz8fF41qaRCKLPLw=">
          <file path="boost/url/ipv4_address.hpp" line="274" class="def"/>
          <attr id="storage-class" name="static" value="2"/>
          <return>
            <type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address"/>
          </return>
          <doc>
            <para>
              <text>Return an address object that represents the loopback address</text>
            </para>
          </doc>
        </function>
        <function name="broadcast" exception-spec="noexcept" id="z0vlZykhfnZ9AtSNCNEcCCXxTIA=">
          <file path="boost/url/ipv4_address.hpp" line="283" class="def"/>
          <attr id="storage-class" name="static" value="2"/>
          <return>
            <type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address"/>
          </return>
          <doc>
            <para>
              <text>Return an address object that represents the broadcast address</text>
            </para>
          </doc>
        </function>
        <friend id="UqsuZNtPiw1HCb5m5OvYraS6rxw=">
          <file path="boost/url/ipv4_address.hpp" line="291" class="def"/>
          <befriended id="CD4PSGOm3yi6rHmmIS6wEJujXKY="/>
        </friend>
      </class>
      <function name="operator==" exception-spec="noexcept" id="8obEUnt+lW3Tn+hrzU1C0MkLqg0=">
        <file path="boost/url/ipv4_address.hpp" line="243" class="def"/>
        <attr id="operator" name="eq" value="30"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="a1">
          <type class="lvalue-reference">
            <pointee-type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="a2">
          <type class="lvalue-reference">
            <pointee-type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Return true if two addresses are equal</text>
          </para>
        </doc>
      </function>
      <function name="operator!=" exception-spec="noexcept" id="Lk6u1xBQtbEyGW+iFcIykNQyhVo=">
        <file path="boost/url/ipv4_address.hpp" line="254" class="def"/>
        <attr id="operator" name="not_eq" value="31"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="a1">
          <type class="lvalue-reference">
            <pointee-type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="a2">
          <type class="lvalue-reference">
            <pointee-type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Return true if two addresses are not equal</text>
          </para>
        </doc>
      </function>
      <function name="operator&lt;&lt;" id="CD4PSGOm3yi6rHmmIS6wEJujXKY=">
        <file path="boost/url/ipv4_address.hpp" line="291" class="def"/>
        <file path="boost/url/ipv4_address.hpp" line="327"/>
        <attr id="operator" name="lshift" value="26"/>
        <return>
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </return>
        <param name="os">
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </param>
        <param name="addr">
          <type class="lvalue-reference">
            <pointee-type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Format the address to an output stream.</text>
          </para>
          <para>
            <text>IPv4 addresses written to output streams</text>
            <text>    are written in their dotted decimal format.</text>
          </para>
          <param name="os">
            <text>The output stream.</text>
          </param>
          <param name="addr">
            <text>The address to format.</text>
          </param>
        </doc>
      </function>
      <function name="parse_ipv4_address" exception-spec="noexcept" id="3H1nFll3jIwKtiUjrAoL1itMXS8=">
        <file path="boost/url/ipv4_address.hpp" line="337"/>
        <return>
          <type name="system::result&lt;ipv4_address&gt;"/>
        </return>
        <param name="s">
          <type name="core::string_view"/>
        </param>
        <doc>
          <para>
            <text>Return an IPv4 address from an IP address string in dotted decimal form</text>
          </para>
        </doc>
      </function>
      <class name="ipv6_address" id="dhMSRVBIIIItY0URHSc8rwHcdTQ=">
        <file path="boost/url/ipv6_address.hpp" line="64" class="def"/>
        <doc>
          <para>
            <text>An IP version 6 style address.</text>
          </para>
          <para>
            <text>Objects of this type are used to construct,</text>
            <text>    parse, and manipulate IP version 6 addresses.</text>
          </para>
          <head>BNF</head>
          <code>
            <text>    IPv6address =                            6( h16 &quot;:&quot; ) ls32</text>
            <text>                /                       &quot;::&quot; 5( h16 &quot;:&quot; ) ls32</text>
            <text>                / [               h16 ] &quot;::&quot; 4( h16 &quot;:&quot; ) ls32</text>
            <text>                / [ *1( h16 &quot;:&quot; ) h16 ] &quot;::&quot; 3( h16 &quot;:&quot; ) ls32</text>
            <text>                / [ *2( h16 &quot;:&quot; ) h16 ] &quot;::&quot; 2( h16 &quot;:&quot; ) ls32</text>
            <text>                / [ *3( h16 &quot;:&quot; ) h16 ] &quot;::&quot;    h16 &quot;:&quot;   ls32</text>
            <text>                / [ *4( h16 &quot;:&quot; ) h16 ] &quot;::&quot;              ls32</text>
            <text>                / [ *5( h16 &quot;:&quot; ) h16 ] &quot;::&quot;              h16</text>
            <text>                / [ *6( h16 &quot;:&quot; ) h16 ] &quot;::&quot;</text>
            <text></text>
            <text>    ls32        = ( h16 &quot;:&quot; h16 ) / IPv4address</text>
            <text>                ; least-significant 32 bits of address</text>
            <text></text>
            <text>    h16         = 1*4HEXDIG</text>
            <text>                ; 16 bits of address represented in hexadecimal</text>
          </code>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc4291">IP Version 6 Addressing Architecture (rfc4291)</link>
          </listitem>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
          </listitem>
          <see>
            <reference id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=">ipv4_address</reference>
            <text>,</text>
            <reference id="bEw/qaAlNfZy1QraETx5dipoF+I=">parse_ipv6_address</reference>
            <text>.</text>
          </see>
        </doc>
        <variable name="max_str_len" id="9qVxLX0gbXaA+Qu5TJlcZdIdmd8=">
          <file path="boost/url/ipv6_address.hpp" line="81" class="def"/>
          <attr id="storage-class" name="static" value="2"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <type name="std::size_t" cv-qualifiers="const"/>
          <doc>
            <para>
              <text>The number of characters in the longest possible IPv6 string.</text>
            </para>
            <para>
              <text>The longest IPv6 address is:</text>
            </para>
            <code>
              <text>        ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff</text>
            </code>
            <see>
              <reference id="i3fY28R+qnkP8zKn2cOQrWnjNWo=">to_buffer</reference>
              <text>.</text>
            </see>
          </doc>
        </variable>
        <alias name="bytes_type" id="3HLniRaTZARS/qsIh1WH0IPNx7E=">
          <file path="boost/url/ipv6_address.hpp" line="89" class="def"/>
          <type name="std::array&lt;unsigned char, 16&gt;"/>
          <doc>
            <para>
              <text>The type used to represent an address as an array of bytes.</text>
            </para>
            <para>
              <text>Octets are stored in network byte order.</text>
            </para>
          </doc>
        </alias>
        <function class="constructor" name="ipv6_address" id="SMQrQdasCvP7xFVD5OpcHN7Rao8=">
          <file path="boost/url/ipv6_address.hpp" line="103" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <doc>
            <para>
              <text>Constructor.</text>
            </para>
            <para>
              <text>Default constructed objects represent</text>
              <text>        the unspecified address.</text>
            </para>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc4291#section-2.5.2">2.5.2. The Unspecified Address</link>
            </listitem>
            <see>
              <reference id="ogO/p3Rsy76ZR5BBjd+JT5p9mAI=">is_unspecified</reference>
            </see>
          </doc>
        </function>
        <function class="constructor" name="ipv6_address" id="akXF+HlgiEVzawbJVW+kTfdVx8A=">
          <file path="boost/url/ipv6_address.hpp" line="107" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <param>
            <type class="lvalue-reference">
              <pointee-type id="dhMSRVBIIIItY0URHSc8rwHcdTQ=" name="ipv6_address" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor.</text>
            </para>
          </doc>
        </function>
        <function name="operator=" id="mrs1+u9ux/as1SWpxt5acP82xUI=">
          <file path="boost/url/ipv6_address.hpp" line="112" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="dhMSRVBIIIItY0URHSc8rwHcdTQ=" name="ipv6_address"/>
            </type>
          </return>
          <param>
            <type class="lvalue-reference">
              <pointee-type id="dhMSRVBIIIItY0URHSc8rwHcdTQ=" name="ipv6_address" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Copy Assignment</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="ipv6_address" exception-spec="noexcept" id="rKQkXaXamXVM4kRtPKdmG1+LcFw=">
          <file path="boost/url/ipv6_address.hpp" line="125"/>
          <param name="bytes">
            <type class="lvalue-reference">
              <pointee-type id="3HLniRaTZARS/qsIh1WH0IPNx7E=" name="bytes_type" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Construct from an array of bytes.</text>
            </para>
            <para>
              <text>This function constructs an address</text>
              <text>        from the array in `bytes`, which is</text>
              <text>        interpreted in big-endian.</text>
            </para>
            <param name="bytes">
              <text>The value to construct from.</text>
            </param>
          </doc>
        </function>
        <function class="constructor" name="ipv6_address" exception-spec="noexcept" id="jUKtD+hBU5HohlZsk0aE9sD4+9o=">
          <file path="boost/url/ipv6_address.hpp" line="141"/>
          <param name="addr">
            <type class="lvalue-reference">
              <pointee-type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Construct from an IPv4 address.</text>
            </para>
            <para>
              <text>This function constructs an IPv6 address</text>
              <text>        from the IPv4 address `addr`. The resulting</text>
              <text>        address is an IPv4-Mapped IPv6 Address.</text>
            </para>
            <param name="addr">
              <text>The address to construct from.</text>
            </param>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc4291#section-2.5.5.2">2.5.5.2. IPv4-Mapped IPv6 Address (rfc4291)</link>
            </listitem>
          </doc>
        </function>
        <function class="constructor" name="ipv6_address" id="AvcoK23WHDbGR+iOtQJRebxgDgw=">
          <file path="boost/url/ipv6_address.hpp" line="170"/>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Construct from a string.</text>
            </para>
            <para>
              <text>This function constructs an address from</text>
              <text>        the string `s`, which must contain a valid</text>
              <text>        IPv6 address string or else an exception</text>
              <text>        is thrown.</text>
            </para>
            <para class="note">
              <text>For a non-throwing parse function,</text>
              <text>        use</text>
              <reference id="bEw/qaAlNfZy1QraETx5dipoF+I=">parse_ipv6_address</reference>
              <text>.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        The input failed to parse correctly.</text>
            </throws>
            <param name="s">
              <text>The string to parse.</text>
            </param>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
            </listitem>
            <see>
              <reference id="bEw/qaAlNfZy1QraETx5dipoF+I=">parse_ipv6_address</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="to_bytes" exception-spec="noexcept" id="ImUwdZB8YlRRGBoT4IIxXUe/wd8=">
          <file path="boost/url/ipv6_address.hpp" line="175" class="def"/>
          <attr id="is-const"/>
          <return>
            <type id="3HLniRaTZARS/qsIh1WH0IPNx7E=" name="bytes_type"/>
          </return>
          <doc>
            <para>
              <text>Return the address as bytes, in network byte order</text>
            </para>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="to_string" id="2zV4QmjxJ0lPqiBQDYB3ewBXEtk=">
            <file path="boost/url/ipv6_address.hpp" line="223" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the address as a string.</text>
              </para>
              <para>
                <text>The returned string does not</text>
                <text>        contain surrounding square brackets.</text>
              </para>
              <para>
                <text>When called with no arguments, the</text>
                <text>        return type is `std::string`.</text>
                <text>        Otherwise, the return type and style</text>
                <text>        of output is determined by which string</text>
                <text>        token is passed.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        ipv6_address::bytes_type b = {{</text>
                <text>                0, 1, 0, 2, 0, 3, 0, 4,</text>
                <text>                0, 5, 0, 6, 0, 7, 0, 8 }};</text>
                <text>        ipv6_address a(b);</text>
                <text>        assert(a.to_string() == &quot;1:2:3:4:5:6:7:8&quot;);</text>
                <text>        assert( ipv4_address(0x01020304).to_string() == &quot;1.2.3.4&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Constant.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Strong guarantee.</text>
                <text>        Calls to allocate may throw.</text>
                <text>        String tokens may throw exceptions.</text>
              </para>
              <returns>
                <text>The return type of the string token.</text>
                <text>        If the token parameter is omitted, then</text>
                <text>        a new `std::string` is returned.</text>
                <text>        Otherwise, the function return type</text>
                <text>        is the result type of the token.</text>
              </returns>
              <param name="token">
                <text>An optional string token.</text>
              </param>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc4291#section-2.2">            2.2. Text Representation of Addresses (rfc4291)</link>
              </listitem>
            </doc>
          </function>
        </template>
        <function name="to_buffer" id="i3fY28R+qnkP8zKn2cOQrWnjNWo=">
          <file path="boost/url/ipv6_address.hpp" line="245"/>
          <attr id="is-const"/>
          <return>
            <type name="core::string_view"/>
          </return>
          <param name="dest">
            <type class="pointer">
              <pointee-type name="char"/>
            </type>
          </param>
          <param name="dest_size">
            <type name="std::size_t"/>
          </param>
          <doc>
            <para>
              <text>Write a dotted decimal string representing the address to a buffer</text>
            </para>
            <para>
              <text>The resulting buffer is not null-terminated.</text>
            </para>
            <throws>
              <text>`dest_size &lt; ipv6_address::max_str_len`</text>
            </throws>
            <returns>
              <text>The formatted string</text>
            </returns>
            <param name="dest">
              <text>The buffer in which to write,</text>
              <text>        which must have at least `dest_size` space.</text>
            </param>
            <param name="dest_size">
              <text>The size of the output buffer.</text>
            </param>
          </doc>
        </function>
        <function name="is_unspecified" exception-spec="noexcept" id="ogO/p3Rsy76ZR5BBjd+JT5p9mAI=">
          <file path="boost/url/ipv6_address.hpp" line="261"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if the address is unspecified</text>
            </para>
            <para>
              <text>The address 0:0:0:0:0:0:0:0 is called the</text>
              <text>        unspecified address. It indicates the</text>
              <text>        absence of an address.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc4291#section-2.5.2">            2.5.2. The Unspecified Address (rfc4291)</link>
            </listitem>
          </doc>
        </function>
        <function name="is_loopback" exception-spec="noexcept" id="3CAIYwRL/lOXbVPvVDAG1wmwB6o=">
          <file path="boost/url/ipv6_address.hpp" line="275"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if the address is a loopback address</text>
            </para>
            <para>
              <text>The unicast address 0:0:0:0:0:0:0:1 is called</text>
              <text>        the loopback address. It may be used by a node</text>
              <text>        to send an IPv6 packet to itself.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc4291#section-2.5.3">            2.5.3. The Loopback Address (rfc4291)</link>
            </listitem>
          </doc>
        </function>
        <function name="is_v4_mapped" exception-spec="noexcept" id="KPFd8cjF5Ss9pYOOq8WhES+hzjA=">
          <file path="boost/url/ipv6_address.hpp" line="288"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if the address is a mapped IPv4 address</text>
            </para>
            <para>
              <text>This address type is used to represent the</text>
              <text>        addresses of IPv4 nodes as IPv6 addresses.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc4291#section-2.5.5.2">            2.5.5.2. IPv4-Mapped IPv6 Address (rfc4291)</link>
            </listitem>
          </doc>
        </function>
        <friend id="2z1l7t8EmzyNS464ZHgNO7XPE54=">
          <file path="boost/url/ipv6_address.hpp" line="293" class="def"/>
          <doc>
            <para>
              <text>Return true if two addresses are equal</text>
            </para>
          </doc>
          <befriended id="/Rx5cBJ8hgc8Yigu7zsZeyTHTTc="/>
        </friend>
        <friend id="EZlhCnjqea+ZaWrvRroqvQ9wT9Y=">
          <file path="boost/url/ipv6_address.hpp" line="304" class="def"/>
          <doc>
            <para>
              <text>Return true if two addresses are not equal</text>
            </para>
          </doc>
          <befriended id="cqaXRu9n2E1Aq+fNQVQILaVo/Ss="/>
        </friend>
        <function name="loopback" exception-spec="noexcept" id="01VFEJ5nUH+9Q1IRe+r7pqG6OY8=">
          <file path="boost/url/ipv6_address.hpp" line="324"/>
          <attr id="storage-class" name="static" value="2"/>
          <return>
            <type id="dhMSRVBIIIItY0URHSc8rwHcdTQ=" name="ipv6_address"/>
          </return>
          <doc>
            <para>
              <text>Return an address object that represents the loopback address</text>
            </para>
            <para>
              <text>The unicast address 0:0:0:0:0:0:0:1 is called</text>
              <text>        the loopback address. It may be used by a node</text>
              <text>        to send an IPv6 packet to itself.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc4291#section-2.5.3">            2.5.3. The Loopback Address (rfc4291)</link>
            </listitem>
          </doc>
        </function>
        <friend id="vZLhokRJWnSyTFtEcIlo1voKP98=">
          <file path="boost/url/ipv6_address.hpp" line="329" class="def"/>
          <befriended id="AQru1yEUVgiZfLKcjFmVLcOmOik="/>
        </friend>
      </class>
      <function name="operator==" exception-spec="noexcept" id="/Rx5cBJ8hgc8Yigu7zsZeyTHTTc=">
        <file path="boost/url/ipv6_address.hpp" line="293" class="def"/>
        <attr id="operator" name="eq" value="30"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="a1">
          <type class="lvalue-reference">
            <pointee-type id="dhMSRVBIIIItY0URHSc8rwHcdTQ=" name="ipv6_address" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="a2">
          <type class="lvalue-reference">
            <pointee-type id="dhMSRVBIIIItY0URHSc8rwHcdTQ=" name="ipv6_address" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Return true if two addresses are equal</text>
          </para>
        </doc>
      </function>
      <function name="operator!=" exception-spec="noexcept" id="cqaXRu9n2E1Aq+fNQVQILaVo/Ss=">
        <file path="boost/url/ipv6_address.hpp" line="304" class="def"/>
        <attr id="operator" name="not_eq" value="31"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="a1">
          <type class="lvalue-reference">
            <pointee-type id="dhMSRVBIIIItY0URHSc8rwHcdTQ=" name="ipv6_address" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="a2">
          <type class="lvalue-reference">
            <pointee-type id="dhMSRVBIIIItY0URHSc8rwHcdTQ=" name="ipv6_address" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Return true if two addresses are not equal</text>
          </para>
        </doc>
      </function>
      <function name="operator&lt;&lt;" id="AQru1yEUVgiZfLKcjFmVLcOmOik=">
        <file path="boost/url/ipv6_address.hpp" line="329" class="def"/>
        <file path="boost/url/ipv6_address.hpp" line="368"/>
        <attr id="operator" name="lshift" value="26"/>
        <return>
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </return>
        <param name="os">
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </param>
        <param name="addr">
          <type class="lvalue-reference">
            <pointee-type id="dhMSRVBIIIItY0URHSc8rwHcdTQ=" name="ipv6_address" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Format the address to an output stream</text>
          </para>
          <para>
            <text>This function writes the address to an</text>
            <text>    output stream using standard notation.</text>
          </para>
          <returns>
            <text>The output stream, for chaining.</text>
          </returns>
          <param name="os">
            <text>The output stream to write to.</text>
          </param>
          <param name="addr">
            <text>The address to write.</text>
          </param>
        </doc>
      </function>
      <function name="parse_ipv6_address" exception-spec="noexcept" id="bEw/qaAlNfZy1QraETx5dipoF+I=">
        <file path="boost/url/ipv6_address.hpp" line="391"/>
        <return>
          <type name="system::result&lt;ipv6_address&gt;"/>
        </return>
        <param name="s">
          <type name="core::string_view"/>
        </param>
        <doc>
          <para>
            <text>Parse a string containing an IPv6 address.</text>
          </para>
          <para>
            <text>This function attempts to parse the string</text>
            <text>    as an IPv6 address and returns a result</text>
            <text>    containing the address upon success, or</text>
            <text>    an error code if the string does not contain</text>
            <text>    a valid IPv6 address.</text>
          </para>
          <head>Exception Safety</head>
          <para>
            <text>    Throws nothing.</text>
          </para>
          <returns>
            <text>A result containing the address.</text>
          </returns>
          <param name="s">
            <text>The string to parse.</text>
          </param>
        </doc>
      </function>
      <enum name="scheme" class="scoped" id="P7uOjuAMILimKGOcbjDUSpMAL/U=">
        <base>
          <type name="unsigned short"/>
        </base>
        <file path="boost/url/scheme.hpp" line="33" class="def"/>
        <doc>
          <para>
            <text>Identifies a known URL scheme</text>
          </para>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.1">3.1. Scheme (rfc3986)</link>
          </listitem>
        </doc>
        <enumerator name="none" initializer="0" id="VupiauVBXlZQ8Uix+vk8kSl+fM8=">
          <file path="boost/url/scheme.hpp" line="37" class="def"/>
          <doc>
            <para>
              <text>Indicates that no scheme is present</text>
            </para>
          </doc>
        </enumerator>
        <enumerator name="unknown" initializer="1" id="LJxTyQ55ot1WYLH7f46nZvdGU78=">
          <file path="boost/url/scheme.hpp" line="41" class="def"/>
          <doc>
            <para>
              <text>Indicates the scheme is not a well-known scheme</text>
            </para>
          </doc>
        </enumerator>
        <enumerator name="ftp" initializer="2" id="d8ubP8DxtHLPeCxOxFoziqGWz9o=">
          <file path="boost/url/scheme.hpp" line="55" class="def"/>
          <doc>
            <para>
              <text>File Transfer Protocol (FTP)</text>
            </para>
            <para>
              <text>FTP is a standard communication protocol</text>
              <text>       used for the transfer of computer files</text>
              <text>       from a server to a client on a computer</text>
              <text>       network.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/draft-yevstifeyev-ftp-uri-scheme">           The &apos;ftp&apos; URI Scheme</link>
            </listitem>
          </doc>
        </enumerator>
        <enumerator name="file" initializer="3" id="u8zbBY+jioTYeE8MzAi9S7L7smU=">
          <file path="boost/url/scheme.hpp" line="68" class="def"/>
          <doc>
            <para>
              <text>File URI Scheme</text>
            </para>
            <para>
              <text>The File URI Scheme is typically used</text>
              <text>       to retrieve files from within one&apos;s</text>
              <text>       own computer.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc8089">           The &quot;file&quot; URI Scheme (rfc8089)</link>
            </listitem>
          </doc>
        </enumerator>
        <enumerator name="http" initializer="4" id="/I4c+UqzLCwTbgp49iEtHVWFSWI=">
          <file path="boost/url/scheme.hpp" line="80" class="def"/>
          <doc>
            <para>
              <text>The Hypertext Transfer Protocol URI Scheme</text>
            </para>
            <para>
              <text>URLs of this type indicate a resource which</text>
              <text>       is interacted with using the HTTP protocol.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc7230">            Hypertext Transfer Protocol (HTTP/1.1) (rfc7230)</link>
            </listitem>
          </doc>
        </enumerator>
        <enumerator name="https" initializer="5" id="KEmCYq306TIiGIOzHXbK0/jECDM=">
          <file path="boost/url/scheme.hpp" line="93" class="def"/>
          <doc>
            <para>
              <text>The Secure Hypertext Transfer Protocol URI Scheme</text>
            </para>
            <para>
              <text>URLs of this type indicate a resource which</text>
              <text>       is interacted with using the Secure HTTP</text>
              <text>       protocol.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc7230">            Hypertext Transfer Protocol (HTTP/1.1) (rfc7230)</link>
            </listitem>
          </doc>
        </enumerator>
        <enumerator name="ws" initializer="6" id="Kv7F3ajld9rhGt3jt2+KM7KcXo0=">
          <file path="boost/url/scheme.hpp" line="105" class="def"/>
          <doc>
            <para>
              <text>The WebSocket URI Scheme</text>
            </para>
            <para>
              <text>URLs of this type indicate a resource which</text>
              <text>       is interacted with using the WebSocket protocol.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc6455">            The WebSocket Protocol (rfc6455)</link>
            </listitem>
          </doc>
        </enumerator>
        <enumerator name="wss" initializer="7" id="MoEJAAjP0vroIo1/vRGApCagYjI=">
          <file path="boost/url/scheme.hpp" line="118" class="def"/>
          <doc>
            <para>
              <text>The Secure WebSocket URI Scheme</text>
            </para>
            <para>
              <text>URLs of this type indicate a resource which</text>
              <text>       is interacted with using the Secure WebSocket</text>
              <text>       protocol.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc6455">            The WebSocket Protocol (rfc6455)</link>
            </listitem>
          </doc>
        </enumerator>
      </enum>
      <function name="string_to_scheme" exception-spec="noexcept" id="ViRFbAhqyfzry2qMQUxKJSvsEQU=">
        <file path="boost/url/scheme.hpp" line="141"/>
        <return>
          <type id="P7uOjuAMILimKGOcbjDUSpMAL/U=" name="scheme"/>
        </return>
        <param name="s">
          <type name="core::string_view"/>
        </param>
        <doc>
          <para>
            <text>Return the known scheme for a non-normalized string, if known</text>
          </para>
          <para>
            <text>If the string does not identify a known</text>
            <text>    scheme, the value</text>
            <reference id="LJxTyQ55ot1WYLH7f46nZvdGU78=">scheme::unknown</reference>
            <text> is</text>
            <text>    returned.</text>
          </para>
          <head>BNF</head>
          <code>
            <text>    scheme      = ALPHA *( ALPHA / DIGIT / &quot;+&quot; / &quot;-&quot; / &quot;.&quot; )</text>
          </code>
          <returns>
            <text>The known scheme</text>
          </returns>
          <param name="s">
            <text>The string holding the scheme</text>
          </param>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.1">3.1. Scheme (rfc3986)</link>
          </listitem>
        </doc>
      </function>
      <function name="to_string" exception-spec="noexcept" id="bWzp24u26R/CcIVKOEeAZxMwSG4=">
        <file path="boost/url/scheme.hpp" line="151"/>
        <return>
          <type name="core::string_view"/>
        </return>
        <param name="s">
          <type id="P7uOjuAMILimKGOcbjDUSpMAL/U=" name="scheme"/>
        </param>
        <doc>
          <para>
            <text>Return the normalized string for a known scheme</text>
          </para>
          <returns>
            <text>A string representing the known scheme</text>
          </returns>
          <param name="s">
            <text>The known scheme constant</text>
          </param>
        </doc>
      </function>
      <function name="default_port" exception-spec="noexcept" id="0hWNSMZWo7QSp/muF+6J2s3jsLA=">
        <file path="boost/url/scheme.hpp" line="174"/>
        <return>
          <type name="std::uint16_t"/>
        </return>
        <param name="s">
          <type id="P7uOjuAMILimKGOcbjDUSpMAL/U=" name="scheme"/>
        </param>
        <doc>
          <para>
            <text>Return the default port for a known scheme</text>
          </para>
          <para>
            <text>This function returns the default port</text>
            <text>    for the known schemes. If the value does</text>
            <text>    not represent a known scheme or the scheme</text>
            <text>    does not represent a protocol, the function</text>
            <text>    returns zero.</text>
          </para>
          <para>
            <text>The following ports are returned by the</text>
            <text>    function:</text>
          </para>
          <listitem>
            <reference id="d8ubP8DxtHLPeCxOxFoziqGWz9o=">scheme::ftp</reference>
            <text> = 21</text>
          </listitem>
          <listitem>
            <reference id="/I4c+UqzLCwTbgp49iEtHVWFSWI=">scheme::http</reference>
            <text>,</text>
            <reference id="Kv7F3ajld9rhGt3jt2+KM7KcXo0=">scheme::ws</reference>
            <text> = 80</text>
          </listitem>
          <listitem>
            <reference id="KEmCYq306TIiGIOzHXbK0/jECDM=">scheme::https</reference>
            <text>,</text>
            <reference id="MoEJAAjP0vroIo1/vRGApCagYjI=">scheme::wss</reference>
            <text> = 443</text>
          </listitem>
          <returns>
            <text>An integer with the default port number</text>
          </returns>
          <param name="s">
            <text>The known scheme constant</text>
          </param>
        </doc>
      </function>
      <class name="url_view" id="wh3UbUToX9YDmRmnpcoM9EUEZo8=">
        <file path="boost/url/url_view.hpp" line="74" class="def"/>
        <file path="boost/url/detail/url_impl.hpp" line="24"/>
        <base>
          <type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base"/>
        </base>
        <doc>
          <para>
            <text>A non-owning reference to a valid URL </text>
          </para>
          <para>
            <text>Objects of this type represent valid URL</text>
            <text>    strings constructed from a parsed, external</text>
            <text>    character buffer whose storage is managed</text>
            <text>    by the caller. That is, it acts like a</text>
            <text>    `core::string_view` in terms of ownership.</text>
            <text>    The caller is responsible for ensuring</text>
            <text>    that the lifetime of the underlying</text>
            <text>    character buffer extends until it is no</text>
            <text>    longer referenced.</text>
          </para>
          <head>Example 1</head>
          <para>
            <text>    Construction from a string parses the input</text>
            <text>    as a</text>
            <italic>URI-reference</italic>
            <text> and throws an</text>
            <text>    exception on error. Upon success, the</text>
            <text>    constructed object points to the passed</text>
            <text>    character buffer; ownership is not</text>
            <text>    transferred.</text>
          </para>
          <code>
            <text>    url_view u( &quot;https://www.example.com/index.htm?text=none#a1&quot; );</text>
          </code>
          <head>Example 2</head>
          <para>
            <text>    Parsing functions like</text>
            <reference id="7d2b1xVBWJPgL/+PWFdoBaZJvMA=">parse_uri_reference</reference>
            <text>    return a</text>
            <reference>result</reference>
            <text> containing either a valid</text>
            <reference id="y8C4V/JzeMyHgT6jXQyeDSDijOU=">url_view</reference>
            <text> upon succcess, otherwise they</text>
            <text>    contain an error. The error can be converted to</text>
            <text>    an exception by the caller if desired:</text>
          </para>
          <code>
            <text>    system::result&lt; url_view &gt; rv = parse_uri_reference( &quot;https://www.example.com/index.htm?text=none#a1&quot; );</text>
          </code>
          <head>BNF</head>
          <code>
            <text>    URI-reference = URI / relative-ref</text>
            <text></text>
            <text>    URI           = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
            <text></text>
            <text>    relative-ref  = relative-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
          </code>
          <head>Specification</head>
          <listitem>
            <link href="https://tools.ietf.org/html/rfc3986">Uniform Resource Identifier (URI): Generic Syntax (rfc3986)</link>
          </listitem>
          <see>
            <reference id="U3CVElRbcTcbg1JzOqhBCd5RSzM=">parse_absolute_uri</reference>
            <text>,</text>
            <reference id="J4f05lEg7oi89R2SkpRaYiBhCIQ=">parse_origin_form</reference>
            <text>,</text>
            <reference id="QFzcl8vSLEeKOEO6w3mv1zGqX3k=">parse_relative_ref</reference>
            <text>,</text>
            <reference id="f+9kR517VGSM5ZPoS7g/RFb0g/0=">parse_uri</reference>
            <text>,</text>
            <reference id="7d2b1xVBWJPgL/+PWFdoBaZJvMA=">parse_uri_reference</reference>
            <text>.</text>
          </see>
        </doc>
        <function class="destructor" name="~url_view" id="C2Z06VYQtT0f7SfP2ilcaOdS/FY=">
          <file path="boost/url/url_view.hpp" line="110" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <doc>
            <para>
              <text>Destructor</text>
            </para>
            <para>
              <text>Any params, segments, iterators, or</text>
              <text>        other views which reference the same</text>
              <text>        underlying character buffer remain</text>
              <text>        valid.</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="url_view" exception-spec="noexcept" id="y8C4V/JzeMyHgT6jXQyeDSDijOU=">
          <file path="boost/url/url_view.hpp" line="146"/>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>Default constructed views refer to</text>
              <text>        a string with zero length, which</text>
              <text>        always remains valid. This matches</text>
              <text>        the grammar for a relative-ref with</text>
              <text>        an empty path and no query or</text>
              <text>        fragment.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url_view u;</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;empty() == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        relative-ref  = relative-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
            </code>
            <head>Specification</head>
            <para>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.2">4.2. Relative Reference (rfc3986)</link>
            </para>
          </doc>
        </function>
        <function class="constructor" name="url_view" id="JVsJtXdASd9pFyR6uj0leyapNx0=">
          <file path="boost/url/url_view.hpp" line="197"/>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>This function constructs a URL from</text>
              <text>        the string `s`, which must contain a</text>
              <text>        valid</text>
              <italic>URI</italic>
              <text> or</text>
              <italic>relative-ref</italic>
              <text>        or else an exception is thrown. Upon</text>
              <text>        successful construction, the view</text>
              <text>        refers to the characters in the</text>
              <text>        buffer pointed to by `s`.</text>
              <text>        Ownership is not transferred; The caller</text>
              <text>        is responsible for ensuring that the</text>
              <text>        lifetime of the buffer extends until</text>
              <text>        it is no longer referenced.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url_view u( &quot;http://www.example.com/index.htm&quot; );</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return parse_uri_reference( s ).value();</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `s.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        The input failed to parse correctly.</text>
            </throws>
            <param name="s">
              <text>The string to parse.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        URI           = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
              <text></text>
              <text>        relative-ref  = relative-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.1">4.1. URI Reference</link>
            </listitem>
            <see>
              <reference id="7d2b1xVBWJPgL/+PWFdoBaZJvMA=">parse_uri_reference</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <template>
          <tparam name="String" class="type"/>
          <tparam class="type" default="void"/>
          <function class="constructor" name="url_view" id="BD2KyU57eYn46VC5vsT4glQD8rc=">
            <file path="boost/url/url_view.hpp" line="215" class="def"/>
            <param name="s">
              <type class="lvalue-reference">
                <pointee-type name="String" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </template>
        <function class="constructor" name="url_view" exception-spec="noexcept" id="JLiDiNu2uu3W88aG1eQAtkdHqE4=">
          <file path="boost/url/url_view.hpp" line="239" class="def"/>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="wh3UbUToX9YDmRmnpcoM9EUEZo8=" name="url_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>After construction, both views</text>
              <text>        reference the same underlying character</text>
              <text>        buffer. Ownership is not transferred.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == other.buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="url_view" exception-spec="noexcept" id="o5hoWO59ZGzDtMtMdE6TmCsd4Xs=">
          <file path="boost/url/url_view.hpp" line="263"/>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>After construction, both views</text>
              <text>        reference the same underlying character</text>
              <text>        buffer. Ownership is not transferred.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == other.buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="operator=" exception-spec="noexcept" id="Leg4hLDDg+v+m5FMUnCxCsdZbHI=">
          <file path="boost/url/url_view.hpp" line="283" class="def"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="wh3UbUToX9YDmRmnpcoM9EUEZo8=" name="url_view"/>
            </type>
          </return>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="wh3UbUToX9YDmRmnpcoM9EUEZo8=" name="url_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>After assignment, both views</text>
              <text>        reference the same underlying character</text>
              <text>        buffer. Ownership is not transferred.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == other.buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="operator=" exception-spec="noexcept" id="/oYGu868uZxWMr7bWnu4SUbic7M=">
          <file path="boost/url/url_view.hpp" line="310"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="wh3UbUToX9YDmRmnpcoM9EUEZo8=" name="url_view"/>
            </type>
          </return>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>After assignment, both views</text>
              <text>        reference the same underlying character</text>
              <text>        buffer. Ownership is not transferred.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == other.buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="max_size" exception-spec="noexcept" id="QnJpEPJCfRKAJAc/hcKWdTwH9qM=">
          <file path="boost/url/url_view.hpp" line="331" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="storage-class" name="static" value="2"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <doc>
            <para>
              <text>Return the maximum number of characters possible</text>
            </para>
            <para>
              <text>This represents the largest number of</text>
              <text>        characters that are possible in a url,</text>
              <text>        not including any null terminator.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
      </class>
      <class name="authority_view" id="d/hMlyyC3Ave6L9McUD7B4TwENA=">
        <file path="boost/url/authority_view.hpp" line="82" class="def"/>
        <file path="boost/url/detail/url_impl.hpp" line="25"/>
        <doc>
          <para>
            <text>A non-owning reference to a valid authority</text>
          </para>
          <para>
            <text>Objects of this type represent valid authority</text>
            <text>    strings constructed from a parsed, external</text>
            <text>    character buffer whose storage is managed</text>
            <text>    by the caller. That is, it acts like a</text>
            <text>    `core::string_view` in terms of ownership.</text>
            <text>    The caller is responsible for ensuring</text>
            <text>    that the lifetime of the underlying</text>
            <text>    character buffer extends until it is no</text>
            <text>    longer referenced.</text>
          </para>
          <head>Example 1</head>
          <para>
            <text>    Construction from a string parses the input</text>
            <text>    as an</text>
            <italic>authority</italic>
            <text> and throws an</text>
            <text>    exception on error. Upon success, the</text>
            <text>    constructed object points to the passed</text>
            <text>    character buffer; ownership is not</text>
            <text>    transferred.</text>
          </para>
          <code>
            <text>    authority_view a( &quot;user:pass@www.example.com:8080&quot; );</text>
          </code>
          <head>Example 2</head>
          <para>
            <text>    The parsing function</text>
            <reference id="dl7C/yP8Suze9+hv0RfYWxZaWCY=">parse_authority</reference>
            <text> returns</text>
            <text>    a</text>
            <reference>result</reference>
            <text> containing either a valid</text>
            <reference id="7hcySrM84Ao7kfBT3tInlrFE2mk=">authority_view</reference>
            <text> upon succcess, otherwise it</text>
            <text>    contain an error. The error can be converted to</text>
            <text>    an exception by the caller if desired:</text>
          </para>
          <code>
            <text>    system::result&lt; authority_view &gt; rv = parse_authority( &quot;user:pass@www.example.com:8080&quot; );</text>
          </code>
          <head>BNF</head>
          <code>
            <text>    authority     = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
            <text></text>
            <text>    userinfo      = user [ &quot;:&quot; [ password ] ]</text>
            <text></text>
            <text>    user          = *( unreserved / pct-encoded / sub-delims )</text>
            <text>    password      = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
            <text></text>
            <text>    host          = IP-literal / IPv4address / reg-name</text>
            <text></text>
            <text>    port          = *DIGIT</text>
          </code>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2">3.2. Authority (rfc3986)</link>
          </listitem>
          <see>
            <reference id="dl7C/yP8Suze9+hv0RfYWxZaWCY=">parse_authority</reference>
            <text>.</text>
          </see>
        </doc>
        <function class="destructor" name="~authority_view" id="kUygN07qrKzz6xqsD2JO6tNbXRI=">
          <file path="boost/url/authority_view.hpp" line="106"/>
          <attr id="is-virtual-as-written"/>
          <doc>
            <para>
              <text>Destructor</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="authority_view" exception-spec="noexcept" id="7hcySrM84Ao7kfBT3tInlrFE2mk=">
          <file path="boost/url/authority_view.hpp" line="121"/>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>Default constructed authorities</text>
              <text>        refer to a string with zero length,</text>
              <text>        which is always valid. This matches</text>
              <text>        the grammar for a zero-length host.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>Specification</head>
          </doc>
        </function>
        <function class="constructor" name="authority_view" explicit-spec="explicit" id="Mggxod/TZ1rIFXqnjEPBAT5FCb8=">
          <file path="boost/url/authority_view.hpp" line="158"/>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Construct from a string.</text>
            </para>
            <para>
              <text>This function attempts to construct</text>
              <text>        an authority from the string `s`,</text>
              <text>        which must be a valid [&apos;authority] or</text>
              <text>        else an exception is thrown. Upon</text>
              <text>        successful construction, the view</text>
              <text>        refers to the characters in the</text>
              <text>        buffer pointed to by `s`.</text>
              <text>        Ownership is not transferred; The</text>
              <text>        caller is responsible for ensuring</text>
              <text>        that the lifetime of the buffer</text>
              <text>        extends until the view is destroyed.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        authority     = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
              <text></text>
              <text>        userinfo      = user [ &quot;:&quot; [ password ] ]</text>
              <text></text>
              <text>        user          = *( unreserved / pct-encoded / sub-delims )</text>
              <text>        password      = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
              <text></text>
              <text>        host          = IP-literal / IPv4address / reg-name</text>
              <text></text>
              <text>        port          = *DIGIT</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2">3.2. Authority (rfc3986)</link>
            </listitem>
            <see>
              <reference id="dl7C/yP8Suze9+hv0RfYWxZaWCY=">parse_authority</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function class="constructor" name="authority_view" exception-spec="noexcept" id="Qh3kGhIBnWwC5OdtBXHEX7oxk9g=">
          <file path="boost/url/authority_view.hpp" line="163"/>
          <param>
            <type class="lvalue-reference">
              <pointee-type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
          </doc>
        </function>
        <function name="operator=" exception-spec="noexcept" id="uU1W5xbMeHDGB5MqSuuAAAYhZjg=">
          <file path="boost/url/authority_view.hpp" line="168"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view"/>
            </type>
          </return>
          <param>
            <type class="lvalue-reference">
              <pointee-type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
          </doc>
        </function>
        <function name="size" exception-spec="noexcept" id="QoOOAaTfBdgqXsOWD90X3tltfF4=">
          <file path="boost/url/authority_view.hpp" line="191" class="def"/>
          <attr id="is-const"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <doc>
            <para>
              <text>Return the number of characters in the authority</text>
            </para>
            <para>
              <text>This function returns the number of</text>
              <text>        characters in the authority.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( authority_view( &quot;user:pass@www.example.com:8080&quot; ).size() == 30 );</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="empty" exception-spec="noexcept" id="M1x440VyVqSlmfc5lWyOZfepvb4=">
          <file path="boost/url/authority_view.hpp" line="210" class="def"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if the authority is empty</text>
            </para>
            <para>
              <text>An empty authority has an empty host,</text>
              <text>        no userinfo, and no port.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( authority_view( &quot;&quot; ).empty() );</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="data" exception-spec="noexcept" id="xZrp4JdBQftr1jfEJocAOyzN32c=">
          <file path="boost/url/authority_view.hpp" line="225" class="def"/>
          <attr id="is-const"/>
          <return>
            <type class="pointer">
              <pointee-type name="char" cv-qualifiers="const"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Return a pointer to the first character</text>
            </para>
            <para>
              <text>This function returns a pointer to the</text>
              <text>        beginning of the view, which is not</text>
              <text>        guaranteed to be null-terminated.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="buffer" exception-spec="noexcept" id="P11NP4P7YOcRNK3kZisALpUqCEQ=">
          <file path="boost/url/authority_view.hpp" line="253" class="def"/>
          <attr id="is-const"/>
          <return>
            <type name="core::string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the complete authority</text>
            </para>
            <para>
              <text>This function returns the authority</text>
              <text>        as a percent-encoded string.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( parse_authority( &quot;www.example.com&quot; ).value().buffer() == &quot;www.example.com&quot; );</text>
            </code>
            <head>BNF</head>
            <code>
              <text>        authority   = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2">3.2. Authority (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <function name="has_userinfo" exception-spec="noexcept" id="ufGAEpjGVrDAR7Z/aWObLlB+/Fw=">
          <file path="boost/url/authority_view.hpp" line="302"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if a userinfo is present</text>
            </para>
            <para>
              <text>This function returns true if this</text>
              <text>        contains a userinfo.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://jane%2Ddoe:pass@example.com&quot; ).has_userinfo() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        userinfo    = user [ &quot;:&quot; [ password ] ]</text>
              <text></text>
              <text>        authority   = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="kld0eiD6C4e3P/TIBG1sVBTu9EI=">has_password</reference>
              <text>,</text>
              <reference id="664kp4dyV0Fx8/OmpypdBDspW4w=">encoded_password</reference>
              <text>,</text>
              <reference id="WjFBzWA+QC4kWYmVk8wQqzyzjsY=">encoded_user</reference>
              <text>,</text>
              <reference id="mHvLEk+wU7kVqeR1MftB7V7RXj8=">encoded_userinfo</reference>
              <text>,</text>
              <reference id="ROTG9938TiCaHNr0Rzc3CrPNSQc=">password</reference>
              <text>,</text>
              <reference id="k0L9aRcMAFLBOG3fVUZA4rt/Q5k=">user</reference>
              <text>,</text>
              <reference id="E7fOFpu0yWBp7ZqmLKZ88iVethA=">userinfo</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="userinfo" id="E7fOFpu0yWBp7ZqmLKZ88iVethA=">
            <file path="boost/url/authority_view.hpp" line="346" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the userinfo</text>
              </para>
              <para>
                <text>If present, this function returns a</text>
                <text>        string representing the userinfo (which</text>
                <text>        may be empty).</text>
                <text>        Otherwise it returns an empty string.</text>
                <text>        Any percent-escapes in the string are</text>
                <text>        decoded first.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        assert( url_view( &quot;http://jane%2Ddoe:pass@example.com&quot; ).userinfo() == &quot;jane-doe:pass&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;userinfo().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
              </para>
              <head>BNF</head>
              <code>
                <text>        userinfo    = user [ &quot;:&quot; [ password ] ]</text>
                <text></text>
                <text>        authority   = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
              </code>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">3.2.1. User Information (rfc3986)</link>
              </listitem>
              <see>
                <reference id="kld0eiD6C4e3P/TIBG1sVBTu9EI=">has_password</reference>
                <text>,</text>
                <reference id="ufGAEpjGVrDAR7Z/aWObLlB+/Fw=">has_userinfo</reference>
                <text>,</text>
                <reference id="664kp4dyV0Fx8/OmpypdBDspW4w=">encoded_password</reference>
                <text>,</text>
                <reference id="WjFBzWA+QC4kWYmVk8wQqzyzjsY=">encoded_user</reference>
                <text>,</text>
                <reference id="mHvLEk+wU7kVqeR1MftB7V7RXj8=">encoded_userinfo</reference>
                <text>,</text>
                <reference id="ROTG9938TiCaHNr0Rzc3CrPNSQc=">password</reference>
                <text>,</text>
                <reference id="k0L9aRcMAFLBOG3fVUZA4rt/Q5k=">user</reference>
                <text>.</text>
              </see>
            </doc>
          </function>
        </template>
        <function name="encoded_userinfo" exception-spec="noexcept" id="mHvLEk+wU7kVqeR1MftB7V7RXj8=">
          <file path="boost/url/authority_view.hpp" line="396"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the userinfo</text>
            </para>
            <para>
              <text>If present, this function returns a</text>
              <text>        string representing the userinfo (which</text>
              <text>        may be empty).</text>
              <text>        Otherwise it returns an empty string.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://jane%2Ddoe:pass@example.com&quot; ).encoded_userinfo() == &quot;jane%2Ddoe:pass&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        userinfo    = user [ &quot;:&quot; [ password ] ]</text>
              <text></text>
              <text>        authority   = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="kld0eiD6C4e3P/TIBG1sVBTu9EI=">has_password</reference>
              <text>,</text>
              <reference id="ufGAEpjGVrDAR7Z/aWObLlB+/Fw=">has_userinfo</reference>
              <text>,</text>
              <reference id="664kp4dyV0Fx8/OmpypdBDspW4w=">encoded_password</reference>
              <text>,</text>
              <reference id="WjFBzWA+QC4kWYmVk8wQqzyzjsY=">encoded_user</reference>
              <text>,</text>
              <reference id="ROTG9938TiCaHNr0Rzc3CrPNSQc=">password</reference>
              <text>,</text>
              <reference id="k0L9aRcMAFLBOG3fVUZA4rt/Q5k=">user</reference>
              <text>,</text>
              <reference id="E7fOFpu0yWBp7ZqmLKZ88iVethA=">userinfo</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="user" id="k0L9aRcMAFLBOG3fVUZA4rt/Q5k=">
            <file path="boost/url/authority_view.hpp" line="443" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the user</text>
              </para>
              <para>
                <text>If present, this function returns a</text>
                <text>        string representing the user (which</text>
                <text>        may be empty).</text>
                <text>        Otherwise it returns an empty string.</text>
                <text>        Any percent-escapes in the string are</text>
                <text>        decoded first.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        assert( url_view( &quot;http://jane%2Ddoe:pass@example.com&quot; ).user() == &quot;jane-doe&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;user().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
              </para>
              <head>BNF</head>
              <code>
                <text>        userinfo    = user [ &quot;:&quot; [ password ] ]</text>
                <text></text>
                <text>        user        = *( unreserved / pct-encoded / sub-delims )</text>
                <text>        password    = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
              </code>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">3.2.1. User Information (rfc3986)</link>
              </listitem>
              <see>
                <reference id="kld0eiD6C4e3P/TIBG1sVBTu9EI=">has_password</reference>
                <text>,</text>
                <reference id="ufGAEpjGVrDAR7Z/aWObLlB+/Fw=">has_userinfo</reference>
                <text>,</text>
                <reference id="664kp4dyV0Fx8/OmpypdBDspW4w=">encoded_password</reference>
                <text>,</text>
                <reference id="WjFBzWA+QC4kWYmVk8wQqzyzjsY=">encoded_user</reference>
                <text>,</text>
                <reference id="mHvLEk+wU7kVqeR1MftB7V7RXj8=">encoded_userinfo</reference>
                <text>,</text>
                <reference id="ROTG9938TiCaHNr0Rzc3CrPNSQc=">password</reference>
                <text>,</text>
                <reference id="E7fOFpu0yWBp7ZqmLKZ88iVethA=">userinfo</reference>
                <text>.</text>
              </see>
            </doc>
          </function>
        </template>
        <function name="encoded_user" exception-spec="noexcept" id="WjFBzWA+QC4kWYmVk8wQqzyzjsY=">
          <file path="boost/url/authority_view.hpp" line="494"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the user</text>
            </para>
            <para>
              <text>If present, this function returns a</text>
              <text>        string representing the user (which</text>
              <text>        may be empty).</text>
              <text>        Otherwise it returns an empty string.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://jane%2Ddoe:pass@example.com&quot; ).encoded_user() == &quot;jane%2Ddoe&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        userinfo    = user [ &quot;:&quot; [ password ] ]</text>
              <text></text>
              <text>        user        = *( unreserved / pct-encoded / sub-delims )</text>
              <text>        password    = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="kld0eiD6C4e3P/TIBG1sVBTu9EI=">has_password</reference>
              <text>,</text>
              <reference id="ufGAEpjGVrDAR7Z/aWObLlB+/Fw=">has_userinfo</reference>
              <text>,</text>
              <reference id="664kp4dyV0Fx8/OmpypdBDspW4w=">encoded_password</reference>
              <text>,</text>
              <reference id="mHvLEk+wU7kVqeR1MftB7V7RXj8=">encoded_userinfo</reference>
              <text>,</text>
              <reference id="ROTG9938TiCaHNr0Rzc3CrPNSQc=">password</reference>
              <text>,</text>
              <reference id="k0L9aRcMAFLBOG3fVUZA4rt/Q5k=">user</reference>
              <text>,</text>
              <reference id="E7fOFpu0yWBp7ZqmLKZ88iVethA=">userinfo</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="has_password" exception-spec="noexcept" id="kld0eiD6C4e3P/TIBG1sVBTu9EI=">
          <file path="boost/url/authority_view.hpp" line="535"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if a password is present</text>
            </para>
            <para>
              <text>This function returns true if the</text>
              <text>        userinfo is present and contains</text>
              <text>        a password.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://jane%2Ddoe:pass@example.com&quot; ).has_password() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        userinfo    = user [ &quot;:&quot; [ password ] ]</text>
              <text></text>
              <text>        user        = *( unreserved / pct-encoded / sub-delims )</text>
              <text>        password    = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="ufGAEpjGVrDAR7Z/aWObLlB+/Fw=">has_userinfo</reference>
              <text>,</text>
              <reference id="664kp4dyV0Fx8/OmpypdBDspW4w=">encoded_password</reference>
              <text>,</text>
              <reference id="WjFBzWA+QC4kWYmVk8wQqzyzjsY=">encoded_user</reference>
              <text>,</text>
              <reference id="mHvLEk+wU7kVqeR1MftB7V7RXj8=">encoded_userinfo</reference>
              <text>,</text>
              <reference id="ROTG9938TiCaHNr0Rzc3CrPNSQc=">password</reference>
              <text>,</text>
              <reference id="k0L9aRcMAFLBOG3fVUZA4rt/Q5k=">user</reference>
              <text>,</text>
              <reference id="E7fOFpu0yWBp7ZqmLKZ88iVethA=">userinfo</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="password" id="ROTG9938TiCaHNr0Rzc3CrPNSQc=">
            <file path="boost/url/authority_view.hpp" line="580" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the password</text>
              </para>
              <para>
                <text>If present, this function returns a</text>
                <text>        string representing the password (which</text>
                <text>        may be an empty string).</text>
                <text>        Otherwise it returns an empty string.</text>
                <text>        Any percent-escapes in the string are</text>
                <text>        decoded first.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        assert( url_view( &quot;http://jane%2Ddoe:pass@example.com&quot; ).password() == &quot;pass&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;password().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
              </para>
              <head>BNF</head>
              <code>
                <text>        userinfo    = user [ &quot;:&quot; [ password ] ]</text>
                <text></text>
                <text>        user        = *( unreserved / pct-encoded / sub-delims )</text>
                <text>        password    = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
              </code>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">3.2.1. User Information (rfc3986)</link>
              </listitem>
              <see>
                <reference id="kld0eiD6C4e3P/TIBG1sVBTu9EI=">has_password</reference>
                <text>,</text>
                <reference id="ufGAEpjGVrDAR7Z/aWObLlB+/Fw=">has_userinfo</reference>
                <text>,</text>
                <reference id="664kp4dyV0Fx8/OmpypdBDspW4w=">encoded_password</reference>
                <text>,</text>
                <reference id="WjFBzWA+QC4kWYmVk8wQqzyzjsY=">encoded_user</reference>
                <text>,</text>
                <reference id="mHvLEk+wU7kVqeR1MftB7V7RXj8=">encoded_userinfo</reference>
                <text>,</text>
                <reference id="k0L9aRcMAFLBOG3fVUZA4rt/Q5k=">user</reference>
                <text>,</text>
                <reference id="E7fOFpu0yWBp7ZqmLKZ88iVethA=">userinfo</reference>
                <text>.</text>
              </see>
            </doc>
          </function>
        </template>
        <function name="encoded_password" exception-spec="noexcept" id="664kp4dyV0Fx8/OmpypdBDspW4w=">
          <file path="boost/url/authority_view.hpp" line="627"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the password</text>
            </para>
            <para>
              <text>This function returns the password portion</text>
              <text>        of the userinfo as a percent-encoded string.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://jane%2Ddoe:pass@example.com&quot; ).encoded_password() == &quot;pass&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        userinfo    = user [ &quot;:&quot; [ password ] ]</text>
              <text></text>
              <text>        user        = *( unreserved / pct-encoded / sub-delims )</text>
              <text>        password    = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="kld0eiD6C4e3P/TIBG1sVBTu9EI=">has_password</reference>
              <text>,</text>
              <reference id="ufGAEpjGVrDAR7Z/aWObLlB+/Fw=">has_userinfo</reference>
              <text>,</text>
              <reference id="WjFBzWA+QC4kWYmVk8wQqzyzjsY=">encoded_user</reference>
              <text>,</text>
              <reference id="mHvLEk+wU7kVqeR1MftB7V7RXj8=">encoded_userinfo</reference>
              <text>,</text>
              <reference id="ROTG9938TiCaHNr0Rzc3CrPNSQc=">password</reference>
              <text>,</text>
              <reference id="k0L9aRcMAFLBOG3fVUZA4rt/Q5k=">user</reference>
              <text>,</text>
              <reference id="E7fOFpu0yWBp7ZqmLKZ88iVethA=">userinfo</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="host_type" exception-spec="noexcept" id="IyzTSrM6qF8ExmSAjRe6jouLT5w=">
          <file path="boost/url/authority_view.hpp" line="662" class="def"/>
          <attr id="is-const"/>
          <return>
            <type id="YLHFVyAYZGSFQe18DPGjn6XsAMs=" name="urls::host_type"/>
          </return>
          <doc>
            <para>
              <text>Return the host type</text>
            </para>
            <para>
              <text>This function returns one of the</text>
              <text>        following constants representing the</text>
              <text>        type of host present.</text>
            </para>
            <listitem>
              <reference id="49F64dAiji9HVbP6MxLQiqot7AY=">host_type::ipv4</reference>
            </listitem>
            <listitem>
              <reference id="jTh/N5N+Bz51cZo2Mwmh6tzxPOc=">host_type::ipv6</reference>
            </listitem>
            <listitem>
              <reference id="TcYJaTwDFsx+0S2CkvHHARcCqWc=">host_type::ipvfuture</reference>
            </listitem>
            <listitem>
              <reference id="HUq75uZ3LBPW3yvUAfpdNzqcfjc=">host_type::name</reference>
            </listitem>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;https://192.168.0.1/local.htm&quot; ).host_type() == host_type::ipv4 );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="host" id="1LoM2HiWtDiQycXsUvfWZhe6Hvc=">
            <file path="boost/url/authority_view.hpp" line="701" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the host</text>
              </para>
              <para>
                <text>This function returns the host portion</text>
                <text>        of the authority as a string, or the</text>
                <text>        empty string if there is no authority.</text>
                <text>        Any percent-escapes in the string are</text>
                <text>        decoded first.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        assert( url_view( &quot;https://www%2droot.example.com/&quot; ).host() == &quot;www-root.example.com&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;host().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
              </para>
              <head>BNF</head>
              <code>
                <text>        host        = IP-literal / IPv4address / reg-name</text>
                <text></text>
                <text>        IP-literal  = &quot;[&quot; ( IPv6address / IPvFuture  ) &quot;]&quot;</text>
                <text></text>
                <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
              </code>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
              </listitem>
            </doc>
          </function>
        </template>
        <function name="encoded_host" exception-spec="noexcept" id="Zb+sv7mtlA9nc7tOl2UKjDFlFbU=">
          <file path="boost/url/authority_view.hpp" line="743"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the host</text>
            </para>
            <para>
              <text>This function returns the host portion</text>
              <text>        of the authority as a string, or the</text>
              <text>        empty string if there is no authority.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;https://www%2droot.example.com/&quot; ).encoded_host() == &quot;www%2droot.example.com&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        host        = IP-literal / IPv4address / reg-name</text>
              <text></text>
              <text>        IP-literal  = &quot;[&quot; ( IPv6address / IPvFuture  ) &quot;]&quot;</text>
              <text></text>
              <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="host_address" id="OTOc1CgK/GuawlFPXjjcK6odYOE=">
            <file path="boost/url/authority_view.hpp" line="796" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the host</text>
              </para>
              <para>
                <text>The value returned by this function</text>
                <text>        depends on the type of host returned</text>
                <text>        from the function</text>
                <reference id="IyzTSrM6qF8ExmSAjRe6jouLT5w=">host_type</reference>
                <text>.</text>
              </para>
              <listitem>
                <text>If the type is </text>
                <reference id="49F64dAiji9HVbP6MxLQiqot7AY=">host_type::ipv4</reference>
                <text>,        then the IPv4 address string is returned.</text>
              </listitem>
              <listitem>
                <text>If the type is </text>
                <reference id="jTh/N5N+Bz51cZo2Mwmh6tzxPOc=">host_type::ipv6</reference>
                <text>,        then the IPv6 address string is returned,</text>
                <text>        without any enclosing brackets.</text>
              </listitem>
              <listitem>
                <text>If the type is </text>
                <reference id="TcYJaTwDFsx+0S2CkvHHARcCqWc=">host_type::ipvfuture</reference>
                <text>,        then the IPvFuture address string is returned,</text>
                <text>        without any enclosing brackets.</text>
              </listitem>
              <listitem>
                <text>If the type is </text>
                <reference id="HUq75uZ3LBPW3yvUAfpdNzqcfjc=">host_type::name</reference>
                <text>,        then the host name string is returned.</text>
                <text>        Any percent-escapes in the string are</text>
                <text>        decoded first.</text>
              </listitem>
              <listitem>
                <text>If the type is </text>
                <reference id="QyoMTu07h232/Sxqovu2mGoPgTo=">host_type::none</reference>
                <text>,        then an empty string is returned.</text>
              </listitem>
              <head>Example</head>
              <code>
                <text>        assert( url_view( &quot;https://[1::6:c0a8:1]/&quot; ).host_address() == &quot;1::6:c0a8:1&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;host_address().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
              </para>
              <head>BNF</head>
              <code>
                <text>        host        = IP-literal / IPv4address / reg-name</text>
                <text></text>
                <text>        IP-literal  = &quot;[&quot; ( IPv6address / IPvFuture  ) &quot;]&quot;</text>
                <text></text>
                <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
              </code>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
              </listitem>
            </doc>
          </function>
        </template>
        <function name="encoded_host_address" exception-spec="noexcept" id="LPU+syg+CdCexu20vM5i/h+g8MA=">
          <file path="boost/url/authority_view.hpp" line="857"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the host</text>
            </para>
            <para>
              <text>The value returned by this function</text>
              <text>        depends on the type of host returned</text>
              <text>        from the function</text>
              <reference id="IyzTSrM6qF8ExmSAjRe6jouLT5w=">host_type</reference>
              <text>.</text>
            </para>
            <listitem>
              <text>If the type is </text>
              <reference id="49F64dAiji9HVbP6MxLQiqot7AY=">host_type::ipv4</reference>
              <text>,        then the IPv4 address string is returned.</text>
            </listitem>
            <listitem>
              <text>If the type is </text>
              <reference id="jTh/N5N+Bz51cZo2Mwmh6tzxPOc=">host_type::ipv6</reference>
              <text>,        then the IPv6 address string is returned,</text>
              <text>        without any enclosing brackets.</text>
            </listitem>
            <listitem>
              <text>If the type is </text>
              <reference id="TcYJaTwDFsx+0S2CkvHHARcCqWc=">host_type::ipvfuture</reference>
              <text>,        then the IPvFuture address string is returned,</text>
              <text>        without any enclosing brackets.</text>
            </listitem>
            <listitem>
              <text>If the type is </text>
              <reference id="HUq75uZ3LBPW3yvUAfpdNzqcfjc=">host_type::name</reference>
              <text>,        then the host name string is returned.</text>
              <text>        Any percent-escapes in the string are</text>
              <text>        decoded first.</text>
            </listitem>
            <listitem>
              <text>If the type is </text>
              <reference id="QyoMTu07h232/Sxqovu2mGoPgTo=">host_type::none</reference>
              <text>,        then an empty string is returned.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </listitem>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;https://www%2droot.example.com/&quot; ).encoded_host_address() == &quot;www%2droot.example.com&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        host        = IP-literal / IPv4address / reg-name</text>
              <text></text>
              <text>        IP-literal  = &quot;[&quot; ( IPv6address / IPvFuture  ) &quot;]&quot;</text>
              <text></text>
              <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <function name="host_ipv4_address" exception-spec="noexcept" id="kVlbEpr6oa5by3+amQ8PBNKaZjA=">
          <file path="boost/url/authority_view.hpp" line="896"/>
          <attr id="is-const"/>
          <return>
            <type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address"/>
          </return>
          <doc>
            <para>
              <text>Return the host IPv4 address</text>
            </para>
            <para>
              <text>If the host type is </text>
              <reference id="49F64dAiji9HVbP6MxLQiqot7AY=">host_type::ipv4</reference>
              <text>,        this function returns the address as</text>
              <text>        a value of type</text>
              <reference id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=">ipv4_address</reference>
              <text>.        Otherwise, if the host type is not an IPv4</text>
              <text>        address, it returns a default-constructed</text>
              <text>        value which is equal to the unspecified</text>
              <text>        address &quot;0.0.0.0&quot;.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://127.0.0.1/index.htm?user=win95&quot; ).host_ipv4_address() == ipv4_address( &quot;127.0.0.1&quot; ) );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        IPv4address = dec-octet &quot;.&quot; dec-octet &quot;.&quot; dec-octet &quot;.&quot; dec-octet</text>
              <text></text>
              <text>        dec-octet   = DIGIT                 ; 0-9</text>
              <text>                    / %x31-39 DIGIT         ; 10-99</text>
              <text>                    / &quot;1&quot; 2DIGIT            ; 100-199</text>
              <text>                    / &quot;2&quot; %x30-34 DIGIT     ; 200-249</text>
              <text>                    / &quot;25&quot; %x30-35          ; 250-255</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <function name="host_ipv6_address" exception-spec="noexcept" id="xMoi4KmbAmlKw5kq0RD+z3ZhDuM=">
          <file path="boost/url/authority_view.hpp" line="943"/>
          <attr id="is-const"/>
          <return>
            <type id="dhMSRVBIIIItY0URHSc8rwHcdTQ=" name="ipv6_address"/>
          </return>
          <doc>
            <para>
              <text>Return the host IPv6 address</text>
            </para>
            <para>
              <text>If the host type is </text>
              <reference id="jTh/N5N+Bz51cZo2Mwmh6tzxPOc=">host_type::ipv6</reference>
              <text>,        this function returns the address as</text>
              <text>        a value of type</text>
              <reference id="dhMSRVBIIIItY0URHSc8rwHcdTQ=">ipv6_address</reference>
              <text>.        Otherwise, if the host type is not an IPv6</text>
              <text>        address, it returns a default-constructed</text>
              <text>        value which is equal to the unspecified</text>
              <text>        address &quot;0:0:0:0:0:0:0:0&quot;.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;ftp://[::1]/&quot; ).host_ipv6_address() == ipv6_address( &quot;::1&quot; ) );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        IPv6address =                            6( h16 &quot;:&quot; ) ls32</text>
              <text>                    /                       &quot;::&quot; 5( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [               h16 ] &quot;::&quot; 4( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [ *1( h16 &quot;:&quot; ) h16 ] &quot;::&quot; 3( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [ *2( h16 &quot;:&quot; ) h16 ] &quot;::&quot; 2( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [ *3( h16 &quot;:&quot; ) h16 ] &quot;::&quot;    h16 &quot;:&quot;   ls32</text>
              <text>                    / [ *4( h16 &quot;:&quot; ) h16 ] &quot;::&quot;              ls32</text>
              <text>                    / [ *5( h16 &quot;:&quot; ) h16 ] &quot;::&quot;              h16</text>
              <text>                    / [ *6( h16 &quot;:&quot; ) h16 ] &quot;::&quot;</text>
              <text></text>
              <text>        ls32        = ( h16 &quot;:&quot; h16 ) / IPv4address</text>
              <text>                    ; least-significant 32 bits of address</text>
              <text></text>
              <text>        h16         = 1*4HEXDIG</text>
              <text>                    ; 16 bits of address represented in hexadecimal</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <function name="host_ipvfuture" exception-spec="noexcept" id="hIAl5fITeDqPWPPjGVlSz2zibgA=">
          <file path="boost/url/authority_view.hpp" line="975"/>
          <attr id="is-const"/>
          <return>
            <type name="core::string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the host IPvFuture address</text>
            </para>
            <para>
              <text>If the host type is </text>
              <reference id="TcYJaTwDFsx+0S2CkvHHARcCqWc=">host_type::ipvfuture</reference>
              <text>,        this function returns the address as</text>
              <text>        a string.</text>
              <text>        Otherwise, if the host type is not an</text>
              <text>        IPvFuture address, it returns an</text>
              <text>        empty string.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://[v1fe.d:9]/index.htm&quot; ).host_ipvfuture() == &quot;v1fe.d:9&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        IPvFuture  = &quot;v&quot; 1*HEXDIG &quot;.&quot; 1*( unreserved / sub-delims / &quot;:&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="host_name" id="GMMqkVh5s3w58Fu0mI0lczX9Y3Q=">
            <file path="boost/url/authority_view.hpp" line="1013" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the host name</text>
              </para>
              <para>
                <text>If the host type is </text>
                <reference id="HUq75uZ3LBPW3yvUAfpdNzqcfjc=">host_type::name</reference>
                <text>,        this function returns the name as</text>
                <text>        a string.</text>
                <text>        Otherwise, if the host type is not an</text>
                <text>        name, it returns an empty string.</text>
                <text>        Any percent-escapes in the string are</text>
                <text>        decoded first.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        assert( url_view( &quot;https://www%2droot.example.com/&quot; ).host_name() == &quot;www-root.example.com&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;host_name().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
              </para>
              <head>BNF</head>
              <code>
                <text>        host        = IP-literal / IPv4address / reg-name</text>
                <text></text>
                <text>        IP-literal  = &quot;[&quot; ( IPv6address / IPvFuture  ) &quot;]&quot;</text>
                <text></text>
                <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
              </code>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
              </listitem>
            </doc>
          </function>
        </template>
        <function name="encoded_host_name" exception-spec="noexcept" id="h9voFAeGtZlYmI+yXt56u3fAJIU=">
          <file path="boost/url/authority_view.hpp" line="1057"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the host name</text>
            </para>
            <para>
              <text>If the host type is </text>
              <reference id="HUq75uZ3LBPW3yvUAfpdNzqcfjc=">host_type::name</reference>
              <text>,        this function returns the name as</text>
              <text>        a string.</text>
              <text>        Otherwise, if the host type is not an</text>
              <text>        name, it returns an empty string.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;https://www%2droot.example.com/&quot; ).encoded_host_name() == &quot;www%2droot.example.com&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        host        = IP-literal / IPv4address / reg-name</text>
              <text></text>
              <text>        IP-literal  = &quot;[&quot; ( IPv6address / IPvFuture  ) &quot;]&quot;</text>
              <text></text>
              <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <function name="has_port" exception-spec="noexcept" id="IphAWosew2EkzMVgRvkC/OAJ0xw=">
          <file path="boost/url/authority_view.hpp" line="1098"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if a port is present</text>
            </para>
            <para>
              <text>This function returns true if an</text>
              <text>        authority is present and contains a port.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;wss://www.example.com:443&quot; ).has_port() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        authority   = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
              <text></text>
              <text>        port        = *DIGIT</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.3">3.2.3. Port (rfc3986)</link>
            </listitem>
            <see>
              <reference id="5N16Bqd0+ZgJHR1NiZKAJK9EqwU=">encoded_host_and_port</reference>
              <text>,</text>
              <reference id="k1FyNKXMpBVt6GfboIAkuHq+/3I=">port</reference>
              <text>,</text>
              <reference id="Io13bUCUJtWDXQuR23TbsYoTs5s=">port_number</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="port" exception-spec="noexcept" id="k1FyNKXMpBVt6GfboIAkuHq+/3I=">
          <file path="boost/url/authority_view.hpp" line="1133"/>
          <attr id="is-const"/>
          <return>
            <type name="core::string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the port</text>
            </para>
            <para>
              <text>If present, this function returns a</text>
              <text>        string representing the port (which</text>
              <text>        may be empty).</text>
              <text>        Otherwise it returns an empty string.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://localhost.com:8080&quot; ).port() == &quot;8080&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        port        = *DIGIT</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.3">3.2.3. Port (rfc3986)</link>
            </listitem>
            <see>
              <reference id="5N16Bqd0+ZgJHR1NiZKAJK9EqwU=">encoded_host_and_port</reference>
              <text>,</text>
              <reference id="IphAWosew2EkzMVgRvkC/OAJ0xw=">has_port</reference>
              <text>,</text>
              <reference id="Io13bUCUJtWDXQuR23TbsYoTs5s=">port_number</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="port_number" exception-spec="noexcept" id="Io13bUCUJtWDXQuR23TbsYoTs5s=">
          <file path="boost/url/authority_view.hpp" line="1168"/>
          <attr id="is-const"/>
          <return>
            <type name="std::uint16_t"/>
          </return>
          <doc>
            <para>
              <text>Return the port</text>
            </para>
            <para>
              <text>If a port is present and the numerical</text>
              <text>        value is representable, it is returned</text>
              <text>        as an unsigned integer. Otherwise, the</text>
              <text>        number zero is returned.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://localhost.com:8080&quot; ).port_number() == 8080 );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        port        = *DIGIT</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.3">3.2.3. Port (rfc3986)</link>
            </listitem>
            <see>
              <reference id="5N16Bqd0+ZgJHR1NiZKAJK9EqwU=">encoded_host_and_port</reference>
              <text>,</text>
              <reference id="IphAWosew2EkzMVgRvkC/OAJ0xw=">has_port</reference>
              <text>,</text>
              <reference id="k1FyNKXMpBVt6GfboIAkuHq+/3I=">port</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="encoded_host_and_port" exception-spec="noexcept" id="5N16Bqd0+ZgJHR1NiZKAJK9EqwU=">
          <file path="boost/url/authority_view.hpp" line="1207"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the host and port</text>
            </para>
            <para>
              <text>If an authority is present, this</text>
              <text>        function returns the host and optional</text>
              <text>        port as a string, which may be empty.</text>
              <text>        Otherwise it returns an empty string.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://www.example.com:8080/index.htm&quot; ).encoded_host_and_port() == &quot;www.example.com:8080&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        authority   = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2.  Host (rfc3986)</link>
            </listitem>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.3">3.2.3. Port (rfc3986)</link>
            </listitem>
            <see>
              <reference id="IphAWosew2EkzMVgRvkC/OAJ0xw=">has_port</reference>
              <text>,</text>
              <reference id="k1FyNKXMpBVt6GfboIAkuHq+/3I=">port</reference>
              <text>,</text>
              <reference id="Io13bUCUJtWDXQuR23TbsYoTs5s=">port_number</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="compare" exception-spec="noexcept" id="ib5/wfiEadKVMAM8qFs77UqtQfs=">
          <file path="boost/url/authority_view.hpp" line="1232"/>
          <attr id="is-const"/>
          <return>
            <type name="int"/>
          </return>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Return the result of comparing this with another authority</text>
            </para>
            <para>
              <text>This function compares two authorities</text>
              <text>        according to Syntax-Based comparison</text>
              <text>        algorithm.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <returns>
              <text>-1 if `*this &lt; other`, 0 if</text>
              <text>        `this == other`, and 1 if `this &gt; other`.</text>
            </returns>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <friend id="DJisl7DVq5INyn4kgmbvJLCvTgQ=">
          <file path="boost/url/authority_view.hpp" line="1246" class="def"/>
          <doc>
            <para>
              <text>Return the result of comparing two authorities</text>
              <text>        The authorities are compared component</text>
              <text>        by component as if they were first</text>
              <text>        normalized.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `min( a0.size(), a1.size() )`</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
          </doc>
          <befriended id="ktBT7dVJ8LGHL6lYOr37Ts3gI4I="/>
        </friend>
        <friend id="yhebQ2ez1oFEplqbqTtnGai3U7A=">
          <file path="boost/url/authority_view.hpp" line="1266" class="def"/>
          <doc>
            <para>
              <text>Return the result of comparing two authorities</text>
              <text>        The authorities are compared component</text>
              <text>        by component as if they were first</text>
              <text>        normalized.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `min( a0.size(), a1.size() )`</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
          </doc>
          <befriended id="NxK2yg1Y7T4SxurWSwoUG97wrN0="/>
        </friend>
        <friend id="dqxVbEUhr/oA1QdvqxioWkwa3dQ=">
          <file path="boost/url/authority_view.hpp" line="1286" class="def"/>
          <doc>
            <para>
              <text>Return the result of comparing two authorities</text>
              <text>        The authorities are compared component</text>
              <text>        by component as if they were first</text>
              <text>        normalized.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `min( a0.size(), a1.size() )`</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
          </doc>
          <befriended id="qFHmi5LkvIRpILiiWOHp9hOpYQA="/>
        </friend>
        <friend id="B0AePMsUKvwkpjJRQF5vqv2ZNfs=">
          <file path="boost/url/authority_view.hpp" line="1306" class="def"/>
          <doc>
            <para>
              <text>Return the result of comparing two authorities</text>
              <text>        The authorities are compared component</text>
              <text>        by component as if they were first</text>
              <text>        normalized.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `min( a0.size(), a1.size() )`</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
          </doc>
          <befriended id="F1TeTah5Uxojczk8Fz++HrM66vU="/>
        </friend>
        <friend id="0uoFlqJBC9uFZHUQpZq/PJdlJiw=">
          <file path="boost/url/authority_view.hpp" line="1326" class="def"/>
          <doc>
            <para>
              <text>Return the result of comparing two authorities</text>
              <text>        The authorities are compared component</text>
              <text>        by component as if they were first</text>
              <text>        normalized.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `min( a0.size(), a1.size() )`</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
          </doc>
          <befriended id="jlb8m5L+4Dp3wPZXOocje2gAGok="/>
        </friend>
        <friend id="clo7EqjHGb/YtDGoXBWYOZmeL0c=">
          <file path="boost/url/authority_view.hpp" line="1346" class="def"/>
          <doc>
            <para>
              <text>Return the result of comparing two authorities</text>
              <text>        The authorities are compared component</text>
              <text>        by component as if they were first</text>
              <text>        normalized.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `min( a0.size(), a1.size() )`</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
          </doc>
          <befriended id="hFJopnR14fIqBpDu1GGpNyp3Y5c="/>
        </friend>
        <friend id="pTtjeFR4jZf0SftldMzvvSQcRUQ=">
          <file path="boost/url/authority_view.hpp" line="1358" class="def"/>
          <befriended id="62w3cvZ1uSKt/7VWLepmVSNqb5s="/>
        </friend>
      </class>
      <function name="operator==" exception-spec="noexcept" id="ktBT7dVJ8LGHL6lYOr37Ts3gI4I=">
        <file path="boost/url/authority_view.hpp" line="1246" class="def"/>
        <attr id="operator" name="eq" value="30"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="a0">
          <type class="lvalue-reference">
            <pointee-type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="a1">
          <type class="lvalue-reference">
            <pointee-type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Return the result of comparing two authorities</text>
            <text>        The authorities are compared component</text>
            <text>        by component as if they were first</text>
            <text>        normalized.</text>
          </para>
          <head>Complexity</head>
          <para>
            <text>        Linear in `min( a0.size(), a1.size() )`</text>
          </para>
          <head>Exception Safety</head>
          <para>
            <text>        Throws nothing</text>
          </para>
        </doc>
      </function>
      <function name="operator!=" exception-spec="noexcept" id="NxK2yg1Y7T4SxurWSwoUG97wrN0=">
        <file path="boost/url/authority_view.hpp" line="1266" class="def"/>
        <attr id="operator" name="not_eq" value="31"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="a0">
          <type class="lvalue-reference">
            <pointee-type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="a1">
          <type class="lvalue-reference">
            <pointee-type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Return the result of comparing two authorities</text>
            <text>        The authorities are compared component</text>
            <text>        by component as if they were first</text>
            <text>        normalized.</text>
          </para>
          <head>Complexity</head>
          <para>
            <text>        Linear in `min( a0.size(), a1.size() )`</text>
          </para>
          <head>Exception Safety</head>
          <para>
            <text>        Throws nothing</text>
          </para>
        </doc>
      </function>
      <function name="operator&lt;" exception-spec="noexcept" id="qFHmi5LkvIRpILiiWOHp9hOpYQA=">
        <file path="boost/url/authority_view.hpp" line="1286" class="def"/>
        <attr id="operator" name="lt" value="16"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="a0">
          <type class="lvalue-reference">
            <pointee-type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="a1">
          <type class="lvalue-reference">
            <pointee-type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Return the result of comparing two authorities</text>
            <text>        The authorities are compared component</text>
            <text>        by component as if they were first</text>
            <text>        normalized.</text>
          </para>
          <head>Complexity</head>
          <para>
            <text>        Linear in `min( a0.size(), a1.size() )`</text>
          </para>
          <head>Exception Safety</head>
          <para>
            <text>        Throws nothing</text>
          </para>
        </doc>
      </function>
      <function name="operator&lt;=" exception-spec="noexcept" id="F1TeTah5Uxojczk8Fz++HrM66vU=">
        <file path="boost/url/authority_view.hpp" line="1306" class="def"/>
        <attr id="operator" name="le" value="32"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="a0">
          <type class="lvalue-reference">
            <pointee-type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="a1">
          <type class="lvalue-reference">
            <pointee-type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Return the result of comparing two authorities</text>
            <text>        The authorities are compared component</text>
            <text>        by component as if they were first</text>
            <text>        normalized.</text>
          </para>
          <head>Complexity</head>
          <para>
            <text>        Linear in `min( a0.size(), a1.size() )`</text>
          </para>
          <head>Exception Safety</head>
          <para>
            <text>        Throws nothing</text>
          </para>
        </doc>
      </function>
      <function name="operator&gt;" exception-spec="noexcept" id="jlb8m5L+4Dp3wPZXOocje2gAGok=">
        <file path="boost/url/authority_view.hpp" line="1326" class="def"/>
        <attr id="operator" name="gt" value="17"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="a0">
          <type class="lvalue-reference">
            <pointee-type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="a1">
          <type class="lvalue-reference">
            <pointee-type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Return the result of comparing two authorities</text>
            <text>        The authorities are compared component</text>
            <text>        by component as if they were first</text>
            <text>        normalized.</text>
          </para>
          <head>Complexity</head>
          <para>
            <text>        Linear in `min( a0.size(), a1.size() )`</text>
          </para>
          <head>Exception Safety</head>
          <para>
            <text>        Throws nothing</text>
          </para>
        </doc>
      </function>
      <function name="operator&gt;=" exception-spec="noexcept" id="hFJopnR14fIqBpDu1GGpNyp3Y5c=">
        <file path="boost/url/authority_view.hpp" line="1346" class="def"/>
        <attr id="operator" name="ge" value="33"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="a0">
          <type class="lvalue-reference">
            <pointee-type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="a1">
          <type class="lvalue-reference">
            <pointee-type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Return the result of comparing two authorities</text>
            <text>        The authorities are compared component</text>
            <text>        by component as if they were first</text>
            <text>        normalized.</text>
          </para>
          <head>Complexity</head>
          <para>
            <text>        Linear in `min( a0.size(), a1.size() )`</text>
          </para>
          <head>Exception Safety</head>
          <para>
            <text>        Throws nothing</text>
          </para>
        </doc>
      </function>
      <function name="operator&lt;&lt;" id="62w3cvZ1uSKt/7VWLepmVSNqb5s=">
        <file path="boost/url/authority_view.hpp" line="1358" class="def"/>
        <file path="boost/url/authority_view.hpp" line="1386"/>
        <attr id="operator" name="lshift" value="26"/>
        <return>
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </return>
        <param name="os">
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </param>
        <param name="a">
          <type class="lvalue-reference">
            <pointee-type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Format the encoded authority to the output stream</text>
          </para>
          <para>
            <text>This function serializes the encoded URL</text>
            <text>    to the output stream.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    authority_view a( &quot;www.example.com&quot; );</text>
            <text></text>
            <text>    std::cout &lt;&lt; a &lt;&lt; std::endl;</text>
          </code>
          <returns>
            <text>A reference to the output stream, for chaining</text>
          </returns>
          <param name="os">
            <text>The output stream to write to</text>
          </param>
          <param name="a">
            <text>The URL to write</text>
          </param>
        </doc>
      </function>
      <function name="parse_authority" exception-spec="noexcept" id="dl7C/yP8Suze9+hv0RfYWxZaWCY=">
        <file path="boost/url/authority_view.hpp" line="1432"/>
        <return>
          <type name="system::result&lt;authority_view&gt;"/>
        </return>
        <param name="s">
          <type name="core::string_view"/>
        </param>
        <doc>
          <para>
            <text>Parse an authority</text>
          </para>
          <para>
            <text>This function parses a string according to</text>
            <text>    the authority grammar below, and returns an</text>
            <reference id="d/hMlyyC3Ave6L9McUD7B4TwENA=">authority_view</reference>
            <text> referencing the string.</text>
            <text>    Ownership of the string is not transferred;</text>
            <text>    the caller is responsible for ensuring that</text>
            <text>    the lifetime of the string extends until the</text>
            <text>    view is no longer being accessed.</text>
          </para>
          <head>BNF</head>
          <code>
            <text>    authority     = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
            <text></text>
            <text>    userinfo      = user [ &quot;:&quot; [ password ] ]</text>
            <text></text>
            <text>    user          = *( unreserved / pct-encoded / sub-delims )</text>
            <text>    password      = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
            <text></text>
            <text>    host          = IP-literal / IPv4address / reg-name</text>
            <text></text>
            <text>    port          = *DIGIT</text>
          </code>
          <head>Exception Safety</head>
          <para>
            <text>    Throws nothing.</text>
          </para>
          <returns>
            <text>A view to the parsed authority</text>
          </returns>
          <param name="s">
            <text>The string to parse</text>
          </param>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2">3.2. Authority (rfc3986)</link>
          </listitem>
          <see>
            <reference id="d/hMlyyC3Ave6L9McUD7B4TwENA=">authority_view</reference>
            <text>.</text>
          </see>
        </doc>
      </function>
      <struct name="ignore_case_t" id="ibDybxsT6RimwxxFu6Zm2q64zwo=">
        <file path="boost/url/ignore_case.hpp" line="19" class="def"/>
      </struct>
      <variable name="ignore_case" id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">
        <file path="boost/url/ignore_case.hpp" line="31" class="def"/>
        <attr id="constexpr-kind" name="constexpr" value="1"/>
        <type id="ibDybxsT6RimwxxFu6Zm2q64zwo=" name="ignore_case_t" cv-qualifiers="const"/>
      </variable>
      <class name="ignore_case_param" id="RATceEbebMWrhFXGkG2RDFi+7WY=">
        <file path="boost/url/ignore_case.hpp" line="46" class="def"/>
        <doc>
          <para>
            <text>An optional parameter to determine case-sensitivity</text>
          </para>
          <para>
            <text>Functions may use parameters of this type</text>
            <text>    to allow the user to optionally indicate</text>
            <text>    that comparisons should be case-insensitive</text>
            <text>    when the value</text>
            <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
            <text> is passed.</text>
          </para>
        </doc>
        <function class="constructor" name="ignore_case_param" exception-spec="noexcept" id="OgZndABYifoxB4gRablGbBI5fg4=">
          <file path="boost/url/ignore_case.hpp" line="71" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>By default, comparisons are</text>
              <text>        case-sensitive.</text>
            </para>
            <head>Example</head>
            <para>
              <text>        This function performs case-sensitive</text>
              <text>        comparisons when called with no</text>
              <text>        arguments:</text>
            </para>
            <code>
              <text>        void f( ignore_case_param = {} );</text>
            </code>
          </doc>
        </function>
        <function class="constructor" name="ignore_case_param" exception-spec="noexcept" id="FhtlJHF7aqD2UGpBjGX9VLgOKK0=">
          <file path="boost/url/ignore_case.hpp" line="88" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <param>
            <type id="ibDybxsT6RimwxxFu6Zm2q64zwo=" name="ignore_case_t"/>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>Construction from </text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text>        indicates that comparisons should</text>
              <text>        be case-insensitive.</text>
            </para>
            <head>Example</head>
            <para>
              <text>        When</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text> is passed as</text>
              <text>        an argument, this function ignores</text>
              <text>        case when performing comparisons:</text>
            </para>
            <code>
              <text>        void f( ignore_case_param = {} );</text>
            </code>
          </doc>
        </function>
        <function class="conversion" name="operator bool" exception-spec="noexcept" id="lXpAYsiIRGoZg3fANCJGIa1E0bY=">
          <file path="boost/url/ignore_case.hpp" line="108" class="def"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>True if an algorithm should ignore case</text>
            </para>
            <para>
              <text>Values of type `ignore_case_param`</text>
              <text>        evaluate to true when constructed</text>
              <text>        with the constant</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text>.        Otherwise, they are default-constructed</text>
              <text>        and evaluate to `false`.</text>
            </para>
          </doc>
        </function>
      </class>
      <class name="segments_encoded_base" id="qs4TNMM406MPgeboXz6oVUmcauE=">
        <file path="boost/url/segments_encoded_base.hpp" line="37" class="def"/>
        <doc>
          <para>
            <text>Common functionality for containers</text>
          </para>
          <para>
            <text>This base class is used by the library</text>
            <text>    to provide common member functions for</text>
            <text>    containers. This cannot be instantiated</text>
            <text>    directly; Instead, use one of the</text>
            <text>    containers or functions:</text>
          </para>
          <head>Containers</head>
          <listitem>
            <reference id="zdr3gU7+2/G05oo6ta/IfHlkTF0=">segments_ref</reference>
          </listitem>
          <listitem>
            <reference id="ZNJOLZ4RhCB2A2ooiNo7KxZJHrA=">segments_view</reference>
          </listitem>
          <listitem>
            <reference id="TCUUfRiqZjX62kt7tK2fs//VWr0=">segments_encoded_ref</reference>
          </listitem>
          <listitem>
            <reference id="EvaX3SmNTAtai2Kf6Kma3fUkTkQ=">segments_encoded_view</reference>
          </listitem>
        </doc>
        <class name="iterator" id="g/L8mjAHkEezRBezNicBq+kX83A=">
          <file path="boost/url/impl/segments_encoded_base.hpp" line="20" class="def"/>
          <file path="boost/url/segments_encoded_base.hpp" line="79"/>
          <alias name="value_type" id="TOSEZn68owySaisnyUKuZYR3Txw=">
            <file path="boost/url/impl/segments_encoded_base.hpp" line="38" class="def"/>
            <type id="AWMsSIW+RTb1aMhvCsG7n58jVHM=" name="segments_encoded_base::value_type"/>
          </alias>
          <alias name="reference" id="zU0nfAiWtH9vpQ8tCdJj1HhKUXY=">
            <file path="boost/url/impl/segments_encoded_base.hpp" line="40" class="def"/>
            <type id="5In4EDUuaLDGWzqU/EoIRrGbjkw=" name="segments_encoded_base::reference"/>
          </alias>
          <alias name="pointer" id="HRUIoIBEFProP5U9HSm9Rt3UVgI=">
            <file path="boost/url/impl/segments_encoded_base.hpp" line="42" class="def"/>
            <type id="zU0nfAiWtH9vpQ8tCdJj1HhKUXY=" name="reference"/>
          </alias>
          <alias name="difference_type" id="HV1kg9twJR0ycr2ADK1xtuXw4as=">
            <file path="boost/url/impl/segments_encoded_base.hpp" line="43" class="def"/>
            <type name="std::ptrdiff_t"/>
          </alias>
          <alias name="iterator_category" id="I8TdxJzSH3kuNHF+ng+ptlQeV4c=">
            <file path="boost/url/impl/segments_encoded_base.hpp" line="44" class="def"/>
            <type name="std::bidirectional_iterator_tag"/>
          </alias>
          <function class="constructor" name="iterator" id="YN0kUB+dJqusrArwV0akPt72qhE=">
            <file path="boost/url/impl/segments_encoded_base.hpp" line="47" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
          </function>
          <function class="constructor" name="iterator" id="IAHLxeC/5qqQ6fzl5iLJJVH9dio=">
            <file path="boost/url/impl/segments_encoded_base.hpp" line="48" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <param>
              <type class="lvalue-reference">
                <pointee-type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="operator=" id="SUbQipyRITTSetwmgW1i93Bw7gI=">
            <file path="boost/url/impl/segments_encoded_base.hpp" line="49" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="assign" value="15"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
              </type>
            </return>
            <param>
              <type class="lvalue-reference">
                <pointee-type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="operator*" exception-spec="noexcept" id="2/F5qchQt2Fq+xp4JfA+CM0X0pY=">
            <file path="boost/url/impl/segments_encoded_base.hpp" line="52" class="def"/>
            <attr id="operator" name="star" value="7"/>
            <attr id="is-const"/>
            <return>
              <type id="zU0nfAiWtH9vpQ8tCdJj1HhKUXY=" name="reference"/>
            </return>
          </function>
          <function name="operator-&gt;" exception-spec="noexcept" id="4+pEzI7aGg36O08XzJt65KPNSnM=">
            <file path="boost/url/impl/segments_encoded_base.hpp" line="58" class="def"/>
            <attr id="operator" name="ptr" value="41"/>
            <attr id="is-const"/>
            <return>
              <type id="HRUIoIBEFProP5U9HSm9Rt3UVgI=" name="pointer"/>
            </return>
          </function>
          <function name="operator++" exception-spec="noexcept" id="h02HEoX6qd6l1lOGkDSFQId1mZo=">
            <file path="boost/url/impl/segments_encoded_base.hpp" line="64" class="def"/>
            <attr id="operator" name="inc" value="37"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
              </type>
            </return>
          </function>
          <function name="operator--" exception-spec="noexcept" id="ASey3X6YIeXNNFN9dE20IBNzAAg=">
            <file path="boost/url/impl/segments_encoded_base.hpp" line="71" class="def"/>
            <attr id="operator" name="dec" value="38"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
              </type>
            </return>
          </function>
          <function name="operator++" exception-spec="noexcept" id="77EquB2DW+m++VqA8gvOpLpSU7o=">
            <file path="boost/url/impl/segments_encoded_base.hpp" line="78" class="def"/>
            <attr id="operator" name="inc" value="37"/>
            <return>
              <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
            </return>
            <param>
              <type name="int"/>
            </param>
          </function>
          <function name="operator--" exception-spec="noexcept" id="Vz3gzgrLr/9yNjhiCMnnjCbNr6o=">
            <file path="boost/url/impl/segments_encoded_base.hpp" line="86" class="def"/>
            <attr id="operator" name="dec" value="38"/>
            <return>
              <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
            </return>
            <param>
              <type name="int"/>
            </param>
          </function>
          <function name="operator==" exception-spec="noexcept" id="3NRpeeWudrLgfKt34XVlNyPyYuE=">
            <file path="boost/url/impl/segments_encoded_base.hpp" line="94" class="def"/>
            <attr id="operator" name="eq" value="30"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="other">
              <type class="lvalue-reference">
                <pointee-type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="operator!=" exception-spec="noexcept" id="tcldMB8hOrTo+ZKYpLAWIiSE/SE=">
            <file path="boost/url/impl/segments_encoded_base.hpp" line="101" class="def"/>
            <attr id="operator" name="not_eq" value="31"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="other">
              <type class="lvalue-reference">
                <pointee-type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </class>
        <alias name="const_iterator" id="BvhJXmRgOZW7NW+ayuMQkPsFzbs=">
          <file path="boost/url/segments_encoded_base.hpp" line="83" class="def"/>
          <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          <doc>
            <para>
              <copydoc id="g/L8mjAHkEezRBezNicBq+kX83A=">iterator</copydoc>
            </para>
          </doc>
        </alias>
        <alias name="value_type" id="AWMsSIW+RTb1aMhvCsG7n58jVHM=">
          <file path="boost/url/segments_encoded_base.hpp" line="96" class="def"/>
          <type name="std::string"/>
          <doc>
            <para>
              <text>The value type</text>
            </para>
            <para>
              <text>Values of this type represent a segment</text>
              <text>        where unique ownership is retained by</text>
              <text>        making a copy.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        segments_encoded_base::value_type ps( url_view( &quot;/path/to/file.txt&quot; ).encoded_segments().back() );</text>
            </code>
          </doc>
        </alias>
        <alias name="reference" id="5In4EDUuaLDGWzqU/EoIRrGbjkw=">
          <file path="boost/url/segments_encoded_base.hpp" line="103" class="def"/>
          <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          <doc>
            <para>
              <text>The reference type</text>
            </para>
            <para>
              <text>This is the type of value returned when</text>
              <text>        iterators of the view are dereferenced.</text>
            </para>
          </doc>
        </alias>
        <alias name="const_reference" id="7gYb+Bz+3qbqiVq+Wm8Ky9M11+o=">
          <file path="boost/url/segments_encoded_base.hpp" line="106" class="def"/>
          <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          <doc>
            <para>
              <copydoc id="5In4EDUuaLDGWzqU/EoIRrGbjkw=">reference</copydoc>
            </para>
          </doc>
        </alias>
        <alias name="size_type" id="Qm4R83v/FlItdjfF09x/yy67FzE=">
          <file path="boost/url/segments_encoded_base.hpp" line="110" class="def"/>
          <type name="std::size_t"/>
          <doc>
            <para>
              <text>An unsigned integer type used to represent size.</text>
            </para>
          </doc>
        </alias>
        <alias name="difference_type" id="m0o4b1/DorAvjn3F219/pMLvlyo=">
          <file path="boost/url/segments_encoded_base.hpp" line="114" class="def"/>
          <type name="std::ptrdiff_t"/>
          <doc>
            <para>
              <text>A signed integer type used to represent differences.</text>
            </para>
          </doc>
        </alias>
        <function name="max_size" exception-spec="noexcept" id="chJ3si+vtHLHOc1xY/5U+6aQTc4=">
          <file path="boost/url/segments_encoded_base.hpp" line="131" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="storage-class" name="static" value="2"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <doc>
            <para>
              <text>Return the maximum number of characters possible</text>
            </para>
            <para>
              <text>This represents the largest number of</text>
              <text>        characters that are possible in a path,</text>
              <text>        not including any null terminator.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="buffer" exception-spec="noexcept" id="77/TrbaxaS3ddWaQsqsrxZgfrtg=">
          <file path="boost/url/segments_encoded_base.hpp" line="158"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the referenced character buffer.</text>
            </para>
            <para>
              <text>This function returns the character</text>
              <text>        buffer referenced by the view.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;/path/to/file.txt&quot; ).encoded_segments().buffer() == &quot;/path/to/file.txt&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="is_absolute" exception-spec="noexcept" id="qPtb3Gf4eUGNjob+VCTNZu3sUr4=">
          <file path="boost/url/segments_encoded_base.hpp" line="178"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Returns true if this references an absolute path.</text>
            </para>
            <para>
              <text>Absolute paths always start with a</text>
              <text>        forward slash (&apos;/&apos;).</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;/path/to/file.txt&quot; ).encoded_segments().is_absolute() == true );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="empty" exception-spec="noexcept" id="GHSGkHUPEHCGOkttbtLrNdeJsYw=">
          <file path="boost/url/segments_encoded_base.hpp" line="195"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if there are no segments</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( ! url_view( &quot;/index.htm&quot; ).encoded_segments().empty() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="size" exception-spec="noexcept" id="BJwakVSJbowHvD7bCKsCv7Qv2EM=">
          <file path="boost/url/segments_encoded_base.hpp" line="212"/>
          <attr id="is-const"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <doc>
            <para>
              <text>Return the number of segments</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;/path/to/file.txt&quot; ).encoded_segments().size() == 3 );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="front" exception-spec="noexcept" id="bCALqPJXUIOplPZHZ//yQObNCt4=">
          <file path="boost/url/impl/segments_encoded_base.hpp" line="111" class="def"/>
          <file path="boost/url/segments_encoded_base.hpp" line="244"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the first segment</text>
            </para>
            <para>
              <text>This function returns a string with the</text>
              <text>        first segment of the path without any</text>
              <text>        leading or trailing &apos;/&apos; separators.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Preconditions</head>
            <code>
              <text>        this-&gt;empty() == false</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return *begin();</text>
            </code>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;/path/to/file.txt&quot; ).encoded_segments().front() == &quot;path&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="back" exception-spec="noexcept" id="huIfaMM6sCgNghdm8mALz0WRL3k=">
          <file path="boost/url/impl/segments_encoded_base.hpp" line="120" class="def"/>
          <file path="boost/url/segments_encoded_base.hpp" line="281"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the last segment</text>
            </para>
            <para>
              <text>This function returns a string with the</text>
              <text>        last segment of the path without any</text>
              <text>        leading or trailing &apos;/&apos; separators.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Preconditions</head>
            <code>
              <text>        this-&gt;empty() == false</text>
            </code>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;/path/to/file.txt&quot; ).encoded_segments().back() == &quot;file.txt&quot; );</text>
            </code>
            <head>Preconditions</head>
            <code>
              <text>        this-&gt;empty() == false</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return *--end();</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="begin" exception-spec="noexcept" id="2sagwnDfZ81Ag59U6dlqMfcbRdM=">
          <file path="boost/url/segments_encoded_base.hpp" line="294"/>
          <attr id="is-const"/>
          <return>
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </return>
          <doc>
            <para>
              <text>Return an iterator to the beginning</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;front().size()` or</text>
              <text>        constant if `this-&gt;empty()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="end" exception-spec="noexcept" id="FX43RoBCFXu84qOmF9qbuAcvL3A=">
          <file path="boost/url/segments_encoded_base.hpp" line="306"/>
          <attr id="is-const"/>
          <return>
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </return>
          <doc>
            <para>
              <text>Return an iterator to the end</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
      </class>
      <function name="operator&lt;&lt;" id="F3NCE1oaqTgrvCMClW+OzMZiIC4=">
        <file path="boost/url/segments_encoded_base.hpp" line="326"/>
        <attr id="operator" name="lshift" value="26"/>
        <return>
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </return>
        <param name="os">
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </param>
        <param name="ps">
          <type class="lvalue-reference">
            <pointee-type id="qs4TNMM406MPgeboXz6oVUmcauE=" name="segments_encoded_base" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Format to an output stream</text>
          </para>
          <para>
            <text>Any percent-escapes are emitted as-is;</text>
            <text>    no decoding is performed.</text>
          </para>
          <head>Complexity</head>
          <para>
            <text>    Linear in `ps.buffer().size()`.</text>
          </para>
          <head>Effects</head>
          <code>
            <text>    return os &lt;&lt; ps.buffer();</text>
          </code>
        </doc>
      </function>
      <class name="segments_base" id="ge9cOBTN19ywbVTnB5ajdJUC46Q=">
        <file path="boost/url/segments_base.hpp" line="37" class="def"/>
        <doc>
          <para>
            <text>Common functionality for containers</text>
          </para>
          <para>
            <text>This base class is used by the library</text>
            <text>    to provide common member functions for</text>
            <text>    containers. This cannot be instantiated</text>
            <text>    directly; Instead, use one of the</text>
            <text>    containers or functions:</text>
          </para>
          <head>Containers</head>
          <listitem>
            <reference id="zdr3gU7+2/G05oo6ta/IfHlkTF0=">segments_ref</reference>
          </listitem>
          <listitem>
            <reference id="ZNJOLZ4RhCB2A2ooiNo7KxZJHrA=">segments_view</reference>
          </listitem>
          <listitem>
            <reference id="TCUUfRiqZjX62kt7tK2fs//VWr0=">segments_encoded_ref</reference>
          </listitem>
          <listitem>
            <reference id="EvaX3SmNTAtai2Kf6Kma3fUkTkQ=">segments_encoded_view</reference>
          </listitem>
        </doc>
        <class name="iterator" id="v0DfmyG7n+onJnPwu0SmkmEIIs4=">
          <file path="boost/url/impl/segments_base.hpp" line="21" class="def"/>
          <file path="boost/url/segments_base.hpp" line="76"/>
          <alias name="value_type" id="fJ+O8wLXn1tuCEWs0al1ctumrno=">
            <file path="boost/url/impl/segments_base.hpp" line="38" class="def"/>
            <type id="28sEF1YglFKmk+Kcl4ymHBd02MI=" name="segments_base::value_type"/>
          </alias>
          <alias name="reference" id="TlhUFb/2iQzAV5RoyD1FZWZd3Rw=">
            <file path="boost/url/impl/segments_base.hpp" line="39" class="def"/>
            <type id="yenFqEfqqK2NrZ+2hs1Il0Gkg/Q=" name="segments_base::reference"/>
          </alias>
          <alias name="pointer" id="YJ2ROWC11uQdTfs3Z9iAiVuZWeI=">
            <file path="boost/url/impl/segments_base.hpp" line="40" class="def"/>
            <type id="TlhUFb/2iQzAV5RoyD1FZWZd3Rw=" name="reference"/>
          </alias>
          <alias name="difference_type" id="YVuKlMb+yGJp8LzJ8a2zd3fMHOY=">
            <file path="boost/url/impl/segments_base.hpp" line="41" class="def"/>
            <type id="ZGzGSpAZlXL0sCedyhjsT90U4S0=" name="segments_base::difference_type"/>
          </alias>
          <alias name="iterator_category" id="YPG0byY8djUlPNCccR2YRWqo4ms=">
            <file path="boost/url/impl/segments_base.hpp" line="43" class="def"/>
            <type name="std::bidirectional_iterator_tag"/>
          </alias>
          <function class="constructor" name="iterator" id="p8TFT8ImWU/+AscWoMdsJlMRcqo=">
            <file path="boost/url/impl/segments_base.hpp" line="46" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
          </function>
          <function class="constructor" name="iterator" id="ByqpSaR5cNnHMlxUUVwtPSR3OMc=">
            <file path="boost/url/impl/segments_base.hpp" line="47" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <param>
              <type class="lvalue-reference">
                <pointee-type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="operator=" exception-spec="noexcept" id="dWjQhP7pd+edI7VePdV0K2hqL+o=">
            <file path="boost/url/impl/segments_base.hpp" line="48" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <attr id="operator" name="assign" value="15"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
              </type>
            </return>
            <param>
              <type class="lvalue-reference">
                <pointee-type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="operator*" id="MF1OHA4Z09iVgsk4nLcGhCWWOLw=">
            <file path="boost/url/impl/segments_base.hpp" line="52"/>
            <attr id="operator" name="star" value="7"/>
            <attr id="is-const"/>
            <return>
              <type id="TlhUFb/2iQzAV5RoyD1FZWZd3Rw=" name="reference"/>
            </return>
          </function>
          <function name="operator-&gt;" id="mg1K5KsABh4TIA+z2driFwJPJoE=">
            <file path="boost/url/impl/segments_base.hpp" line="56" class="def"/>
            <attr id="is-deleted"/>
            <attr id="is-deleted-as-written"/>
            <attr id="operator" name="ptr" value="41"/>
            <attr id="is-const"/>
            <return>
              <type id="YJ2ROWC11uQdTfs3Z9iAiVuZWeI=" name="pointer"/>
            </return>
          </function>
          <function name="operator++" exception-spec="noexcept" id="hfW35YNGZghOnj0X/av8XajR5VA=">
            <file path="boost/url/impl/segments_base.hpp" line="58" class="def"/>
            <attr id="operator" name="inc" value="37"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
              </type>
            </return>
          </function>
          <function name="operator--" exception-spec="noexcept" id="8owVX6sAHlPAaLnuJ9y9IM3Ufao=">
            <file path="boost/url/impl/segments_base.hpp" line="65" class="def"/>
            <attr id="operator" name="dec" value="38"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
              </type>
            </return>
          </function>
          <function name="operator++" exception-spec="noexcept" id="eFf3+O2nBGICKdLetaKcdkdCLo8=">
            <file path="boost/url/impl/segments_base.hpp" line="72" class="def"/>
            <attr id="operator" name="inc" value="37"/>
            <return>
              <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
            </return>
            <param>
              <type name="int"/>
            </param>
          </function>
          <function name="operator--" exception-spec="noexcept" id="1ZMBS1XXUHZ+P3pRS0vQ2wog6s8=">
            <file path="boost/url/impl/segments_base.hpp" line="80" class="def"/>
            <attr id="operator" name="dec" value="38"/>
            <return>
              <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
            </return>
            <param>
              <type name="int"/>
            </param>
          </function>
          <function name="operator==" exception-spec="noexcept" id="yPgURa4K9ND4YWIxB6v0QH938Bg=">
            <file path="boost/url/impl/segments_base.hpp" line="88" class="def"/>
            <attr id="operator" name="eq" value="30"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="other">
              <type class="lvalue-reference">
                <pointee-type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="operator!=" exception-spec="noexcept" id="MknEJ19z2hqd0CswpePqqtj79GY=">
            <file path="boost/url/impl/segments_base.hpp" line="95" class="def"/>
            <attr id="operator" name="not_eq" value="31"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="other">
              <type class="lvalue-reference">
                <pointee-type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </class>
        <alias name="const_iterator" id="0tGsE1R1TOpKN9IAKzyNn7msre4=">
          <file path="boost/url/segments_base.hpp" line="80" class="def"/>
          <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          <doc>
            <para>
              <copydoc id="v0DfmyG7n+onJnPwu0SmkmEIIs4=">iterator</copydoc>
            </para>
          </doc>
        </alias>
        <alias name="value_type" id="28sEF1YglFKmk+Kcl4ymHBd02MI=">
          <file path="boost/url/segments_base.hpp" line="93" class="def"/>
          <type name="std::string"/>
          <doc>
            <para>
              <text>The value type</text>
            </para>
            <para>
              <text>Values of this type represent a segment</text>
              <text>        where unique ownership is retained by</text>
              <text>        making a copy.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        segments_base::value_type ps( url_view( &quot;/path/to/file.txt&quot; ).segments().back() );</text>
            </code>
          </doc>
        </alias>
        <alias name="reference" id="yenFqEfqqK2NrZ+2hs1Il0Gkg/Q=">
          <file path="boost/url/segments_base.hpp" line="100" class="def"/>
          <type name="std::string"/>
          <doc>
            <para>
              <text>The reference type</text>
            </para>
            <para>
              <text>This is the type of value returned when</text>
              <text>        iterators of the view are dereferenced.</text>
            </para>
          </doc>
        </alias>
        <alias name="const_reference" id="IwhREgq3doOt5R+7CpjDu5HXeJc=">
          <file path="boost/url/segments_base.hpp" line="103" class="def"/>
          <type name="std::string"/>
          <doc>
            <para>
              <copydoc id="yenFqEfqqK2NrZ+2hs1Il0Gkg/Q=">reference</copydoc>
            </para>
          </doc>
        </alias>
        <alias name="size_type" id="q0c7sMK+HhivONBaUVBcT+YLGYQ=">
          <file path="boost/url/segments_base.hpp" line="107" class="def"/>
          <type name="std::size_t"/>
          <doc>
            <para>
              <text>An unsigned integer type used to represent size.</text>
            </para>
          </doc>
        </alias>
        <alias name="difference_type" id="ZGzGSpAZlXL0sCedyhjsT90U4S0=">
          <file path="boost/url/segments_base.hpp" line="111" class="def"/>
          <type name="std::ptrdiff_t"/>
          <doc>
            <para>
              <text>A signed integer type used to represent differences.</text>
            </para>
          </doc>
        </alias>
        <function name="max_size" exception-spec="noexcept" id="4eJ21Hl5fc2lKip4HsTT2daKD58=">
          <file path="boost/url/segments_base.hpp" line="128" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="storage-class" name="static" value="2"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <doc>
            <para>
              <text>Return the maximum number of characters possible</text>
            </para>
            <para>
              <text>This represents the largest number of</text>
              <text>        characters that are possible in a path,</text>
              <text>        not including any null terminator.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="buffer" exception-spec="noexcept" id="v5AF2vYTekOYGThG7Nle0P0fwU4=">
          <file path="boost/url/segments_base.hpp" line="155"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the referenced character buffer.</text>
            </para>
            <para>
              <text>This function returns the character</text>
              <text>        buffer referenced by the view.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;/path/to/file.txt&quot; ).segments().buffer() == &quot;/path/to/file.txt&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="is_absolute" exception-spec="noexcept" id="G6s0M4MqJFqoPBxyx/2YT3jn4W8=">
          <file path="boost/url/segments_base.hpp" line="175"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Returns true if this references an absolute path.</text>
            </para>
            <para>
              <text>Absolute paths always start with a</text>
              <text>        forward slash (&apos;/&apos;).</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;/path/to/file.txt&quot; ).segments().is_absolute() == true );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="empty" exception-spec="noexcept" id="Bkl327dG/7JY0gyN644pnPkCyj0=">
          <file path="boost/url/segments_base.hpp" line="192"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if there are no segments</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( ! url_view( &quot;/index.htm&quot; ).segments().empty() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="size" exception-spec="noexcept" id="yBM8jUZ7lUhztKUrKAMCVlF/JSM=">
          <file path="boost/url/segments_base.hpp" line="209"/>
          <attr id="is-const"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <doc>
            <para>
              <text>Return the number of segments</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;/path/to/file.txt&quot; ).segments().size() == 3 );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="front" exception-spec="noexcept" id="EZ3AwpJPJ+eUXoULAfCVAA57yQU=">
          <file path="boost/url/impl/segments_base.hpp" line="105" class="def"/>
          <file path="boost/url/segments_base.hpp" line="241"/>
          <attr id="is-const"/>
          <return>
            <type name="std::string"/>
          </return>
          <doc>
            <para>
              <text>Return the first segment</text>
            </para>
            <para>
              <text>This function returns a string with the</text>
              <text>        first segment of the path without any</text>
              <text>        leading or trailing &apos;/&apos; separators.</text>
              <text>        Any percent-escapes in the string are</text>
              <text>        decoded first.</text>
            </para>
            <head>Preconditions</head>
            <code>
              <text>        this-&gt;empty() == false</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return *begin();</text>
            </code>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;/path/to/file.txt&quot; ).segments().front() == &quot;path&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;front().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Calls to allocate may throw.</text>
            </para>
          </doc>
        </function>
        <function name="back" exception-spec="noexcept" id="SiUbAVvbiztqJmIoYwdvkoQyi90=">
          <file path="boost/url/impl/segments_base.hpp" line="114" class="def"/>
          <file path="boost/url/segments_base.hpp" line="272"/>
          <attr id="is-const"/>
          <return>
            <type name="std::string"/>
          </return>
          <doc>
            <para>
              <text>Return the last segment</text>
            </para>
            <head>Preconditions</head>
            <code>
              <text>        this-&gt;empty() == false</text>
            </code>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;/path/to/file.txt&quot; ).segments().back() == &quot;file.txt&quot; );</text>
            </code>
            <head>Preconditions</head>
            <code>
              <text>        this-&gt;empty() == false</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return *--end();</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;back().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Calls to allocate may throw.</text>
            </para>
          </doc>
        </function>
        <function name="begin" exception-spec="noexcept" id="RJFHEvDTVOSBEWC5A/qqcBSNc14=">
          <file path="boost/url/segments_base.hpp" line="285"/>
          <attr id="is-const"/>
          <return>
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </return>
          <doc>
            <para>
              <text>Return an iterator to the beginning</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;front().size()` or</text>
              <text>        constant if `this-&gt;empty()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="end" exception-spec="noexcept" id="oBgrqTEOKSIfUQVCZCwbVHu9pe4=">
          <file path="boost/url/segments_base.hpp" line="297"/>
          <attr id="is-const"/>
          <return>
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </return>
          <doc>
            <para>
              <text>Return an iterator to the end</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
      </class>
      <function name="operator&lt;&lt;" id="uYw4zaXIgOZdayhgwTcIbe+Y0D8=">
        <file path="boost/url/segments_base.hpp" line="317"/>
        <attr id="operator" name="lshift" value="26"/>
        <return>
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </return>
        <param name="os">
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </param>
        <param name="ps">
          <type class="lvalue-reference">
            <pointee-type id="ge9cOBTN19ywbVTnB5ajdJUC46Q=" name="segments_base" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Format to an output stream</text>
          </para>
          <para>
            <text>Any percent-escapes are emitted as-is;</text>
            <text>    no decoding is performed.</text>
          </para>
          <head>Complexity</head>
          <para>
            <text>    Linear in `ps.buffer().size()`.</text>
          </para>
          <head>Effects</head>
          <code>
            <text>    return os &lt;&lt; ps.buffer();</text>
          </code>
        </doc>
      </function>
      <class name="segments_view" id="ZNJOLZ4RhCB2A2ooiNo7KxZJHrA=">
        <file path="boost/url/segments_view.hpp" line="55" class="def"/>
        <file path="boost/url/segments_ref.hpp" line="24"/>
        <base>
          <type id="ge9cOBTN19ywbVTnB5ajdJUC46Q=" name="segments_base"/>
        </base>
        <doc>
          <para>
            <text>A view representing path segments in a URL</text>
          </para>
          <para>
            <text>Objects of this type are used to interpret</text>
            <text>    the path as a bidirectional view of segment</text>
            <text>    strings.</text>
          </para>
          <para>
            <text>The view does not retain ownership of the</text>
            <text>    elements and instead references the original</text>
            <text>    character buffer. The caller is responsible</text>
            <text>    for ensuring that the lifetime of the buffer</text>
            <text>    extends until it is no longer referenced.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    url_view u( &quot;/path/to/file.txt&quot; );</text>
            <text></text>
            <text>    segments_view ps = u.segments();</text>
            <text></text>
            <text>    assert( ps.buffer().data() == u.buffer().data() );</text>
          </code>
          <para>
            <text>Percent escapes in strings returned when</text>
            <text>    dereferencing iterators are automatically</text>
            <text>    decoded.</text>
          </para>
          <head>Iterator Invalidation</head>
          <para>
            <text>    Changes to the underlying character buffer</text>
            <text>    can invalidate iterators which reference it.</text>
          </para>
          <see>
            <reference id="EvaX3SmNTAtai2Kf6Kma3fUkTkQ=">segments_encoded_view</reference>
            <text>,</text>
            <reference id="TCUUfRiqZjX62kt7tK2fs//VWr0=">segments_encoded_ref</reference>
            <text>,</text>
            <reference id="zdr3gU7+2/G05oo6ta/IfHlkTF0=">segments_ref</reference>
            <text>.</text>
          </see>
        </doc>
        <function class="constructor" name="segments_view" id="xup3nwwyorPFymGBU7c4wNwY6Io=">
          <file path="boost/url/segments_view.hpp" line="87" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>Default-constructed segments have</text>
              <text>        zero elements.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        segments_view ps;</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return segments_view( &quot;&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="segments_view" id="0cHQ+7V5eDQgnGquC1jWEshsR58=">
          <file path="boost/url/segments_view.hpp" line="111" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="ZNJOLZ4RhCB2A2ooiNo7KxZJHrA=" name="segments_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>After construction, viewss</text>
              <text>        reference the same underlying character</text>
              <text>        buffer.</text>
            </para>
            <para>
              <text>Ownership is not transferred; the caller</text>
              <text>        is responsible for ensuring the lifetime</text>
              <text>        of the buffer extends until it is no</text>
              <text>        longer referenced.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == other.buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="segments_view" id="6Iuf1/aBc8j1vZPIdZUI+IuUksE=">
          <file path="boost/url/segments_view.hpp" line="163"/>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>This function constructs segments from</text>
              <text>        a valid path string, which can contain</text>
              <text>        percent escapes.</text>
              <text>        Upon construction, the view references</text>
              <text>        the character buffer pointed to by `s`.</text>
              <text>        caller is responsible for ensuring</text>
              <text>        that the lifetime of the buffer</text>
              <text>        extends until the view is destroyed.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        segments_view ps( &quot;/path/to/file.txt&quot; );</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return parse_path( s ).value();</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == s.data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `s`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `s` contains an invalid path.</text>
            </throws>
            <param name="s">
              <text>The string to parse.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        path = [ &quot;/&quot; ] [ segment *( &quot;/&quot; segment ) ]</text>
              <text></text>
              <text>        segment = *pchar</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.3">3.3.  Path</link>
            </listitem>
          </doc>
        </function>
        <function name="operator=" id="FWGpy6a5UHxn4hL/tsnvXl0/+fs=">
          <file path="boost/url/segments_view.hpp" line="188" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="ZNJOLZ4RhCB2A2ooiNo7KxZJHrA=" name="segments_view"/>
            </type>
          </return>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="ZNJOLZ4RhCB2A2ooiNo7KxZJHrA=" name="segments_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>After assignment, both views</text>
              <text>        reference the same underlying character</text>
              <text>        buffer.</text>
            </para>
            <para>
              <text>Ownership is not transferred; the caller</text>
              <text>        is responsible for ensuring the lifetime</text>
              <text>        of the buffer extends until it is no</text>
              <text>        longer referenced.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == other.buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
          </doc>
        </function>
      </class>
      <class name="segments_encoded_view" id="EvaX3SmNTAtai2Kf6Kma3fUkTkQ=">
        <file path="boost/url/segments_encoded_view.hpp" line="61" class="def"/>
        <file path="boost/url/segments_encoded_ref.hpp" line="24"/>
        <base>
          <type id="qs4TNMM406MPgeboXz6oVUmcauE=" name="segments_encoded_base"/>
        </base>
        <doc>
          <para>
            <text>A view representing path segments in a URL</text>
          </para>
          <para>
            <text>Objects of this type are used to interpret</text>
            <text>    the path as a bidirectional view of segment</text>
            <text>    strings.</text>
          </para>
          <para>
            <text>The view does not retain ownership of the</text>
            <text>    elements and instead references the original</text>
            <text>    character buffer. The caller is responsible</text>
            <text>    for ensuring that the lifetime of the buffer</text>
            <text>    extends until it is no longer referenced.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    url_view u( &quot;/path/to/file.txt&quot; );</text>
            <text></text>
            <text>    segments_encoded_view ps = u.encoded_segments();</text>
            <text></text>
            <text>    assert( ps.buffer().data() == u.buffer().data() );</text>
          </code>
          <para>
            <text>Strings produced when elements are returned</text>
            <text>    have type</text>
            <reference id="SMbLJWxhkkCMp2sPkBpWmdnoNGI=">param_pct_view</reference>
            <text> and represent</text>
            <text>    encoded strings. Strings passed to member</text>
            <text>    functions may contain percent escapes, and</text>
            <text>    throw exceptions on invalid inputs.</text>
          </para>
          <head>Iterator Invalidation</head>
          <para>
            <text>    Changes to the underlying character buffer</text>
            <text>    can invalidate iterators which reference it.</text>
          </para>
          <see>
            <reference id="ZNJOLZ4RhCB2A2ooiNo7KxZJHrA=">segments_view</reference>
            <text>,</text>
            <reference id="TCUUfRiqZjX62kt7tK2fs//VWr0=">segments_encoded_ref</reference>
            <text>,</text>
            <reference id="zdr3gU7+2/G05oo6ta/IfHlkTF0=">segments_ref</reference>
            <text>.</text>
          </see>
        </doc>
        <function class="constructor" name="segments_encoded_view" id="wB5FLZARVdWOdbpJ8gz6adGJ1pM=">
          <file path="boost/url/segments_encoded_view.hpp" line="92" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>Default-constructed segments have</text>
              <text>        zero elements.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        segments_encoded_view ps;</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return segments_encoded_view( &quot;&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="segments_encoded_view" exception-spec="noexcept" id="tuJdRclMTym11QreHrg310DMHnI=">
          <file path="boost/url/segments_encoded_view.hpp" line="115" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <param>
            <type class="lvalue-reference">
              <pointee-type id="EvaX3SmNTAtai2Kf6Kma3fUkTkQ=" name="segments_encoded_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>After construction, both views</text>
              <text>        reference the same character buffer.</text>
            </para>
            <para>
              <text>Ownership is not transferred; the caller</text>
              <text>        is responsible for ensuring the lifetime</text>
              <text>        of the buffer extends until it is no</text>
              <text>        longer referenced.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == other.buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="segments_encoded_view" id="Lh0OOi8ywTpGrLOmwHo1xxGEcUQ=">
          <file path="boost/url/segments_encoded_view.hpp" line="167"/>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>This function constructs segments from</text>
              <text>        a valid path string, which can contain</text>
              <text>        percent escapes.</text>
              <text>        Upon construction, the view references</text>
              <text>        the character buffer pointed to by `s`.</text>
              <text>        caller is responsible for ensuring</text>
              <text>        that the lifetime of the buffer</text>
              <text>        extends until the view is destroyed.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        segments_encoded_view ps( &quot;/path/to/file.txt&quot; );</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return parse_path( s ).value();</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == s.data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `s`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `s` contains an invalid path.</text>
            </throws>
            <param name="s">
              <text>The string to parse.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        path = [ &quot;/&quot; ] [ segment *( &quot;/&quot; segment ) ]</text>
              <text></text>
              <text>        segment = *pchar</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.3">3.3.  Path</link>
            </listitem>
          </doc>
        </function>
        <function name="operator=" id="8pXN2excDq2EJ7VbxNkaGqd9go0=">
          <file path="boost/url/segments_encoded_view.hpp" line="192" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="EvaX3SmNTAtai2Kf6Kma3fUkTkQ=" name="segments_encoded_view"/>
            </type>
          </return>
          <param>
            <type class="lvalue-reference">
              <pointee-type id="EvaX3SmNTAtai2Kf6Kma3fUkTkQ=" name="segments_encoded_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>After assignment, both views</text>
              <text>        reference the same underlying character</text>
              <text>        buffer.</text>
            </para>
            <para>
              <text>Ownership is not transferred; the caller</text>
              <text>        is responsible for ensuring the lifetime</text>
              <text>        of the buffer extends until it is no</text>
              <text>        longer referenced.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == other.buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
          </doc>
        </function>
        <function class="conversion" name="operator segments_view" exception-spec="noexcept" id="FpOlQ+VLMkPceEvlT/Y5ixbLG7s=">
          <file path="boost/url/segments_encoded_view.hpp" line="226"/>
          <attr id="is-const"/>
          <return>
            <type id="ZNJOLZ4RhCB2A2ooiNo7KxZJHrA=" name="segments_view"/>
          </return>
          <doc>
            <para>
              <text>Conversion</text>
            </para>
            <para>
              <text>This conversion returns a new view which</text>
              <text>        references the same underlying character</text>
              <text>        buffer, and whose iterators and members</text>
              <text>        return ordinary strings with decoding</text>
              <text>        applied to any percent escapes.</text>
            </para>
            <para>
              <text>Ownership is not transferred; the caller</text>
              <text>        is responsible for ensuring the lifetime</text>
              <text>        of the buffer extends until it is no</text>
              <text>        longer referenced.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        segments_view ps = parse_path( &quot;/path/to/file.txt&quot; ).value();</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        segments_view( *this ).buffer().data() == this-&gt;buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
          </doc>
        </function>
        <friend id="ElgJFdPMC84Y4REUksJTLnFgfFI=">
          <file path="boost/url/segments_encoded_view.hpp" line="232" class="def"/>
          <befriended id="UGT2YeR0J7z0ZcyG8/VStlmtGhU="/>
        </friend>
      </class>
      <function name="parse_path" exception-spec="noexcept" id="UGT2YeR0J7z0ZcyG8/VStlmtGhU=">
        <file path="boost/url/parse_path.hpp" line="48"/>
        <file path="boost/url/segments_encoded_view.hpp" line="232"/>
        <return>
          <type name="system::result&lt;segments_encoded_view&gt;"/>
        </return>
        <param name="s">
          <type name="core::string_view"/>
        </param>
        <doc>
          <para>
            <text>Parse a string and return an encoded segment view</text>
          </para>
          <para>
            <text>This function parses the string and returns the</text>
            <text>    corresponding path object if the string is valid,</text>
            <text>    otherwise returns an error.</text>
          </para>
          <head>BNF</head>
          <code>
            <text>    path          = [ &quot;/&quot; ] segment *( &quot;/&quot; segment )</text>
          </code>
          <head>Exception Safety</head>
          <para>
            <text>    No-throw guarantee.</text>
          </para>
          <returns>
            <text>A valid view on success, otherwise an</text>
            <text>    error code.</text>
          </returns>
          <param name="s">
            <text>The string to parse</text>
          </param>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.3">3.3.  Path (rfc3986)</link>
          </listitem>
          <see>
            <reference id="EvaX3SmNTAtai2Kf6Kma3fUkTkQ=">segments_encoded_view</reference>
            <text>.</text>
          </see>
        </doc>
      </function>
      <struct name="authority_rule_t" id="75FWyb7wWG3/q92TL5YD8WF4pBs=">
        <file path="boost/url/rfc/authority_rule.hpp" line="50" class="def"/>
        <alias name="value_type" id="PL58pCfQhewxBUU8R1yk1LSrfIc=">
          <file path="boost/url/rfc/authority_rule.hpp" line="52" class="def"/>
          <type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view"/>
        </alias>
        <function name="parse" exception-spec="noexcept" id="lr3Ys8GDxQEk5x7Z02YvnrGLAl0=">
          <file path="boost/url/rfc/authority_rule.hpp" line="55"/>
          <attr id="has-trailing-return"/>
          <attr id="is-const"/>
          <return>
            <type name="system::result&lt;value_type&gt;"/>
          </return>
          <param name="it">
            <type class="lvalue-reference">
              <pointee-type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </pointee-type>
            </type>
          </param>
          <param name="end">
            <type class="pointer">
              <pointee-type name="char" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </struct>
      <variable name="authority_rule" id="kWc6VwnEqWA0KYFMRYavAgCCB4M=">
        <file path="boost/url/rfc/authority_rule.hpp" line="63" class="def"/>
        <attr id="constexpr-kind" name="constexpr" value="1"/>
        <type id="75FWyb7wWG3/q92TL5YD8WF4pBs=" name="authority_rule_t" cv-qualifiers="const"/>
      </variable>
      <template>
        <tparam name="CharSet" class="type"/>
        <struct name="pct_encoded_rule_t" id="SR83//emK2vX19vvfR81PvfE5dU=">
          <file path="boost/url/rfc/pct_encoded_rule.hpp" line="69" class="def"/>
          <alias name="value_type" id="GVAA1qJZ42QCYDwj+6FFOAzyEb0=">
            <file path="boost/url/rfc/pct_encoded_rule.hpp" line="71" class="def"/>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </alias>
          <friend id="DvaQAAd/zDv6lYaB6LxhVf4itac=">
            <file path="boost/url/rfc/pct_encoded_rule.hpp" line="73" class="def"/>
            <befriended id="lqpgN+4eYOEaFdkx0ZH7S7Z/lKg="/>
          </friend>
          <function name="parse" exception-spec="noexcept" id="AvfJvQ0pBia5gZ3MR4FH84By4MA=">
            <file path="boost/url/rfc/impl/pct_encoded_rule.hpp" line="88" class="def"/>
            <file path="boost/url/rfc/pct_encoded_rule.hpp" line="81"/>
            <attr id="has-trailing-return"/>
            <attr id="is-const"/>
            <return>
              <type name="system::result&lt;value_type&gt;"/>
            </return>
            <param name="it">
              <type class="lvalue-reference">
                <pointee-type class="pointer">
                  <pointee-type name="char" cv-qualifiers="const"/>
                </pointee-type>
              </type>
            </param>
            <param name="end">
              <type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </struct>
      </template>
      <template>
        <tparam name="CharSet_" class="type"/>
        <function name="pct_encoded_rule" exception-spec="noexcept" id="lqpgN+4eYOEaFdkx0ZH7S7Z/lKg=">
          <file path="boost/url/rfc/pct_encoded_rule.hpp" line="74"/>
          <attr id="has-trailing-return"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <return>
            <type id="SR83//emK2vX19vvfR81PvfE5dU=" name="pct_encoded_rule_t&lt;CharSet_&gt;"/>
          </return>
          <param name="cs">
            <type class="lvalue-reference">
              <pointee-type name="CharSet_" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </template>
      <template>
        <tparam name="CharSet" class="type"/>
        <function name="pct_encoded_rule" exception-spec="noexcept" id="g5Jdnf9GlbgY8KlR6uzGAzK/uHo=">
          <file path="boost/url/rfc/pct_encoded_rule.hpp" line="98" class="def"/>
          <attr id="has-trailing-return"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <return>
            <type id="SR83//emK2vX19vvfR81PvfE5dU=" name="pct_encoded_rule_t&lt;CharSet&gt;"/>
          </return>
          <param name="cs">
            <type class="lvalue-reference">
              <pointee-type name="CharSet" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </template>
      <struct name="no_value_t" id="51rV2xfhRV96h9L23+q8lPiw4x8=">
        <file path="boost/url/param.hpp" line="30" class="def"/>
        <file path="boost/url/detail/optional_string.hpp" line="20"/>
        <doc>
          <para>
            <text>The type of no_value</text>
          </para>
        </doc>
      </struct>
      <struct name="param_pct_view" id="SMbLJWxhkkCMp2sPkBpWmdnoNGI=">
        <file path="boost/url/param.hpp" line="638" class="def"/>
        <file path="boost/url/param.hpp" line="24"/>
        <doc>
          <para>
            <text>A query parameter</text>
          </para>
          <para>
            <text>Objects of this type represent a single key</text>
            <text>    and value pair in a query string where a key</text>
            <text>    is always present and may be empty, while the</text>
            <text>    presence of a value is indicated by</text>
            <reference id="rmK2qEC9xNfHnl1z55UZ4m4mQkM=">has_value</reference>
            <text> equal to true.</text>
            <text>    An empty value is distinct from no value.</text>
          </para>
          <para>
            <text>The strings may have percent escapes, and</text>
            <text>    offer an additional invariant: they never</text>
            <text>    contain an invalid percent-encoding.</text>
          </para>
          <para>
            <text>For most usages, key comparisons are</text>
            <text>    case-sensitive and duplicate keys in</text>
            <text>    a query are possible. However, it is</text>
            <text>    the authority that has final control</text>
            <text>    over how the query is interpreted.</text>
          </para>
          <para>
            <text></text>
          </para>
          <para>
            <text>Keys and values in this object reference</text>
            <text>    external character buffers.</text>
            <text>    Ownership of the buffers is not transferred;</text>
            <text>    the caller is responsible for ensuring that</text>
            <text>    the assigned buffers remain valid until</text>
            <text>    they are no longer referenced.</text>
          </para>
          <head>BNF</head>
          <code>
            <text>    query-params    = query-param *( &quot;&amp;&quot; query-param )</text>
            <text>    query-param     = key [ &quot;=&quot; value ]</text>
            <text>    key             = *qpchar</text>
            <text>    value           = *( qpchar / &quot;=&quot; )</text>
          </code>
          <head>Specification</head>
          <listitem>
            <link href="https://en.wikipedia.org/wiki/Query_string">Query string (Wikipedia)</link>
          </listitem>
          <see>
            <reference id="fsdT8sbwW/lniPI5gqvIf2JMGBM=">param</reference>
            <text>,</text>
            <reference id="C+IWBHRl3NluE4QVhoCkgb59VAc=">param_view</reference>
            <text>.</text>
          </see>
        </doc>
        <field name="key" id="owa9c8Ec+TQH5zkJ5xLQlW3RC1g=">
          <file path="boost/url/param.hpp" line="648" class="def"/>
          <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          <doc>
            <para>
              <text>The key</text>
            </para>
            <para>
              <text>For most usages, key comparisons are</text>
              <text>        case-sensitive and duplicate keys in</text>
              <text>        a query are possible. However, it is</text>
              <text>        the authority that has final control</text>
              <text>        over how the query is interpreted.</text>
            </para>
          </doc>
        </field>
        <field name="value" id="iU+8e6+V5sZG1u7SJEiC7m9XX7Y=">
          <file path="boost/url/param.hpp" line="656" class="def"/>
          <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          <doc>
            <para>
              <text>The value</text>
            </para>
            <para>
              <text>The presence of a value is indicated by</text>
              <reference id="rmK2qEC9xNfHnl1z55UZ4m4mQkM=">has_value</reference>
              <text> equal to true.</text>
              <text>        An empty value is distinct from no value.</text>
            </para>
          </doc>
        </field>
        <field name="has_value" id="rmK2qEC9xNfHnl1z55UZ4m4mQkM=" default="false">
          <file path="boost/url/param.hpp" line="664" class="def"/>
          <type name="bool"/>
          <doc>
            <para>
              <text>True if a value is present</text>
            </para>
            <para>
              <text>The presence of a value is indicated by</text>
              <text>        `has_value == true`.</text>
              <text>        An empty value is distinct from no value.</text>
            </para>
          </doc>
        </field>
        <function class="constructor" name="param_pct_view" id="Di79WdN/8AhKxcm8BbbzQnxTEx4=">
          <file path="boost/url/param.hpp" line="689" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>Default constructed query parameters</text>
              <text>        have an empty key and no value.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        param_pct_view qp;</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;key == &quot;&quot; &amp;&amp; this-&gt;value == &quot;&quot; &amp;&amp; this-&gt;has_value == false</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="param_pct_view" exception-spec="noexcept" id="6GAN49c4bX2HIjELHwtLSHta+n4=">
          <file path="boost/url/param.hpp" line="725" class="def"/>
          <param name="key">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <param name="value">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>This constructs a parameter with a key</text>
              <text>        and value, which may both contain percent</text>
              <text>        escapes.</text>
              <text>        The new key and value reference</text>
              <text>        the same corresponding underlying</text>
              <text>        character buffers.</text>
              <text>        Ownership of the buffers is not transferred;</text>
              <text>        the caller is responsible for ensuring that</text>
              <text>        the assigned buffers remain valid until</text>
              <text>        they are no longer referenced.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        param_pct_view qp( &quot;key&quot;, &quot;value&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;key.data() == key.data() &amp;&amp; this-&gt;value.data() == value.data() &amp;&amp; this-&gt;has_value == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `key.size() + value.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `key` or `value` contains an invalid percent-encoding.</text>
            </throws>
            <param name="key,">
              <text>value The key and value to set.</text>
            </param>
          </doc>
        </function>
        <template>
          <tparam name="OptionalString" class="type"/>
          <function class="constructor" name="param_pct_view" id="XX0MaMoegWB2X0gtPEZLHdh0dEY=">
            <file path="boost/url/param.hpp" line="776" class="def"/>
            <param name="key">
              <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
            </param>
            <param name="value">
              <type class="lvalue-reference">
                <pointee-type name="OptionalString" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Constructor</text>
              </para>
              <para>
                <text>This constructs a parameter with a key</text>
                <text>        and optional value, which may both</text>
                <text>        contain percent escapes.</text>
              </para>
              <para>
                <text>The new key and value reference</text>
                <text>        the same corresponding underlying</text>
                <text>        character buffers.</text>
              </para>
              <para>
                <text>Ownership of the buffers is not transferred;</text>
                <text>        the caller is responsible for ensuring that</text>
                <text>        the assigned buffers remain valid until</text>
                <text>        they are no longer referenced.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        param_pct_view qp( &quot;key&quot;, optional&lt;core::string_view&gt;(&quot;value&quot;) );</text>
              </code>
              <head>Postconditions</head>
              <code>
                <text>        this-&gt;key.data() == key.data() &amp;&amp; this-&gt;value-&gt;data() == value-&gt;data() &amp;&amp; this-&gt;has_value == true</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `key.size() + value-&gt;size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Exceptions thrown on invalid input.</text>
              </para>
              <throws>
                <text>        `key` or `value` contains an invalid percent-encoding.</text>
              </throws>
              <tparam name="OptionalString">
                <text>An optional</text>
                <text>        `core::string_view` type, such as</text>
                <text>        `boost::optional&lt;core::string_view&gt;` or</text>
                <text>        `std::optional&lt;core::string_view&gt;`.</text>
              </tparam>
              <param name="key,">
                <text>value The key and value to set.</text>
              </param>
            </doc>
          </function>
        </template>
        <function class="constructor" name="param_pct_view" explicit-spec="explicit" id="N7W4Sl+nozJV0loY9It6DjN1YDg=">
          <file path="boost/url/param.hpp" line="816" class="def"/>
          <param name="p">
            <type class="lvalue-reference">
              <pointee-type id="C+IWBHRl3NluE4QVhoCkgb59VAc=" name="param_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Construction</text>
            </para>
            <para>
              <text>This converts a param which may</text>
              <text>        contain unvalidated percent-escapes into</text>
              <text>        a param whose key and value are</text>
              <text>        guaranteed to contain strings with no</text>
              <text>        invalid percent-escapes, otherwise</text>
              <text>        an exception is thrown.</text>
            </para>
            <para>
              <text>The new key and value reference</text>
              <text>        the same corresponding underlying</text>
              <text>        character buffers.</text>
              <text>        Ownership of the buffers is not transferred;</text>
              <text>        the caller is responsible for ensuring that</text>
              <text>        the assigned buffers remain valid until</text>
              <text>        they are no longer referenced.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        param_pct_view qp( param_view( &quot;key&quot;, &quot;value&quot; ) );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `key.size() + value.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `key` or `value` contains an invalid percent escape.</text>
            </throws>
            <param name="p">
              <text>The param to construct from.</text>
            </param>
          </doc>
        </function>
        <function class="conversion" name="operator param" explicit-spec="explicit" id="AZd6M/W3LSYytCpQVhHudMjCzdM=">
          <file path="boost/url/param.hpp" line="840" class="def"/>
          <attr id="is-const"/>
          <return>
            <type id="fsdT8sbwW/lniPI5gqvIf2JMGBM=" name="param"/>
          </return>
          <doc>
            <para>
              <text>Conversion</text>
            </para>
            <para>
              <text>This function performs a conversion from</text>
              <text>        a reference-like query parameter to one</text>
              <text>        retaining ownership of the strings by</text>
              <text>        making a copy.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;key.size() + this-&gt;value.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Calls to allocate may throw.</text>
            </para>
          </doc>
        </function>
        <function class="conversion" name="operator param_view" exception-spec="noexcept" id="xdQEoGMl95niJ7mohiOA2sXYuA8=">
          <file path="boost/url/param.hpp" line="850" class="def"/>
          <attr id="is-const"/>
          <return>
            <type id="C+IWBHRl3NluE4QVhoCkgb59VAc=" name="param_view"/>
          </return>
        </function>
        <function name="operator-&gt;" exception-spec="noexcept" id="CdHMmHQfPjNS3AePE+tI+GtTRjA=">
          <file path="boost/url/param.hpp" line="859" class="def"/>
          <attr id="operator" name="ptr" value="41"/>
          <attr id="is-const"/>
          <return>
            <type class="pointer">
              <pointee-type id="SMbLJWxhkkCMp2sPkBpWmdnoNGI=" name="param_pct_view" cv-qualifiers="const"/>
            </type>
          </return>
        </function>
        <function class="constructor" name="param_pct_view" exception-spec="noexcept" id="IuJneRMhurFJcPnj8ZjmDfETSmc=">
          <file path="boost/url/param.hpp" line="866" class="def"/>
          <param name="key">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <param name="value">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <param name="has_value">
            <type name="bool"/>
          </param>
        </function>
      </struct>
      <struct name="param_view" id="C+IWBHRl3NluE4QVhoCkgb59VAc=">
        <file path="boost/url/param.hpp" line="404" class="def"/>
        <file path="boost/url/param.hpp" line="25"/>
        <doc>
          <para>
            <text>A query parameter</text>
          </para>
          <para>
            <text>Objects of this type represent a single key</text>
            <text>    and value pair in a query string where a key</text>
            <text>    is always present and may be empty, while the</text>
            <text>    presence of a value is indicated by</text>
            <reference id="5qdp3uhNRJQmOCy91Ie1r9Wod8c=">has_value</reference>
            <text> equal to true.</text>
            <text>    An empty value is distinct from no value.</text>
          </para>
          <para>
            <text>Depending on where the object was obtained,</text>
            <text>    the strings may or may not contain percent</text>
            <text>    escapes.</text>
          </para>
          <para>
            <text>For most usages, key comparisons are</text>
            <text>    case-sensitive and duplicate keys in</text>
            <text>    a query are possible. However, it is</text>
            <text>    the authority that has final control</text>
            <text>    over how the query is interpreted.</text>
          </para>
          <para>
            <text></text>
          </para>
          <para>
            <text>Keys and values in this object reference</text>
            <text>    external character buffers.</text>
            <text>    Ownership of the buffers is not transferred;</text>
            <text>    the caller is responsible for ensuring that</text>
            <text>    the assigned buffers remain valid until</text>
            <text>    they are no longer referenced.</text>
          </para>
          <head>BNF</head>
          <code>
            <text>    query-params    = query-param *( &quot;&amp;&quot; query-param )</text>
            <text>    query-param     = key [ &quot;=&quot; value ]</text>
            <text>    key             = *qpchar</text>
            <text>    value           = *( qpchar / &quot;=&quot; )</text>
          </code>
          <head>Specification</head>
          <listitem>
            <link href="https://en.wikipedia.org/wiki/Query_string">Query string (Wikipedia)</link>
          </listitem>
          <see>
            <reference id="fsdT8sbwW/lniPI5gqvIf2JMGBM=">param</reference>
            <text>,</text>
            <reference id="SMbLJWxhkkCMp2sPkBpWmdnoNGI=">param_pct_view</reference>
            <text>.</text>
          </see>
        </doc>
        <field name="key" id="0w9Q3dEVwZ2B+pha3LDXacGaN8U=">
          <file path="boost/url/param.hpp" line="414" class="def"/>
          <type name="core::string_view"/>
          <doc>
            <para>
              <text>The key</text>
            </para>
            <para>
              <text>For most usages, key comparisons are</text>
              <text>        case-sensitive and duplicate keys in</text>
              <text>        a query are possible. However, it is</text>
              <text>        the authority that has final control</text>
              <text>        over how the query is interpreted.</text>
            </para>
          </doc>
        </field>
        <field name="value" id="jSR+FziEeMh2Ue2Gpy/FfW7Bdl8=">
          <file path="boost/url/param.hpp" line="422" class="def"/>
          <type name="core::string_view"/>
          <doc>
            <para>
              <text>The value</text>
            </para>
            <para>
              <text>The presence of a value is indicated by</text>
              <reference id="5qdp3uhNRJQmOCy91Ie1r9Wod8c=">has_value</reference>
              <text> equal to true.</text>
              <text>        An empty value is distinct from no value.</text>
            </para>
          </doc>
        </field>
        <field name="has_value" id="5qdp3uhNRJQmOCy91Ie1r9Wod8c=" default="false">
          <file path="boost/url/param.hpp" line="430" class="def"/>
          <type name="bool"/>
          <doc>
            <para>
              <text>True if a value is present</text>
            </para>
            <para>
              <text>The presence of a value is indicated by</text>
              <text>        `has_value == true`.</text>
              <text>        An empty value is distinct from no value.</text>
            </para>
          </doc>
        </field>
        <function class="constructor" name="param_view" id="eq0SF4UQaNBZbYdivlCWsVA5Lc4=">
          <file path="boost/url/param.hpp" line="455" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>Default constructed query parameters</text>
              <text>        have an empty key and no value.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        param_view qp;</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;key == &quot;&quot; &amp;&amp; this-&gt;value == &quot;&quot; &amp;&amp; this-&gt;has_value == false</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <template>
          <tparam name="OptionalString" class="type"/>
          <function class="constructor" name="param_view" exception-spec="noexcept" id="GRgc3qbuxNz2lViEWv9ClZsU0Lc=">
            <file path="boost/url/param.hpp" line="494" class="def"/>
            <param name="key">
              <type name="core::string_view"/>
            </param>
            <param name="value">
              <type class="lvalue-reference">
                <pointee-type name="OptionalString" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Constructor</text>
              </para>
              <para>
                <text>This constructs a parameter with a key</text>
                <text>        and value.</text>
                <text>        No validation is performed on the strings.</text>
                <text>        The new key and value reference</text>
                <text>        the same corresponding underlying</text>
                <text>        character buffers.</text>
                <text>        Ownership of the buffers is not transferred;</text>
                <text>        the caller is responsible for ensuring that</text>
                <text>        the assigned buffers remain valid until</text>
                <text>        they are no longer referenced.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        param_view qp( &quot;key&quot;, &quot;value&quot; );</text>
              </code>
              <head>Postconditions</head>
              <code>
                <text>        this-&gt;key.data() == key.data() &amp;&amp; this-&gt;value.data() == value.data() &amp;&amp; this-&gt;has_value == true</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Constant.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Throws nothing.</text>
              </para>
              <tparam name="OptionalString">
                <text>An optional string</text>
                <text>        type, such as `core::string_view`,</text>
                <text>        `std::nullptr`,</text>
                <reference id="51rV2xfhRV96h9L23+q8lPiw4x8=">no_value_t</reference>
                <text>, or</text>
                <text>        `optional&lt;core::string_view&gt;`.</text>
              </tparam>
              <param name="key,">
                <text>value The key and value to set.</text>
              </param>
            </doc>
          </function>
        </template>
        <function class="constructor" name="param_view" exception-spec="noexcept" id="fj5gN0ldQtYkAUvxIrujcFVadCA=">
          <file path="boost/url/param.hpp" line="531" class="def"/>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="fsdT8sbwW/lniPI5gqvIf2JMGBM=" name="param" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>This function constructs a param</text>
              <text>        which references the character buffers</text>
              <text>        representing the key and value in another</text>
              <text>        container.</text>
              <text>        Ownership of the buffers is not transferred;</text>
              <text>        the caller is responsible for ensuring that</text>
              <text>        the assigned buffers remain valid until</text>
              <text>        they are no longer referenced.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        param qp( &quot;key&quot;, &quot;value&quot; );</text>
              <text>        param_view qpv( qp );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;key == key &amp;&amp; this-&gt;value == value &amp;&amp; this-&gt;has_value == other.has_value</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <param name="other">
              <text>The param to reference</text>
            </param>
          </doc>
        </function>
        <function class="conversion" name="operator param" explicit-spec="explicit" id="j4zn5vmDnlIInrMNdQvhbH7pd8A=">
          <file path="boost/url/param.hpp" line="554" class="def"/>
          <return>
            <type id="fsdT8sbwW/lniPI5gqvIf2JMGBM=" name="param"/>
          </return>
          <doc>
            <para>
              <text>Conversion</text>
            </para>
            <para>
              <text>This function performs a conversion from</text>
              <text>        a reference-like query parameter to one</text>
              <text>        retaining ownership of the strings by</text>
              <text>        making a copy.</text>
              <text>        No validation is performed on the strings.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;key.size() + this-&gt;value.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Calls to allocate may throw.</text>
            </para>
          </doc>
        </function>
        <function name="operator-&gt;" exception-spec="noexcept" id="SyeSz+EOTfJojbhMH5e929glZME=">
          <file path="boost/url/param.hpp" line="563" class="def"/>
          <attr id="operator" name="ptr" value="41"/>
          <attr id="is-const"/>
          <return>
            <type class="pointer">
              <pointee-type id="C+IWBHRl3NluE4QVhoCkgb59VAc=" name="param_view" cv-qualifiers="const"/>
            </type>
          </return>
        </function>
        <function class="constructor" name="param_view" exception-spec="noexcept" id="NSR96oc02lbW4sL/WGkyIWtbgKg=">
          <file path="boost/url/param.hpp" line="570" class="def"/>
          <param name="key_">
            <type name="core::string_view"/>
          </param>
          <param name="value_">
            <type name="core::string_view"/>
          </param>
          <param name="has_value_">
            <type name="bool"/>
          </param>
        </function>
      </struct>
      <variable name="no_value" id="INQ2ouuVlRY3LsAsb8F4jYk7wBA=">
        <file path="boost/url/param.hpp" line="36" class="def"/>
        <attr id="constexpr-kind" name="constexpr" value="1"/>
        <type id="51rV2xfhRV96h9L23+q8lPiw4x8=" name="no_value_t" cv-qualifiers="const"/>
        <doc>
          <para>
            <text>Constant indicating no value in a param</text>
          </para>
        </doc>
      </variable>
      <struct name="param" id="fsdT8sbwW/lniPI5gqvIf2JMGBM=">
        <file path="boost/url/param.hpp" line="75" class="def"/>
        <doc>
          <para>
            <text>A query parameter</text>
          </para>
          <para>
            <text>Objects of this type represent a single key</text>
            <text>    and value pair in a query string where a key</text>
            <text>    is always present and may be empty, while the</text>
            <text>    presence of a value is indicated by</text>
            <reference id="m6PwaZFpoqvv4Zklub5FwD4kMNU=">has_value</reference>
            <text> equal to true.</text>
            <text>    An empty value is distinct from no value.</text>
          </para>
          <para>
            <text>Depending on where the object was obtained,</text>
            <text>    the strings may or may not contain percent</text>
            <text>    escapes.</text>
          </para>
          <para>
            <text>For most usages, key comparisons are</text>
            <text>    case-sensitive and duplicate keys in</text>
            <text>    a query are possible. However, it is</text>
            <text>    the authority that has final control</text>
            <text>    over how the query is interpreted.</text>
          </para>
          <head>BNF</head>
          <code>
            <text>    query-params    = query-param *( &quot;&amp;&quot; query-param )</text>
            <text>    query-param     = key [ &quot;=&quot; value ]</text>
            <text>    key             = *qpchar</text>
            <text>    value           = *( qpchar / &quot;=&quot; )</text>
          </code>
          <head>Specification</head>
          <listitem>
            <link href="https://en.wikipedia.org/wiki/Query_string">Query string (Wikipedia)</link>
          </listitem>
          <see>
            <reference id="C+IWBHRl3NluE4QVhoCkgb59VAc=">param_view</reference>
            <text>,</text>
            <reference id="SMbLJWxhkkCMp2sPkBpWmdnoNGI=">param_pct_view</reference>
            <text>.</text>
          </see>
        </doc>
        <field name="key" id="0dpgjf96RsW8NPBIyoLJHOaKlxQ=">
          <file path="boost/url/param.hpp" line="85" class="def"/>
          <type name="std::string"/>
          <doc>
            <para>
              <text>The key</text>
            </para>
            <para>
              <text>For most usages, key comparisons are</text>
              <text>        case-sensitive and duplicate keys in</text>
              <text>        a query are possible. However, it is</text>
              <text>        the authority that has final control</text>
              <text>        over how the query is interpreted.</text>
            </para>
          </doc>
        </field>
        <field name="value" id="LWUlaPLa2eFsggicMKMN/EabI44=">
          <file path="boost/url/param.hpp" line="93" class="def"/>
          <type name="std::string"/>
          <doc>
            <para>
              <text>The value</text>
            </para>
            <para>
              <text>The presence of a value is indicated by</text>
              <reference id="m6PwaZFpoqvv4Zklub5FwD4kMNU=">has_value</reference>
              <text> equal to true.</text>
              <text>        An empty value is distinct from no value.</text>
            </para>
          </doc>
        </field>
        <field name="has_value" id="m6PwaZFpoqvv4Zklub5FwD4kMNU=" default="false">
          <file path="boost/url/param.hpp" line="101" class="def"/>
          <type name="bool"/>
          <doc>
            <para>
              <text>True if a value is present</text>
            </para>
            <para>
              <text>The presence of a value is indicated by</text>
              <text>        `has_value == true`.</text>
              <text>        An empty value is distinct from no value.</text>
            </para>
          </doc>
        </field>
        <function class="constructor" name="param" id="m31qeAg+a+7PPxMDmwQbII+5IKk=">
          <file path="boost/url/param.hpp" line="124" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>Default constructed query parameters</text>
              <text>        have an empty key and no value.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        param qp;</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;key == &quot;&quot; &amp;&amp; this-&gt;value == &quot;&quot; &amp;&amp; this-&gt;has_value == false</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="param" exception-spec="noexcept" id="eI2QornVUnf4Eq3LH5m7TUwIS4o=">
          <file path="boost/url/param.hpp" line="142" class="def"/>
          <param name="other">
            <type class="rvalue-reference">
              <pointee-type id="fsdT8sbwW/lniPI5gqvIf2JMGBM=" name="param"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>Upon construction, this acquires</text>
              <text>        ownership of the members of other</text>
              <text>        via move construction. The moved</text>
              <text>        from object is as if default</text>
              <text>        constructed.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>other The object to construct from.</head>
          </doc>
        </function>
        <function class="constructor" name="param" id="39skGZPf1jMIho6Qkxv0xCLsZFE=">
          <file path="boost/url/param.hpp" line="173" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="fsdT8sbwW/lniPI5gqvIf2JMGBM=" name="param" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>Upon construction, this becomes a copy</text>
              <text>        of `other`.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;key == other.key &amp;&amp; this-&gt;value == other.value &amp;&amp; this-&gt;has_value == other.has_value</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `other.key.size() + other.value.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Calls to allocate may throw.</text>
            </para>
            <head>other The object to construct from.</head>
          </doc>
        </function>
        <function name="operator=" exception-spec="noexcept" id="s+7WqEnccxgNiV6x5Kd112RoZ2g=">
          <file path="boost/url/param.hpp" line="191" class="def"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="fsdT8sbwW/lniPI5gqvIf2JMGBM=" name="param"/>
            </type>
          </return>
          <param name="other">
            <type class="rvalue-reference">
              <pointee-type id="fsdT8sbwW/lniPI5gqvIf2JMGBM=" name="param"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>Upon assignment, this acquires</text>
              <text>        ownership of the members of other</text>
              <text>        via move assignment. The moved</text>
              <text>        from object is as if default</text>
              <text>        constructed.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>other The object to assign from.</head>
          </doc>
        </function>
        <function name="operator=" id="zfGeu0K1/F+mX0XzUpds0ZSFzfM=">
          <file path="boost/url/param.hpp" line="224" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="fsdT8sbwW/lniPI5gqvIf2JMGBM=" name="param"/>
            </type>
          </return>
          <param>
            <type class="lvalue-reference">
              <pointee-type id="fsdT8sbwW/lniPI5gqvIf2JMGBM=" name="param" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>Upon assignment, this becomes a copy</text>
              <text>        of `other`.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;key == other.key &amp;&amp; this-&gt;value == other.value &amp;&amp; this-&gt;has_value == other.has_value</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `other.key.size() + other.value.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Calls to allocate may throw.</text>
            </para>
            <head>other The object to assign from.</head>
          </doc>
        </function>
        <template>
          <tparam name="OptionalString" class="type"/>
          <function class="constructor" name="param" id="usV8KIxAJDuXi0Vk+raUQOmujmo=">
            <file path="boost/url/param.hpp" line="278" class="def"/>
            <param name="key">
              <type name="core::string_view"/>
            </param>
            <param name="value">
              <type class="lvalue-reference">
                <pointee-type name="OptionalString" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Constructor</text>
              </para>
              <para>
                <text>This constructs a parameter with a key</text>
                <text>        and value.</text>
              </para>
              <para>
                <text>No validation is performed on the strings.</text>
                <text>        Ownership of the key and value is acquired</text>
                <text>        by making copies.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        param qp( &quot;key&quot;, &quot;value&quot; );</text>
              </code>
              <code>
                <text>        param qp( &quot;key&quot;, optional&lt;core::string_view&gt;(&quot;value&quot;) );</text>
              </code>
              <code>
                <text>        param qp( &quot;key&quot;, boost::none );</text>
              </code>
              <code>
                <text>        param qp( &quot;key&quot;, nullptr );</text>
              </code>
              <code>
                <text>        param qp( &quot;key&quot;, no_value );</text>
              </code>
              <head>Postconditions</head>
              <code>
                <text>        this-&gt;key == key &amp;&amp; this-&gt;value == value &amp;&amp; this-&gt;has_value == true</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `key.size() + value.size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
              </para>
              <tparam name="OptionalString">
                <text>An optional string</text>
                <text>        type, such as `core::string_view`,</text>
                <text>        `std::nullptr`,</text>
                <reference id="51rV2xfhRV96h9L23+q8lPiw4x8=">no_value_t</reference>
                <text>, or</text>
                <text>        `optional&lt;core::string_view&gt;`.</text>
              </tparam>
              <param name="key,">
                <text>value The key and value to set.</text>
              </param>
            </doc>
          </function>
        </template>
        <function name="operator=" id="yzzq+JDcBEA/hUXXkuwHJENlGnE=">
          <file path="boost/url/param.hpp" line="890" class="def"/>
          <file path="boost/url/param.hpp" line="303"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="fsdT8sbwW/lniPI5gqvIf2JMGBM=" name="param"/>
            </type>
          </return>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="C+IWBHRl3NluE4QVhoCkgb59VAc=" name="param_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>The members of `other` are copied,</text>
              <text>        re-using already existing string capacity.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;key == other.key &amp;&amp; this-&gt;value == other.value &amp;&amp; this-&gt;has_value == other.has_value</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `other.key.size() + other.value.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="other">
              <text>The parameter to copy.</text>
            </param>
          </doc>
        </function>
        <function name="operator=" id="NFsUyybYjDW1e6c+YNVvNNhysqg=">
          <file path="boost/url/param.hpp" line="914" class="def"/>
          <file path="boost/url/param.hpp" line="324"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="fsdT8sbwW/lniPI5gqvIf2JMGBM=" name="param"/>
            </type>
          </return>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="SMbLJWxhkkCMp2sPkBpWmdnoNGI=" name="param_pct_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>The members of `other` are copied,</text>
              <text>        re-using already existing string capacity.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;key == other.key &amp;&amp; this-&gt;value == other.value &amp;&amp; this-&gt;has_value == other.has_value</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `other.key.size() + other.value.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="other">
              <text>The parameter to copy.</text>
            </param>
          </doc>
        </function>
        <function name="operator-&gt;" exception-spec="noexcept" id="HG2dqGDFjgWJE2OkgOAoRAs3puo=">
          <file path="boost/url/param.hpp" line="329" class="def"/>
          <attr id="operator" name="ptr" value="41"/>
          <attr id="is-const"/>
          <return>
            <type class="pointer">
              <pointee-type id="fsdT8sbwW/lniPI5gqvIf2JMGBM=" name="param" cv-qualifiers="const"/>
            </type>
          </return>
        </function>
        <function class="constructor" name="param" exception-spec="noexcept" id="okb99+iEelSdg117LuwoY8LP16w=">
          <file path="boost/url/param.hpp" line="336" class="def"/>
          <param name="key">
            <type name="core::string_view"/>
          </param>
          <param name="value">
            <type name="core::string_view"/>
          </param>
          <param name="has_value">
            <type name="bool"/>
          </param>
        </function>
      </struct>
      <template>
        <tparam name="Ts" class="type"/>
        <alias name="variant" id="FhVAnUhR1V4cDQt6TPQXGyakQHc=">
          <file path="boost/url/variant.hpp" line="38" class="def"/>
          <type name="boost::variant2::variant&lt;Ts...&gt;"/>
          <doc>
            <para>
              <text>The type of variant used by the library</text>
            </para>
            <para class="warning">
              <text>This alias is no longer supported and</text>
              <text>    should not be used in new code. Please use</text>
              <text>    `boost::variant2::variant` instead.</text>
            </para>
            <para>
              <text>This alias is included for backwards</text>
              <text>    compatibility with earlier versions of the</text>
              <text>    library.</text>
            </para>
            <para>
              <text>However, it will be removed in future releases,</text>
              <text>    and using it in new code is not recommended.</text>
            </para>
            <para>
              <text>Please use the updated version instead to</text>
              <text>    ensure compatibility with future versions of</text>
              <text>    the library.</text>
            </para>
          </doc>
        </alias>
      </template>
      <template>
        <tparam name="T" class="type"/>
        <alias name="optional" id="oSAYJle80BcL838BBRX63lch/5Q=">
          <file path="boost/url/optional.hpp" line="39" class="def"/>
          <type name="boost::optional&lt;T&gt;"/>
        </alias>
      </template>
      <class name="params_encoded_base" id="2+L1/+BrjUzoccWPIYkGu108y1I=">
        <file path="boost/url/params_encoded_base.hpp" line="38" class="def"/>
        <doc>
          <para>
            <text>Common functionality for containers</text>
          </para>
          <para>
            <text>This base class is used by the library</text>
            <text>    to provide common member functions for</text>
            <text>    containers. This cannot be instantiated</text>
            <text>    directly; Instead, use one of the</text>
            <text>    containers or functions:</text>
          </para>
          <head>Containers</head>
          <listitem>
            <reference id="8S83BKvWBCDdTktlY8X93Mlo9E0=">params_ref</reference>
          </listitem>
          <listitem>
            <reference id="DzqMpaJX2O25vPFxEN5EDTyU6uw=">params_view</reference>
          </listitem>
          <listitem>
            <reference id="oR5B5D0/JYTOQYvyFXRv+at91JE=">params_encoded_ref</reference>
          </listitem>
          <listitem>
            <reference id="0nSfM4mK92fIx58KtzdWGiHuq2w=">params_encoded_view</reference>
          </listitem>
        </doc>
        <class name="iterator" id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=">
          <file path="boost/url/impl/params_encoded_base.hpp" line="25" class="def"/>
          <file path="boost/url/params_encoded_base.hpp" line="80"/>
          <alias name="value_type" id="uTv9S+S7vWkr3ZmLr+bRdjAtcUc=">
            <file path="boost/url/impl/params_encoded_base.hpp" line="41" class="def"/>
            <type id="TadRKN4c6SRe/Yk1CsRORJw1qkM=" name="params_encoded_base::value_type"/>
          </alias>
          <alias name="reference" id="0gtkpvctfG5zFBrJeCBBUKYXI2k=">
            <file path="boost/url/impl/params_encoded_base.hpp" line="43" class="def"/>
            <type id="BU4ImK4QmuraTcmiVgUZHD9EeSc=" name="params_encoded_base::reference"/>
          </alias>
          <alias name="pointer" id="ib89hKlsxY06RoqcZoWq15j5Jj0=">
            <file path="boost/url/impl/params_encoded_base.hpp" line="45" class="def"/>
            <type id="0gtkpvctfG5zFBrJeCBBUKYXI2k=" name="reference"/>
          </alias>
          <alias name="difference_type" id="H7aESPkPhXfldNvSdZfH2uqJJSQ=">
            <file path="boost/url/impl/params_encoded_base.hpp" line="46" class="def"/>
            <type name="std::ptrdiff_t"/>
          </alias>
          <alias name="iterator_category" id="We+FwzOTXS0j+kfZCERMhGAujzk=">
            <file path="boost/url/impl/params_encoded_base.hpp" line="47" class="def"/>
            <type name="std::bidirectional_iterator_tag"/>
          </alias>
          <function class="constructor" name="iterator" id="wvoXpVDG/4zEZg2/1ficFWsc5FE=">
            <file path="boost/url/impl/params_encoded_base.hpp" line="50" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
          </function>
          <function class="constructor" name="iterator" id="4Gv+Xg+o9obeXfR9UtNx67PkOGE=">
            <file path="boost/url/impl/params_encoded_base.hpp" line="51" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <param>
              <type class="lvalue-reference">
                <pointee-type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="operator=" id="fmZqa8LDswx4EL+avv0EancsEY4=">
            <file path="boost/url/impl/params_encoded_base.hpp" line="52" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <attr id="operator" name="assign" value="15"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
              </type>
            </return>
            <param>
              <type class="lvalue-reference">
                <pointee-type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="operator++" exception-spec="noexcept" id="nvmi64/w6OOz/cpQ9KqzNInpXzw=">
            <file path="boost/url/impl/params_encoded_base.hpp" line="55" class="def"/>
            <attr id="operator" name="inc" value="37"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
              </type>
            </return>
          </function>
          <function name="operator++" exception-spec="noexcept" id="NwAZNM1Lg781m2WeCwQbEu0NmUY=">
            <file path="boost/url/impl/params_encoded_base.hpp" line="62" class="def"/>
            <attr id="operator" name="inc" value="37"/>
            <return>
              <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
            </return>
            <param>
              <type name="int"/>
            </param>
          </function>
          <function name="operator--" exception-spec="noexcept" id="FsAFApmsHDTrEttUrc+rYSHXoec=">
            <file path="boost/url/impl/params_encoded_base.hpp" line="70" class="def"/>
            <attr id="operator" name="dec" value="38"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
              </type>
            </return>
          </function>
          <function name="operator--" exception-spec="noexcept" id="UyNz6NfiHmCMvMoEfefE+FU3Rx4=">
            <file path="boost/url/impl/params_encoded_base.hpp" line="77" class="def"/>
            <attr id="operator" name="dec" value="38"/>
            <return>
              <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
            </return>
            <param>
              <type name="int"/>
            </param>
          </function>
          <function name="operator*" id="Nc5fAx5e7S8KoHjMKy0ccXqfUkg=">
            <file path="boost/url/impl/params_encoded_base.hpp" line="85" class="def"/>
            <attr id="operator" name="star" value="7"/>
            <attr id="is-const"/>
            <return>
              <type id="0gtkpvctfG5zFBrJeCBBUKYXI2k=" name="reference"/>
            </return>
          </function>
          <function name="operator-&gt;" id="DnBfkLYQ3sYs1ivZiI9zI6VUZ6s=">
            <file path="boost/url/impl/params_encoded_base.hpp" line="91" class="def"/>
            <attr id="operator" name="ptr" value="41"/>
            <attr id="is-const"/>
            <return>
              <type id="ib89hKlsxY06RoqcZoWq15j5Jj0=" name="pointer"/>
            </return>
          </function>
          <friend id="ntUSUdc5yhdcGSGoGp1g8uPv9IY=">
            <file path="boost/url/impl/params_encoded_base.hpp" line="97" class="def"/>
            <befriended id="3b8LtWJdyf2AUFgD88j68/LgT7s="/>
          </friend>
          <friend id="lwIFWyjPQ9CAn1qAx2hvECGSkBc=">
            <file path="boost/url/impl/params_encoded_base.hpp" line="106" class="def"/>
            <befriended id="+mbgraIEKxYlGRnrtbl+juVak7Y="/>
          </friend>
        </class>
        <alias name="const_iterator" id="XJpUUNCpigJ1xkT7ZTlbU72H/Ak=">
          <file path="boost/url/params_encoded_base.hpp" line="84" class="def"/>
          <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          <doc>
            <para>
              <copydoc id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=">iterator</copydoc>
            </para>
          </doc>
        </alias>
        <alias name="value_type" id="TadRKN4c6SRe/Yk1CsRORJw1qkM=">
          <file path="boost/url/params_encoded_base.hpp" line="100" class="def"/>
          <type id="fsdT8sbwW/lniPI5gqvIf2JMGBM=" name="param"/>
          <doc>
            <para>
              <text>The value type</text>
            </para>
            <para>
              <text>Values of this type represent parameters</text>
              <text>        whose strings retain unique ownership by</text>
              <text>        making a copy.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        params_encoded_view::value_type qp( *url_view( &quot;?first=John&amp;last=Doe&quot; ).params().find( &quot;first&quot; ) );</text>
            </code>
            <see>
              <reference id="fsdT8sbwW/lniPI5gqvIf2JMGBM=">param</reference>
              <text>.</text>
            </see>
          </doc>
        </alias>
        <alias name="reference" id="BU4ImK4QmuraTcmiVgUZHD9EeSc=">
          <file path="boost/url/params_encoded_base.hpp" line="110" class="def"/>
          <type id="SMbLJWxhkkCMp2sPkBpWmdnoNGI=" name="param_pct_view"/>
          <doc>
            <para>
              <text>The reference type</text>
            </para>
            <para>
              <text>This is the type of value returned when</text>
              <text>        iterators of the view are dereferenced.</text>
            </para>
            <see>
              <reference id="C+IWBHRl3NluE4QVhoCkgb59VAc=">param_view</reference>
              <text>.</text>
            </see>
          </doc>
        </alias>
        <alias name="const_reference" id="dZWEqr9OGQvjwxniXvQD5gJgpjs=">
          <file path="boost/url/params_encoded_base.hpp" line="113" class="def"/>
          <type id="SMbLJWxhkkCMp2sPkBpWmdnoNGI=" name="param_pct_view"/>
          <doc>
            <para>
              <copydoc id="BU4ImK4QmuraTcmiVgUZHD9EeSc=">reference</copydoc>
            </para>
          </doc>
        </alias>
        <alias name="size_type" id="GqAV1Lhk5ZQyP+b5jBK+ATBZPKo=">
          <file path="boost/url/params_encoded_base.hpp" line="117" class="def"/>
          <type name="std::size_t"/>
          <doc>
            <para>
              <text>An unsigned integer type to represent sizes.</text>
            </para>
          </doc>
        </alias>
        <alias name="difference_type" id="Jgooe8CMHSLBI54qjRb0o6d/8/o=">
          <file path="boost/url/params_encoded_base.hpp" line="121" class="def"/>
          <type name="std::ptrdiff_t"/>
          <doc>
            <para>
              <text>A signed integer type used to represent differences.</text>
            </para>
          </doc>
        </alias>
        <function name="max_size" exception-spec="noexcept" id="YhJEdM/9SyCZ1JSUhp09kwAEwsw=">
          <file path="boost/url/params_encoded_base.hpp" line="138" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="storage-class" name="static" value="2"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <doc>
            <para>
              <text>Return the maximum number of characters possible</text>
            </para>
            <para>
              <text>This represents the largest number of</text>
              <text>        characters that are possible in a path,</text>
              <text>        not including any null terminator.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="buffer" exception-spec="noexcept" id="pXB7x4tVHvcwWbxezFAda5sgdHI=">
          <file path="boost/url/params_encoded_base.hpp" line="176"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the query corresponding to these params</text>
            </para>
            <para>
              <text>This function returns the query string</text>
              <text>        referenced by the container.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;?first=John&amp;last=Doe&quot; ).encoded_params().buffer() == &quot;first=John&amp;last=Doe&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        query-params    = query-param *( &quot;&amp;&quot; query-param )</text>
              <text>        query-param     = key [ &quot;=&quot; value ]</text>
              <text>        key             = *qpchar</text>
              <text>        value           = *( qpchar / &quot;=&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://en.wikipedia.org/wiki/Query_string">Query string (Wikipedia)</link>
            </listitem>
          </doc>
        </function>
        <function name="empty" exception-spec="noexcept" id="FAnUbM3orQ8EQ3bA6cM0MPKqnzs=">
          <file path="boost/url/params_encoded_base.hpp" line="192"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if there are no params</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( ! url_view( &quot;?key=value&quot; ).encoded_params().empty() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="size" exception-spec="noexcept" id="zF7kAsctYJbzsEd/ye9VQDTlad8=">
          <file path="boost/url/params_encoded_base.hpp" line="208"/>
          <attr id="is-const"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <doc>
            <para>
              <text>Return the number of params</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;?key=value&quot;).encoded_params().size() == 1 );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="begin" exception-spec="noexcept" id="H11d1XIdchNVENPAXFI29FSpdmA=">
          <file path="boost/url/params_encoded_base.hpp" line="219"/>
          <attr id="is-const"/>
          <return>
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </return>
          <doc>
            <para>
              <text>Return an iterator to the beginning</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in the size of the first param.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="end" exception-spec="noexcept" id="MTKGTeb7OLB4syv3KjZV9NsdSuA=">
          <file path="boost/url/params_encoded_base.hpp" line="230"/>
          <attr id="is-const"/>
          <return>
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </return>
          <doc>
            <para>
              <text>Return an iterator to the end</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="contains" exception-spec="noexcept" id="ytgJ9icra/4vSaD7yJY5ki4BrNY=">
          <file path="boost/url/impl/params_encoded_base.hpp" line="122" class="def"/>
          <file path="boost/url/params_encoded_base.hpp" line="267"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <param name="key">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <param name="ic" default="= {}">
            <type id="RATceEbebMWrhFXGkG2RDFi+7WY=" name="ignore_case_param"/>
          </param>
          <doc>
            <para>
              <text>Return true if a matching key exists</text>
            </para>
            <para>
              <text>This function examines the parameters</text>
              <text>        in the container to find a match for</text>
              <text>        the specified key,</text>
              <text>        which may contain percent escapes.</text>
              <text>        The comparison is performed as if all</text>
              <text>        escaped characters were decoded first.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;?first=John&amp;last=Doe&quot; ).encoded_params().contains( &quot;first&quot; ) );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;buffer().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `key` contains an invalid percent-encoding.</text>
            </throws>
            <param name="key">
              <text>The key to match.</text>
              <text>        By default, a case-sensitive</text>
              <text>        comparison is used.</text>
            </param>
            <param name="ic">
              <text>An optional parameter. If</text>
              <text>        the value</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text> is passed</text>
              <text>        here, the comparison is</text>
              <text>        case-insensitive.</text>
            </param>
          </doc>
        </function>
        <function name="count" exception-spec="noexcept" id="dYTek2kRS43hktBruYZHns13CqM=">
          <file path="boost/url/params_encoded_base.hpp" line="304"/>
          <attr id="is-const"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <param name="key">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <param name="ic" default="= {}">
            <type id="RATceEbebMWrhFXGkG2RDFi+7WY=" name="ignore_case_param"/>
          </param>
          <doc>
            <para>
              <text>Return the number of matching keys</text>
            </para>
            <para>
              <text>This function examines the parameters</text>
              <text>        in the container to find the number of</text>
              <text>        matches for the specified key,</text>
              <text>        which may contain percent escapes.</text>
              <text>        The comparison is performed as if all</text>
              <text>        escaped characters were decoded first.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;?first=John&amp;last=Doe&quot; ).encoded_params().count( &quot;first&quot; ) == 1 );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;buffer().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `key` contains an invalid percent-encoding.</text>
            </throws>
            <param name="key">
              <text>The key to match.</text>
              <text>        By default, a case-sensitive</text>
              <text>        comparison is used.</text>
            </param>
            <param name="ic">
              <text>An optional parameter. If</text>
              <text>        the value</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text> is passed</text>
              <text>        here, the comparison is</text>
              <text>        case-insensitive.</text>
            </param>
          </doc>
        </function>
        <function name="find" exception-spec="noexcept" id="Oklu+7vHgxQ6cOEG4FHBmj+mMzo=">
          <file path="boost/url/impl/params_encoded_base.hpp" line="133" class="def"/>
          <file path="boost/url/params_encoded_base.hpp" line="356"/>
          <attr id="has-trailing-return"/>
          <attr id="is-const"/>
          <return>
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </return>
          <param name="key">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <param name="ic" default="= {}">
            <type id="RATceEbebMWrhFXGkG2RDFi+7WY=" name="ignore_case_param"/>
          </param>
          <doc>
            <para>
              <text>Find a matching key</text>
            </para>
            <para>
              <text>This function examines the parameters</text>
              <text>        in the container to find a match for</text>
              <text>        the specified key,</text>
              <text>        which may contain percent escapes.</text>
              <text>        The comparison is performed as if all</text>
              <text>        escaped characters were decoded first.</text>
            </para>
            <para>
              <text></text>
            </para>
            <para>
              <text>The search starts from the first param</text>
              <text>        and proceeds forward until either the</text>
              <text>        key is found or the end of the range is</text>
              <text>        reached, in which case `end()` is</text>
              <text>        returned.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;?first=John&amp;last=Doe&quot; ).encoded_params().find( &quot;First&quot;, ignore_case )-&gt;value == &quot;John&quot; );</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return this-&gt;find( this-&gt;begin(), key, ic );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;buffer().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `key` contains an invalid percent-encoding.</text>
            </throws>
            <returns>
              <text>an iterator to the param</text>
            </returns>
            <param name="key">
              <text>The key to match.</text>
              <text>        By default, a case-sensitive</text>
              <text>        comparison is used.</text>
            </param>
            <param name="ic">
              <text>An optional parameter. If</text>
              <text>        the value</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text> is passed</text>
              <text>        here, the comparison is</text>
              <text>        case-insensitive.</text>
            </param>
          </doc>
        </function>
        <function name="find" exception-spec="noexcept" id="BlQpocjN9pdc1/MZ4dbq8RLQlzM=">
          <file path="boost/url/impl/params_encoded_base.hpp" line="145" class="def"/>
          <file path="boost/url/params_encoded_base.hpp" line="408"/>
          <attr id="has-trailing-return"/>
          <attr id="is-const"/>
          <return>
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </return>
          <param name="from">
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </param>
          <param name="key">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <param name="ic" default="= {}">
            <type id="RATceEbebMWrhFXGkG2RDFi+7WY=" name="ignore_case_param"/>
          </param>
          <doc>
            <para>
              <text>Find a matching key</text>
            </para>
            <para>
              <text>This function examines the parameters</text>
              <text>        in the container to find a match for</text>
              <text>        the specified key, which may contain</text>
              <text>        percent escapes.</text>
              <text>        The comparison is performed as if all</text>
              <text>        escaped characters were decoded first.</text>
            </para>
            <para>
              <text></text>
            </para>
            <para>
              <text>The search starts at `from`</text>
              <text>        and proceeds forward until either the</text>
              <text>        key is found or the end of the range is</text>
              <text>        reached, in which case `end()` is</text>
              <text>        returned.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url_view u( &quot;?First=John&amp;Last=Doe&quot; );</text>
              <text></text>
              <text>        assert( u.encoded_params().find( &quot;first&quot; ) != u.encoded_params().find( &quot;first&quot;, ignore_case ) );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;buffer().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `key` contains an invalid percent-encoding.</text>
            </throws>
            <returns>
              <text>an iterator to the param</text>
            </returns>
            <param name="from">
              <text>The position to begin the</text>
              <text>            search from. This can be `end()`.</text>
            </param>
            <param name="key">
              <text>The key to match.</text>
              <text>        By default, a case-sensitive</text>
              <text>        comparison is used.</text>
            </param>
            <param name="ic">
              <text>An optional parameter. If</text>
              <text>        the value</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text> is passed</text>
              <text>        here, the comparison is</text>
              <text>        case-insensitive.</text>
            </param>
          </doc>
        </function>
        <function name="find_last" exception-spec="noexcept" id="XVsgicnxdzp/0fDKXn/F2rEFNTs=">
          <file path="boost/url/impl/params_encoded_base.hpp" line="158" class="def"/>
          <file path="boost/url/params_encoded_base.hpp" line="456"/>
          <attr id="has-trailing-return"/>
          <attr id="is-const"/>
          <return>
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </return>
          <param name="key">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <param name="ic" default="= {}">
            <type id="RATceEbebMWrhFXGkG2RDFi+7WY=" name="ignore_case_param"/>
          </param>
          <doc>
            <para>
              <text>Find a matching key</text>
            </para>
            <para>
              <text>This function examines the parameters</text>
              <text>        in the container to find a match for</text>
              <text>        the specified key, which may contain</text>
              <text>        percent escapes.</text>
              <text>        The comparison is performed as if all</text>
              <text>        escaped characters were decoded first.</text>
            </para>
            <para>
              <text></text>
            </para>
            <para>
              <text>The search starts from the last param</text>
              <text>        and proceeds backwards until either the</text>
              <text>        key is found or the beginning of the</text>
              <text>        range is reached, in which case `end()`</text>
              <text>        is returned.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;?first=John&amp;last=Doe&quot; ).encoded_params().find_last( &quot;last&quot; )-&gt;value == &quot;Doe&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;buffer().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `key` contains an invalid percent-encoding.</text>
            </throws>
            <returns>
              <text>an iterator to the param</text>
            </returns>
            <param name="key">
              <text>The key to match.</text>
              <text>        By default, a case-sensitive</text>
              <text>        comparison is used.</text>
            </param>
            <param name="ic">
              <text>An optional parameter. If</text>
              <text>        the value</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text> is passed</text>
              <text>        here, the comparison is</text>
              <text>        case-insensitive.</text>
            </param>
          </doc>
        </function>
        <function name="find_last" exception-spec="noexcept" id="0IIl26IWllZFiR+8ic5UAM5bg6A=">
          <file path="boost/url/impl/params_encoded_base.hpp" line="170" class="def"/>
          <file path="boost/url/params_encoded_base.hpp" line="503"/>
          <attr id="has-trailing-return"/>
          <attr id="is-const"/>
          <return>
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </return>
          <param name="before">
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </param>
          <param name="key">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <param name="ic" default="= {}">
            <type id="RATceEbebMWrhFXGkG2RDFi+7WY=" name="ignore_case_param"/>
          </param>
          <doc>
            <para>
              <text>Find a matching key</text>
            </para>
            <para>
              <text>This function examines the parameters</text>
              <text>        in the container to find a match for</text>
              <text>        the specified key, which may contain</text>
              <text>        percent escapes.</text>
              <text>        The comparison is performed as if all</text>
              <text>        escaped characters were decoded first.</text>
            </para>
            <para>
              <text></text>
            </para>
            <para>
              <text>The search starts prior to `before`</text>
              <text>        and proceeds backwards until either the</text>
              <text>        key is found or the beginning of the</text>
              <text>        range is reached, in which case `end()`</text>
              <text>        is returned.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url_view u( &quot;?First=John&amp;Last=Doe&quot; );</text>
              <text></text>
              <text>        assert( u.encoded_params().find_last( &quot;last&quot; ) != u.encoded_params().find_last( &quot;last&quot;, ignore_case ) );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;buffer().size()`.</text>
            </para>
            <returns>
              <text>an iterator to the param</text>
            </returns>
            <param name="before">
              <text>One past the position</text>
              <text>        to begin the search from. This can</text>
              <text>        be `end()`.</text>
            </param>
            <param name="key">
              <text>The key to match.</text>
              <text>        By default, a case-sensitive</text>
              <text>        comparison is used.</text>
            </param>
            <param name="ic">
              <text>An optional parameter. If</text>
              <text>        the value</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text> is passed</text>
              <text>        here, the comparison is</text>
              <text>        case-insensitive.</text>
            </param>
          </doc>
        </function>
      </class>
      <function name="operator&lt;&lt;" id="uB1oB8J15hQo5Z7Skm2tX7pjkw4=">
        <file path="boost/url/params_encoded_base.hpp" line="539"/>
        <attr id="operator" name="lshift" value="26"/>
        <return>
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </return>
        <param name="os">
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </param>
        <param name="qp">
          <type class="lvalue-reference">
            <pointee-type id="2+L1/+BrjUzoccWPIYkGu108y1I=" name="params_encoded_base" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Format to an output stream</text>
          </para>
          <para>
            <text>Any percent-escapes are emitted as-is;</text>
            <text>    no decoding is performed.</text>
          </para>
          <head>Complexity</head>
          <para>
            <text>    Linear in `ps.buffer().size()`.</text>
          </para>
          <head>Effects</head>
          <code>
            <text>    return os &lt;&lt; ps.buffer();</text>
          </code>
        </doc>
      </function>
      <class name="params_ref" id="8S83BKvWBCDdTktlY8X93Mlo9E0=">
        <file path="boost/url/params_ref.hpp" line="80" class="def"/>
        <file path="boost/url/impl/params_encoded_base.hpp" line="20"/>
        <base>
          <type id="paRP7A1SOQlKcnfXhxL4FgbVXKs=" name="params_base"/>
        </base>
        <doc>
          <para>
            <text>A view representing query parameters in a URL</text>
          </para>
          <para>
            <text>Objects of this type are used to interpret</text>
            <text>    the query parameters as a bidirectional view</text>
            <text>    of key/value pairs.</text>
            <text>    The view does not retain ownership of the</text>
            <text>    elements and instead references the original</text>
            <text>    url. The caller is responsible for ensuring</text>
            <text>    that the lifetime of the referenced url</text>
            <text>    extends until it is no longer referenced.</text>
            <text>    The view is modifiable; calling non-const</text>
            <text>    members causes changes to the referenced</text>
            <text>    url.</text>
          </para>
          <para>
            <text></text>
          </para>
          <para>
            <text>Percent escapes in strings returned when</text>
            <text>    dereferencing iterators are automatically</text>
            <text>    decoded.</text>
            <text>    Reserved characters in strings supplied</text>
            <text>    to modifier functions are automatically</text>
            <text>    percent-escaped.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    url u( &quot;?first=John&amp;last=Doe&quot; );</text>
            <text></text>
            <text>    params_ref p = u.params();</text>
          </code>
          <head>Iterator Invalidation</head>
          <para>
            <text>    Changes to the underlying character buffer</text>
            <text>    can invalidate iterators which reference it.</text>
            <text>    Modifications made through the container</text>
            <text>    invalidate some or all iterators:</text>
            <text></text>
          </para>
          <listitem>
            <reference id="9dmdqhFa/biHl8nWL0gfEGmBUo8=">append</reference>
            <text> : Only `end()`.</text>
          </listitem>
          <listitem>
            <reference id="mLxo7H9l4Px927KeVSp49qknJt4=">assign</reference>
            <text>,</text>
            <reference id="/ZH/B/Ue7rMuRZ41OiOL9pCngTk=">clear</reference>
            <text>,        `operator=` : All elements.</text>
          </listitem>
          <listitem>
            <reference id="WmulA0OfqfxzcY4Wk4glpm6tbMs=">erase</reference>
            <text> : Erased elements and all</text>
            <text>        elements after (including `end()`).</text>
          </listitem>
          <listitem>
            <reference id="inqCN/guAaHuyerzHhXfXMB8zGE=">insert</reference>
            <text> : All elements at or after</text>
            <text>        the insertion point (including `end()`).</text>
          </listitem>
          <listitem>
            <reference id="3Ong3jX1kscAlsfcWm5LXW6Filc=">replace</reference>
            <text>,</text>
            <reference id="EGjhOkY1INrpzeQENVRQb2nwmx8=">set</reference>
            <text> : Modified</text>
            <text>        elements and all elements</text>
            <text>        after (including `end()`).</text>
          </listitem>
        </doc>
        <function class="constructor" name="params_ref" id="sEFiwKk140EO8Nr99+hbevJSBAY=">
          <file path="boost/url/params_ref.hpp" line="120" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="8S83BKvWBCDdTktlY8X93Mlo9E0=" name="params_ref" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>After construction, both views</text>
              <text>        reference the same url. Ownership is not</text>
              <text>        transferred; the caller is responsible</text>
              <text>        for ensuring the lifetime of the url</text>
              <text>        extends until it is no longer</text>
              <text>        referenced.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        &amp;this-&gt;url() == &amp;other.url()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <param name="other">
              <text>The other view.</text>
            </param>
          </doc>
        </function>
        <function class="constructor" name="params_ref" exception-spec="noexcept" id="nMkYq7qSUKlxmHWVMHNJz50kvFE=">
          <file path="boost/url/impl/params_ref.hpp" line="39" class="def"/>
          <file path="boost/url/params_ref.hpp" line="153"/>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="8S83BKvWBCDdTktlY8X93Mlo9E0=" name="params_ref" cv-qualifiers="const"/>
            </type>
          </param>
          <param name="opt">
            <type id="Bb04pNwExynJkzlY9a9GCeeB13k=" name="encoding_opts"/>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>After construction, both views will</text>
              <text>        reference the same url but this</text>
              <text>        instance will use the specified</text>
              <reference id="Bb04pNwExynJkzlY9a9GCeeB13k=">encoding_opts</reference>
              <text> when the values</text>
              <text>        are decoded.</text>
            </para>
            <para>
              <text>Ownership is not transferred; the</text>
              <text>        caller is responsible for ensuring</text>
              <text>        the lifetime of the url extends</text>
              <text>        until it is no longer referenced.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        &amp;this-&gt;url() == &amp;other.url()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <param name="other">
              <text>The other view.</text>
            </param>
            <param name="opt">
              <text>The options for decoding. If</text>
              <text>        this parameter is omitted, `space_as_plus`</text>
              <text>        is used.</text>
            </param>
          </doc>
        </function>
        <function name="operator=" id="y7lcSqZgZM2dEqOvc9CWe1OF10c=">
          <file path="boost/url/params_ref.hpp" line="184"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="8S83BKvWBCDdTktlY8X93Mlo9E0=" name="params_ref"/>
            </type>
          </return>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="8S83BKvWBCDdTktlY8X93Mlo9E0=" name="params_ref" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>The previous contents of this are</text>
              <text>        replaced by the contents of `other.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <para class="note">
              <text>The strings referenced by `other`</text>
              <text>        must not come from the underlying url,</text>
              <text>        or else the behavior is undefined.</text>
            </para>
            <head>Effects</head>
            <code>
              <text>        this-&gt;assign( other.begin(), other.end() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `other.buffer().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="other">
              <text>The params to assign.</text>
            </param>
          </doc>
        </function>
        <function name="operator=" id="M5JVAM7+RTTSS2rASnsI5EUT3nE=">
          <file path="boost/url/impl/params_ref.hpp" line="48" class="def"/>
          <file path="boost/url/params_ref.hpp" line="214"/>
          <attr id="has-trailing-return"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="8S83BKvWBCDdTktlY8X93Mlo9E0=" name="params_ref"/>
            </type>
          </return>
          <param name="init">
            <type name="std::initializer_list&lt;param_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>After assignment, the previous contents</text>
              <text>        of the query parameters are replaced by</text>
              <text>        the contents of the initializer-list.</text>
            </para>
            <head>Preconditions</head>
            <para>
              <text>        None of character buffers referenced by</text>
              <text>        `init` may overlap the character buffer of</text>
              <text>        the underlying url, or else the behavior</text>
              <text>        is undefined.</text>
            </para>
            <head>Effects</head>
            <code>
              <text>        this-&gt;assign( init );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `init.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="init">
              <text>The list of params to assign.</text>
            </param>
          </doc>
        </function>
        <function class="conversion" name="operator params_view" exception-spec="noexcept" id="N+s3ZvmEa8MkvVluiPBiQWSSM4U=">
          <file path="boost/url/params_ref.hpp" line="221"/>
          <attr id="is-const"/>
          <return>
            <type id="DzqMpaJX2O25vPFxEN5EDTyU6uw=" name="params_view"/>
          </return>
          <doc>
            <para>
              <text>Conversion</text>
            </para>
          </doc>
        </function>
        <function name="url" exception-spec="noexcept" id="40HPQpiad5IvD+unAuZCj3AHuA0=">
          <file path="boost/url/params_ref.hpp" line="247" class="def"/>
          <attr id="is-const"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Return the referenced url</text>
            </para>
            <para>
              <text>This function returns the url referenced</text>
              <text>        by the view.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;?key=value&quot; );</text>
              <text></text>
              <text>        assert( &amp;u.segments().url() == &amp;u );</text>
            </code>
            <head>Exception Safety</head>
            <code>
              <text>        Throws nothing.</text>
            </code>
          </doc>
        </function>
        <function name="clear" exception-spec="noexcept" id="/ZH/B/Ue7rMuRZ41OiOL9pCngTk=">
          <file path="boost/url/impl/params_ref.hpp" line="65" class="def"/>
          <file path="boost/url/params_ref.hpp" line="280"/>
          <doc>
            <para>
              <text>Clear the contents of the container</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <head>Effects</head>
            <code>
              <text>        this-&gt;url().remove_query();</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;empty() == true &amp;&amp; this-&gt;url().has_query() == false</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="assign" id="mLxo7H9l4Px927KeVSp49qknJt4=">
          <file path="boost/url/params_ref.hpp" line="315"/>
          <param name="init">
            <type name="std::initializer_list&lt;param_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Assign elements</text>
            </para>
            <para>
              <text>This function replaces the entire</text>
              <text>        contents of the view with the params</text>
              <text>        in the</text>
              <italic>initializer-list</italic>
              <text>.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <para class="note">
              <text>The strings referenced by the inputs</text>
              <text>        must not come from the underlying url,</text>
              <text>        or else the behavior is undefined.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u;</text>
              <text></text>
              <text>        u.params().assign( {{ &quot;first&quot;, &quot;John&quot; }, { &quot;last&quot;, &quot;Doe&quot; }} );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `init.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="init">
              <text>The list of params to assign.</text>
            </param>
          </doc>
        </function>
        <template>
          <tparam name="FwdIt" class="type"/>
          <function name="assign" id="LwZqprqmiVZ1AhFQAYs6kPgTFmM=">
            <file path="boost/url/impl/params_ref.hpp" line="76" class="def"/>
            <file path="boost/url/params_ref.hpp" line="350"/>
            <param name="first">
              <type name="FwdIt"/>
            </param>
            <param name="last">
              <type name="FwdIt"/>
            </param>
            <doc>
              <para>
                <text>Assign elements</text>
              </para>
              <para>
                <text>This function replaces the entire</text>
                <text>        contents of the view with the params</text>
                <text>        in the range.</text>
              </para>
              <para>
                <text></text>
                <text>        All iterators are invalidated.</text>
              </para>
              <para class="note">
                <text>The strings referenced by the inputs</text>
                <text>        must not come from the underlying url,</text>
                <text>        or else the behavior is undefined.</text>
              </para>
              <head>Mandates</head>
              <code>
                <text>        std::is_convertible&lt; std::iterator_traits&lt; FwdIt &gt;::reference_type, param_view &gt;::value == true</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in the size of the range.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Strong guarantee.</text>
                <text>        Calls to allocate may throw.</text>
              </para>
              <param name="first,">
                <text>last The range of params</text>
                <text>        to assign.</text>
              </param>
            </doc>
          </function>
        </template>
        <function name="append" id="9dmdqhFa/biHl8nWL0gfEGmBUo8=">
          <file path="boost/url/impl/params_ref.hpp" line="97" class="def"/>
          <file path="boost/url/params_ref.hpp" line="380"/>
          <attr id="has-trailing-return"/>
          <return>
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </return>
          <param name="p">
            <type class="lvalue-reference">
              <pointee-type id="C+IWBHRl3NluE4QVhoCkgb59VAc=" name="param_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Append elements</text>
            </para>
            <para>
              <text>This function appends a param to the view.</text>
            </para>
            <para>
              <text></text>
              <text>        The `end()` iterator is invalidated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u;</text>
              <text></text>
              <text>        u.params().append( { &quot;first&quot;, &quot;John&quot; } );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <returns>
              <text>An iterator to the new element.</text>
            </returns>
            <param name="p">
              <text>The param to append.</text>
            </param>
          </doc>
        </function>
        <function name="append" id="fjlyWxUJQyQcMmoOTMLD7pArcvU=">
          <file path="boost/url/impl/params_ref.hpp" line="107" class="def"/>
          <file path="boost/url/params_ref.hpp" line="410"/>
          <attr id="has-trailing-return"/>
          <return>
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </return>
          <param name="init">
            <type name="std::initializer_list&lt;param_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Append elements</text>
            </para>
            <para>
              <text>This function appends the params in</text>
              <text>        an</text>
              <italic>initializer-list</italic>
              <text> to the view.</text>
            </para>
            <para>
              <text></text>
              <text>        The `end()` iterator is invalidated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u;</text>
              <text></text>
              <text>        u.params().append({ { &quot;first&quot;, &quot;John&quot; }, { &quot;last&quot;, &quot;Doe&quot; } });</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <returns>
              <text>An iterator to the first new element.</text>
            </returns>
            <param name="init">
              <text>The list of params to append.</text>
            </param>
          </doc>
        </function>
        <template>
          <tparam name="FwdIt" class="type"/>
          <function name="append" id="yoPRc7gpSHSSVGYMIP4R2eDg8IM=">
            <file path="boost/url/impl/params_ref.hpp" line="119" class="def"/>
            <file path="boost/url/params_ref.hpp" line="446"/>
            <attr id="has-trailing-return"/>
            <return>
              <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
            </return>
            <param name="first">
              <type name="FwdIt"/>
            </param>
            <param name="last">
              <type name="FwdIt"/>
            </param>
            <doc>
              <para>
                <text>Append elements</text>
              </para>
              <para>
                <text>This function appends a range of params</text>
                <text>        to the view.</text>
              </para>
              <para>
                <text></text>
                <text>        The `end()` iterator is invalidated.</text>
              </para>
              <para class="note">
                <text>The strings referenced by the inputs</text>
                <text>        must not come from the underlying url,</text>
                <text>        or else the behavior is undefined.</text>
              </para>
              <head>Mandates</head>
              <code>
                <text>        std::is_convertible&lt; std::iterator_traits&lt; FwdIt &gt;::reference_type, param_view &gt;::value == true</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Strong guarantee.</text>
                <text>        Calls to allocate may throw.</text>
              </para>
              <returns>
                <text>An iterator to the first new element.</text>
              </returns>
              <param name="first,">
                <text>last The range of params</text>
                <text>        to append.</text>
              </param>
            </doc>
          </function>
        </template>
        <function name="insert" id="inqCN/guAaHuyerzHhXfXMB8zGE=">
          <file path="boost/url/params_ref.hpp" line="477"/>
          <return>
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </return>
          <param name="before">
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </param>
          <param name="p">
            <type class="lvalue-reference">
              <pointee-type id="C+IWBHRl3NluE4QVhoCkgb59VAc=" name="param_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Insert elements</text>
            </para>
            <para>
              <text>This function inserts a param</text>
              <text>        before the specified position.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `before` or come after are invalidated.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <returns>
              <text>An iterator to the inserted</text>
              <text>        element.</text>
            </returns>
            <param name="before">
              <text>An iterator before which</text>
              <text>        the param is inserted. This may</text>
              <text>        be equal to `end()`.</text>
            </param>
            <param name="p">
              <text>The param to insert.</text>
            </param>
          </doc>
        </function>
        <function name="insert" id="IRCrEu1TQqmMtrFIkqKWnML3s+I=">
          <file path="boost/url/params_ref.hpp" line="514"/>
          <return>
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </return>
          <param name="before">
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </param>
          <param name="init">
            <type name="std::initializer_list&lt;param_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Insert elements</text>
            </para>
            <para>
              <text>This function inserts the params in</text>
              <text>        an</text>
              <italic>initializer-list</italic>
              <text> before</text>
              <text>        the specified position.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `before` or come after are invalidated.</text>
            </para>
            <para class="note">
              <text>The strings referenced by the inputs</text>
              <text>        must not come from the underlying url,</text>
              <text>        or else the behavior is undefined.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <returns>
              <text>An iterator to the first</text>
              <text>        element inserted, or `before` if</text>
              <text>        `init.size() == 0`.</text>
            </returns>
            <param name="before">
              <text>An iterator before which</text>
              <text>        the element is inserted. This may</text>
              <text>        be equal to `end()`.</text>
            </param>
            <param name="init">
              <text>The list of params to insert.</text>
            </param>
          </doc>
        </function>
        <template>
          <tparam name="FwdIt" class="type"/>
          <function name="insert" id="WG2hvXXhfS6dlnyW9UY3PkUCvgQ=">
            <file path="boost/url/impl/params_ref.hpp" line="141" class="def"/>
            <file path="boost/url/params_ref.hpp" line="558"/>
            <attr id="has-trailing-return"/>
            <return>
              <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
            </return>
            <param name="before">
              <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
            </param>
            <param name="first">
              <type name="FwdIt"/>
            </param>
            <param name="last">
              <type name="FwdIt"/>
            </param>
            <doc>
              <para>
                <text>Insert elements</text>
              </para>
              <para>
                <text>This function inserts a range of</text>
                <text>        params before the specified position.</text>
              </para>
              <para>
                <text></text>
                <text>        All iterators that are equal to</text>
                <text>        `before` or come after are invalidated.</text>
              </para>
              <para class="note">
                <text>The strings referenced by the inputs</text>
                <text>        must not come from the underlying url,</text>
                <text>        or else the behavior is undefined.</text>
              </para>
              <head>Mandates</head>
              <code>
                <text>        std::is_convertible&lt; std::iterator_traits&lt; FwdIt &gt;::reference_type, param_view &gt;::value == true</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Strong guarantee.</text>
                <text>        Calls to allocate may throw.</text>
              </para>
              <returns>
                <text>An iterator to the first</text>
                <text>        element inserted, or `before` if</text>
                <text>        `first == last`.</text>
              </returns>
              <param name="before">
                <text>An iterator before which</text>
                <text>        the element is inserted. This may</text>
                <text>        be equal to `end()`.</text>
              </param>
              <param name="first,">
                <text>last The range of params</text>
                <text>        to insert.</text>
              </param>
            </doc>
          </function>
        </template>
        <function name="erase" exception-spec="noexcept" id="WmulA0OfqfxzcY4Wk4glpm6tbMs=">
          <file path="boost/url/params_ref.hpp" line="595"/>
          <return>
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </return>
          <param name="pos">
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </param>
          <doc>
            <para>
              <text>Erase elements</text>
            </para>
            <para>
              <text>This function removes an element from</text>
              <text>        the container.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `pos` or come after are invalidated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;?first=John&amp;last=Doe&quot; );</text>
              <text></text>
              <text>        params_ref::iterator it = u.params().erase( u.params().begin() );</text>
              <text></text>
              <text>        assert( u.encoded_query() == &quot;last=Doe&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <returns>
              <text>An iterator to one past</text>
              <text>        the removed element.</text>
            </returns>
            <param name="pos">
              <text>An iterator to the element.</text>
            </param>
          </doc>
        </function>
        <function name="erase" exception-spec="noexcept" id="+dVMjzbVrt65BpN7a/wkVYfHY7Q=">
          <file path="boost/url/params_ref.hpp" line="619"/>
          <return>
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </return>
          <param name="first">
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </param>
          <param name="last">
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </param>
          <doc>
            <para>
              <text>Erase elements</text>
            </para>
            <para>
              <text>This function removes a range of elements</text>
              <text>        from the container.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `first` or come after are invalidated.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <returns>
              <text>An iterator to one past</text>
              <text>        the removed range.</text>
            </returns>
            <param name="first,">
              <text>last The range of</text>
              <text>        elements to erase.</text>
            </param>
          </doc>
        </function>
        <function name="erase" exception-spec="noexcept" id="B2A7bnSaKkVCI5zd9gB1DuklqpI=">
          <file path="boost/url/params_ref.hpp" line="652"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <param name="key">
            <type name="core::string_view"/>
          </param>
          <param name="ic" default="= {}">
            <type id="RATceEbebMWrhFXGkG2RDFi+7WY=" name="ignore_case_param"/>
          </param>
          <doc>
            <para>
              <text>Erase elements</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;count( key, ic ) == 0</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <returns>
              <text>The number of elements removed</text>
              <text>        from the container.</text>
            </returns>
            <param name="key">
              <text>The key to match.</text>
              <text>        By default, a case-sensitive</text>
              <text>        comparison is used.</text>
            </param>
            <param name="ic">
              <text>An optional parameter. If</text>
              <text>        the value</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text> is passed</text>
              <text>        here, the comparison is</text>
              <text>        case-insensitive.</text>
            </param>
          </doc>
        </function>
        <function name="replace" id="3Ong3jX1kscAlsfcWm5LXW6Filc=">
          <file path="boost/url/params_ref.hpp" line="691"/>
          <return>
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </return>
          <param name="pos">
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </param>
          <param name="p">
            <type class="lvalue-reference">
              <pointee-type id="C+IWBHRl3NluE4QVhoCkgb59VAc=" name="param_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Replace elements</text>
            </para>
            <para>
              <text>This function replaces the contents</text>
              <text>        of the element at `pos` with the</text>
              <text>        specified param.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `pos` or come after are invalidated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;?first=John&amp;last=Doe&quot; );</text>
              <text></text>
              <text>        u.params().replace( u.params().begin(), { &quot;title&quot;, &quot;Mr&quot; });</text>
              <text></text>
              <text>        assert( u.encoded_query() == &quot;title=Mr&amp;last=Doe&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <returns>
              <text>An iterator to the element.</text>
            </returns>
            <param name="pos">
              <text>An iterator to the element.</text>
            </param>
            <param name="p">
              <text>The param to assign.</text>
            </param>
          </doc>
        </function>
        <function name="replace" id="s9ZmYRgGWJePYL0aEbZJYvns6xo=">
          <file path="boost/url/params_ref.hpp" line="727"/>
          <return>
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </return>
          <param name="from">
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </param>
          <param name="to">
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </param>
          <param name="init">
            <type name="std::initializer_list&lt;param_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Replace elements</text>
            </para>
            <para>
              <text>This function replaces a range of</text>
              <text>        elements with the params in an</text>
              <italic>initializer-list</italic>
              <text>.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `from` or come after are invalidated.</text>
            </para>
            <para class="note">
              <text>The strings referenced by the inputs</text>
              <text>        must not come from the underlying url,</text>
              <text>        or else the behavior is undefined.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <returns>
              <text>An iterator to the first</text>
              <text>        element inserted, or one past `to` if</text>
              <text>        `init.size() == 0`.</text>
            </returns>
            <param name="from,to">
              <text>The range of elements</text>
              <text>        to replace.</text>
            </param>
            <param name="init">
              <text>The list of params to assign.</text>
            </param>
          </doc>
        </function>
        <template>
          <tparam name="FwdIt" class="type"/>
          <function name="replace" id="EJy3xCbYPsCPW98ynKOOoB4ZWmM=">
            <file path="boost/url/impl/params_ref.hpp" line="170" class="def"/>
            <file path="boost/url/params_ref.hpp" line="771"/>
            <attr id="has-trailing-return"/>
            <return>
              <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
            </return>
            <param name="from">
              <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
            </param>
            <param name="to">
              <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
            </param>
            <param name="first">
              <type name="FwdIt"/>
            </param>
            <param name="last">
              <type name="FwdIt"/>
            </param>
            <doc>
              <para>
                <text>Replace elements</text>
              </para>
              <para>
                <text>This function replaces a range of</text>
                <text>        elements with a range of params.</text>
              </para>
              <para>
                <text></text>
                <text>        All iterators that are equal to</text>
                <text>        `from` or come after are invalidated.</text>
              </para>
              <para class="note">
                <text>The strings referenced by the inputs</text>
                <text>        must not come from the underlying url,</text>
                <text>        or else the behavior is undefined.</text>
              </para>
              <head>Mandates</head>
              <code>
                <text>        std::is_convertible&lt; std::iterator_traits&lt; FwdIt &gt;::reference_type, param_view &gt;::value == true</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Strong guarantee.</text>
                <text>        Calls to allocate may throw.</text>
              </para>
              <returns>
                <text>An iterator to the first</text>
                <text>        element inserted, or one past `to` if</text>
                <text>        `first == last`.</text>
              </returns>
              <param name="from,to">
                <text>The range of elements to</text>
                <text>        replace.</text>
              </param>
              <param name="first,">
                <text>last The range of params</text>
                <text>        to assign.</text>
              </param>
            </doc>
          </function>
        </template>
        <function name="unset" exception-spec="noexcept" id="jxURKYVSYJoxZiuBOnhDenCs1rA=">
          <file path="boost/url/params_ref.hpp" line="810"/>
          <return>
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </return>
          <param name="pos">
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </param>
          <doc>
            <para>
              <text>Remove the value on an element</text>
            </para>
            <para>
              <text>This function removes the value of</text>
              <text>        an element at the specified position.</text>
              <text>        After the call returns, `has_value`</text>
              <text>        for the element is false.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `pos` or come after are invalidated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;?first=John&amp;last=Doe&quot; );</text>
              <text></text>
              <text>        u.params().unset( u.params().begin() );</text>
              <text></text>
              <text>        assert( u.encoded_query() == &quot;first&amp;last=Doe&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <returns>
              <text>An iterator to the element.</text>
            </returns>
            <param name="pos">
              <text>An iterator to the element.</text>
            </param>
          </doc>
        </function>
        <function name="set" id="mCYtesr8JFdY7xoHpmszJaRsXUo=">
          <file path="boost/url/params_ref.hpp" line="848"/>
          <return>
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </return>
          <param name="pos">
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </param>
          <param name="value">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Set a value</text>
            </para>
            <para>
              <text>This function replaces the value of an</text>
              <text>        element at the specified position.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `pos` or come after are invalidated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;?id=42&amp;id=69&quot; );</text>
              <text></text>
              <text>        u.params().set( u.params().begin(), &quot;none&quot; );</text>
              <text></text>
              <text>        assert( u.encoded_query() == &quot;id=none&amp;id=69&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <returns>
              <text>An iterator to the element.</text>
            </returns>
            <param name="pos">
              <text>An iterator to the element.</text>
            </param>
            <param name="value">
              <text>The value to assign. The</text>
              <text>        empty string still counts as a value.</text>
              <text>        That is, `has_value` for the element</text>
              <text>        is true.</text>
            </param>
          </doc>
        </function>
        <function name="set" id="EGjhOkY1INrpzeQENVRQb2nwmx8=">
          <file path="boost/url/params_ref.hpp" line="910"/>
          <return>
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </return>
          <param name="key">
            <type name="core::string_view"/>
          </param>
          <param name="value">
            <type name="core::string_view"/>
          </param>
          <param name="ic" default="= {}">
            <type id="RATceEbebMWrhFXGkG2RDFi+7WY=" name="ignore_case_param"/>
          </param>
          <doc>
            <para>
              <text>Set a value</text>
            </para>
            <para>
              <text>This function performs one of two</text>
              <text>        actions depending on the value of</text>
              <text>        `this-&gt;contains( key, ic )`.</text>
            </para>
            <listitem>
              <text>If key is contained in the view</text>
              <text>        then one of the matching elements has</text>
              <text>        its value changed to the specified value.</text>
              <text>        The remaining elements with a matching</text>
              <text>        key are erased. Otherwise,</text>
            </listitem>
            <listitem>
              <text>If `key` is not contained in the</text>
              <text>        view, then the function apppends the</text>
              <text>        param `{ key, value }`.</text>
            </listitem>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;?id=42&amp;id=69&quot; );</text>
              <text></text>
              <text>        u.params().set( &quot;id&quot;, &quot;none&quot; );</text>
              <text></text>
              <text>        assert( u.params().count( &quot;id&quot; ) == 1 );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;count( key, ic ) == 1 &amp;&amp; this-&gt;find( key, ic )-&gt;value == value</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <returns>
              <text>An iterator to the appended</text>
              <text>        or modified element.</text>
            </returns>
            <param name="key">
              <text>The key to match.</text>
              <text>        By default, a case-sensitive</text>
              <text>        comparison is used.</text>
            </param>
            <param name="value">
              <text>The value to assign. The</text>
              <text>        empty string still counts as a value.</text>
              <text>        That is, `has_value` for the element</text>
              <text>        is true.</text>
            </param>
            <param name="ic">
              <text>An optional parameter. If</text>
              <text>        the value</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text> is passed</text>
              <text>        here, the comparison is</text>
              <text>        case-insensitive.</text>
            </param>
          </doc>
        </function>
      </class>
      <function name="operator==" exception-spec="noexcept" id="3b8LtWJdyf2AUFgD88j68/LgT7s=">
        <file path="boost/url/impl/params_encoded_base.hpp" line="97" class="def"/>
        <attr id="operator" name="eq" value="30"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="it0">
          <type class="lvalue-reference">
            <pointee-type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="it1">
          <type class="lvalue-reference">
            <pointee-type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator" cv-qualifiers="const"/>
          </type>
        </param>
      </function>
      <function name="operator!=" exception-spec="noexcept" id="+mbgraIEKxYlGRnrtbl+juVak7Y=">
        <file path="boost/url/impl/params_encoded_base.hpp" line="106" class="def"/>
        <attr id="operator" name="not_eq" value="31"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="it0">
          <type class="lvalue-reference">
            <pointee-type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="it1">
          <type class="lvalue-reference">
            <pointee-type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator" cv-qualifiers="const"/>
          </type>
        </param>
      </function>
      <class name="params_base" id="paRP7A1SOQlKcnfXhxL4FgbVXKs=">
        <file path="boost/url/params_base.hpp" line="39" class="def"/>
        <doc>
          <para>
            <text>Common functionality for containers</text>
          </para>
          <para>
            <text>This base class is used by the library</text>
            <text>    to provide common member functions for</text>
            <text>    containers. This cannot be instantiated</text>
            <text>    directly; Instead, use one of the</text>
            <text>    containers or functions:</text>
          </para>
          <head>Containers</head>
          <listitem>
            <reference id="8S83BKvWBCDdTktlY8X93Mlo9E0=">params_ref</reference>
          </listitem>
          <listitem>
            <reference id="DzqMpaJX2O25vPFxEN5EDTyU6uw=">params_view</reference>
          </listitem>
          <listitem>
            <reference id="oR5B5D0/JYTOQYvyFXRv+at91JE=">params_encoded_ref</reference>
          </listitem>
          <listitem>
            <reference id="0nSfM4mK92fIx58KtzdWGiHuq2w=">params_encoded_view</reference>
          </listitem>
        </doc>
        <class name="iterator" id="maJcbp53hfhQNovBi8QEK/+HTzw=">
          <file path="boost/url/impl/params_base.hpp" line="22" class="def"/>
          <file path="boost/url/params_base.hpp" line="91"/>
          <alias name="value_type" id="fGvk08+2baJ2O5R/s8+1fr+0uDo=">
            <file path="boost/url/impl/params_base.hpp" line="48" class="def"/>
            <type id="/wVpdYewE+NKvN60EGcgNiIZ+Mc=" name="params_base::value_type"/>
          </alias>
          <alias name="reference" id="rX7NIqdzBYksIsYE8u/t40QYKDs=">
            <file path="boost/url/impl/params_base.hpp" line="49" class="def"/>
            <type id="8Hg/5b5RDYgIk/T6aP0tPj0HbSc=" name="params_base::reference"/>
          </alias>
          <alias name="pointer" id="4uNg87wL1qLUhfm/fIdLyw4Zh30=">
            <file path="boost/url/impl/params_base.hpp" line="50" class="def"/>
            <type id="rX7NIqdzBYksIsYE8u/t40QYKDs=" name="reference"/>
          </alias>
          <alias name="difference_type" id="SIIvgNk252y8QjrDR2tsmofvPms=">
            <file path="boost/url/impl/params_base.hpp" line="51" class="def"/>
            <type id="4jo6j51QPa7nfAiEWAM6LJc4fLs=" name="params_base::difference_type"/>
          </alias>
          <alias name="iterator_category" id="+rqkmuLMEExSv5aN2hjaUTuOPnY=">
            <file path="boost/url/impl/params_base.hpp" line="53" class="def"/>
            <type name="std::bidirectional_iterator_tag"/>
          </alias>
          <function class="constructor" name="iterator" id="xZqDNSn+TDceayoT4MVrgKb0vvs=">
            <file path="boost/url/impl/params_base.hpp" line="56" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
          </function>
          <function class="constructor" name="iterator" id="BDgZJmNgtF0BP4xojcpsYGO6/4Y=">
            <file path="boost/url/impl/params_base.hpp" line="57" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <attr id="constexpr-kind" name="constexpr" value="1"/>
            <param>
              <type class="lvalue-reference">
                <pointee-type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="operator=" exception-spec="noexcept" id="1PJ5kloxrniC6gnTD+nR9VV7Osw=">
            <file path="boost/url/impl/params_base.hpp" line="58" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <attr id="operator" name="assign" value="15"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
              </type>
            </return>
            <param>
              <type class="lvalue-reference">
                <pointee-type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="operator++" exception-spec="noexcept" id="GTHNLtlbgldwditga3eEeHUeW48=">
            <file path="boost/url/impl/params_base.hpp" line="61" class="def"/>
            <attr id="operator" name="inc" value="37"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
              </type>
            </return>
          </function>
          <function name="operator++" exception-spec="noexcept" id="k/r7f+34Wgddu8v2z7YwPrrdIQc=">
            <file path="boost/url/impl/params_base.hpp" line="68" class="def"/>
            <attr id="operator" name="inc" value="37"/>
            <return>
              <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
            </return>
            <param>
              <type name="int"/>
            </param>
          </function>
          <function name="operator--" exception-spec="noexcept" id="zq2XG/tYicB+2U4JA4KTrxUyA7I=">
            <file path="boost/url/impl/params_base.hpp" line="76" class="def"/>
            <attr id="operator" name="dec" value="38"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
              </type>
            </return>
          </function>
          <function name="operator--" exception-spec="noexcept" id="gmrHF88WG8srlPHMR5pwozoNjuM=">
            <file path="boost/url/impl/params_base.hpp" line="83" class="def"/>
            <attr id="operator" name="dec" value="38"/>
            <return>
              <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
            </return>
            <param>
              <type name="int"/>
            </param>
          </function>
          <function name="operator*" id="mkH0HjX+hwX0UumWZG8w0bqzgWA=">
            <file path="boost/url/impl/params_base.hpp" line="91"/>
            <attr id="operator" name="star" value="7"/>
            <attr id="is-const"/>
            <return>
              <type id="rX7NIqdzBYksIsYE8u/t40QYKDs=" name="reference"/>
            </return>
          </function>
          <function name="operator-&gt;" id="7tNZjnkFqpFgCe+M2Obx+sY17fw=">
            <file path="boost/url/impl/params_base.hpp" line="95" class="def"/>
            <attr id="is-deleted"/>
            <attr id="is-deleted-as-written"/>
            <attr id="operator" name="ptr" value="41"/>
            <attr id="is-const"/>
            <return>
              <type id="4uNg87wL1qLUhfm/fIdLyw4Zh30=" name="pointer"/>
            </return>
          </function>
          <function name="operator==" exception-spec="noexcept" id="IS79Ft4U/d3PIb9QbX78gVdN1OA=">
            <file path="boost/url/impl/params_base.hpp" line="97" class="def"/>
            <attr id="operator" name="eq" value="30"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="other">
              <type class="lvalue-reference">
                <pointee-type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
          <function name="operator!=" exception-spec="noexcept" id="L6pXC2LBh2EoqeS0/Jj2g/QdsfA=">
            <file path="boost/url/impl/params_base.hpp" line="104" class="def"/>
            <attr id="operator" name="not_eq" value="31"/>
            <attr id="is-const"/>
            <return>
              <type name="bool"/>
            </return>
            <param name="other">
              <type class="lvalue-reference">
                <pointee-type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator" cv-qualifiers="const"/>
              </type>
            </param>
          </function>
        </class>
        <alias name="const_iterator" id="4XRIDzJtD8YcNf6ybgP1JlmdPbE=">
          <file path="boost/url/params_base.hpp" line="95" class="def"/>
          <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          <doc>
            <para>
              <copydoc id="maJcbp53hfhQNovBi8QEK/+HTzw=">iterator</copydoc>
            </para>
          </doc>
        </alias>
        <alias name="value_type" id="/wVpdYewE+NKvN60EGcgNiIZ+Mc=">
          <file path="boost/url/params_base.hpp" line="111" class="def"/>
          <type id="fsdT8sbwW/lniPI5gqvIf2JMGBM=" name="param"/>
          <doc>
            <para>
              <text>The value type</text>
            </para>
            <para>
              <text>Values of this type represent parameters</text>
              <text>        whose strings retain unique ownership by</text>
              <text>        making a copy.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        params_view::value_type qp( *url_view( &quot;?first=John&amp;last=Doe&quot; ).params().find( &quot;first&quot; ) );</text>
            </code>
            <see>
              <reference id="fsdT8sbwW/lniPI5gqvIf2JMGBM=">param</reference>
              <text>.</text>
            </see>
          </doc>
        </alias>
        <alias name="reference" id="8Hg/5b5RDYgIk/T6aP0tPj0HbSc=">
          <file path="boost/url/params_base.hpp" line="121" class="def"/>
          <type id="fsdT8sbwW/lniPI5gqvIf2JMGBM=" name="param"/>
          <doc>
            <para>
              <text>The reference type</text>
            </para>
            <para>
              <text>This is the type of value returned when</text>
              <text>        iterators of the view are dereferenced.</text>
            </para>
            <see>
              <reference id="C+IWBHRl3NluE4QVhoCkgb59VAc=">param_view</reference>
              <text>.</text>
            </see>
          </doc>
        </alias>
        <alias name="const_reference" id="/aPvkkBZhzgeMb2UCNaJ1s5c6oQ=">
          <file path="boost/url/params_base.hpp" line="124" class="def"/>
          <type id="fsdT8sbwW/lniPI5gqvIf2JMGBM=" name="param"/>
          <doc>
            <para>
              <copydoc id="8Hg/5b5RDYgIk/T6aP0tPj0HbSc=">reference</copydoc>
            </para>
          </doc>
        </alias>
        <alias name="size_type" id="cFqtE5widJnnA8qwGOBnkhkdR6Y=">
          <file path="boost/url/params_base.hpp" line="128" class="def"/>
          <type name="std::size_t"/>
          <doc>
            <para>
              <text>An unsigned integer type to represent sizes.</text>
            </para>
          </doc>
        </alias>
        <alias name="difference_type" id="4jo6j51QPa7nfAiEWAM6LJc4fLs=">
          <file path="boost/url/params_base.hpp" line="132" class="def"/>
          <type name="std::ptrdiff_t"/>
          <doc>
            <para>
              <text>A signed integer type used to represent differences.</text>
            </para>
          </doc>
        </alias>
        <function name="max_size" exception-spec="noexcept" id="JAc718f//bzvETv8VNPf4ujJ2G8=">
          <file path="boost/url/params_base.hpp" line="149" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="storage-class" name="static" value="2"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <doc>
            <para>
              <text>Return the maximum number of characters possible</text>
            </para>
            <para>
              <text>This represents the largest number of</text>
              <text>        characters that are possible in a path,</text>
              <text>        not including any null terminator.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="buffer" exception-spec="noexcept" id="cpczYPJifQzreeaLMlFMrIk8geU=">
          <file path="boost/url/params_base.hpp" line="175"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the referenced character buffer.</text>
            </para>
            <para>
              <text>This function returns the character</text>
              <text>        buffer referenced by the view.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;?first=John&amp;last=Doe&quot; ).params().buffer() == &quot;?first=John&amp;last=Doe&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="empty" exception-spec="noexcept" id="VQ4Gk4oWz8OorSDPtJoAWpHsFaI=">
          <file path="boost/url/params_base.hpp" line="191"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if there are no params</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( ! url_view( &quot;?key=value&quot; ).params().empty() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="size" exception-spec="noexcept" id="u/w33vX8w/yA/9Gl176lDHdQs4k=">
          <file path="boost/url/params_base.hpp" line="207"/>
          <attr id="is-const"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <doc>
            <para>
              <text>Return the number of params</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;?key=value&quot;).params().size() == 1 );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="begin" exception-spec="noexcept" id="rgFjw9W6rMjgEYkGOVMDiLJIIdE=">
          <file path="boost/url/params_base.hpp" line="218"/>
          <attr id="is-const"/>
          <return>
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </return>
          <doc>
            <para>
              <text>Return an iterator to the beginning</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in the size of the first param.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="end" exception-spec="noexcept" id="NYG2/rgQQuH/CSw2qObuDUB3DYo=">
          <file path="boost/url/params_base.hpp" line="229"/>
          <attr id="is-const"/>
          <return>
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </return>
          <doc>
            <para>
              <text>Return an iterator to the end</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="contains" exception-spec="noexcept" id="+m1VjI0xtgykFmvRxecqZkXJBNg=">
          <file path="boost/url/params_base.hpp" line="262"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <param name="key">
            <type name="core::string_view"/>
          </param>
          <param name="ic" default="= {}">
            <type id="RATceEbebMWrhFXGkG2RDFi+7WY=" name="ignore_case_param"/>
          </param>
          <doc>
            <para>
              <text>Return true if a matching key exists</text>
            </para>
            <para>
              <text>This function examines the parameters</text>
              <text>        in the container to find a match for</text>
              <text>        the specified key.</text>
              <text>        The comparison is performed as if all</text>
              <text>        escaped characters were decoded first.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;?first=John&amp;last=Doe&quot; ).params().contains( &quot;first&quot; ) );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;buffer().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <param name="key">
              <text>The key to match.</text>
              <text>        By default, a case-sensitive</text>
              <text>        comparison is used.</text>
            </param>
            <param name="ic">
              <text>An optional parameter. If</text>
              <text>        the value</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text> is passed</text>
              <text>        here, the comparison is</text>
              <text>        case-insensitive.</text>
            </param>
          </doc>
        </function>
        <function name="count" exception-spec="noexcept" id="SUQ73EvVipRYcJ2Sg24T8d60qeQ=">
          <file path="boost/url/params_base.hpp" line="296"/>
          <attr id="is-const"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <param name="key">
            <type name="core::string_view"/>
          </param>
          <param name="ic" default="= {}">
            <type id="RATceEbebMWrhFXGkG2RDFi+7WY=" name="ignore_case_param"/>
          </param>
          <doc>
            <para>
              <text>Return the number of matching keys</text>
            </para>
            <para>
              <text>This function examines the</text>
              <text>        parameters in the container to</text>
              <text>        find the number of matches for</text>
              <text>        the specified key.</text>
              <text>        The comparison is performed as if all</text>
              <text>        escaped characters were decoded first.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;?first=John&amp;last=Doe&quot; ).params().count( &quot;first&quot; ) == 1 );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;buffer().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <param name="key">
              <text>The key to match.</text>
              <text>        By default, a case-sensitive</text>
              <text>        comparison is used.</text>
            </param>
            <param name="ic">
              <text>An optional parameter. If</text>
              <text>        the value</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text> is passed</text>
              <text>        here, the comparison is</text>
              <text>        case-insensitive.</text>
            </param>
          </doc>
        </function>
        <function name="find" exception-spec="noexcept" id="mSdbytykajruHQy1W8iyrWbbOmM=">
          <file path="boost/url/params_base.hpp" line="341"/>
          <attr id="is-const"/>
          <return>
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </return>
          <param name="key">
            <type name="core::string_view"/>
          </param>
          <param name="ic" default="= {}">
            <type id="RATceEbebMWrhFXGkG2RDFi+7WY=" name="ignore_case_param"/>
          </param>
          <doc>
            <para>
              <text>Find a matching key</text>
            </para>
            <para>
              <text>This function examines the parameters</text>
              <text>        in the container to find a match for</text>
              <text>        the specified key.</text>
              <text>        The comparison is performed as if all</text>
              <text>        escaped characters were decoded first.</text>
            </para>
            <para>
              <text></text>
            </para>
            <para>
              <text>The search starts from the first param</text>
              <text>        and proceeds forward until either the</text>
              <text>        key is found or the end of the range is</text>
              <text>        reached, in which case `end()` is</text>
              <text>        returned.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( (*url_view( &quot;?first=John&amp;last=Doe&quot; ).params().find( &quot;First&quot;, ignore_case )).value == &quot;John&quot; );</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return this-&gt;find( this-&gt;begin(), key, ic );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;buffer().size()`.</text>
            </para>
            <returns>
              <text>an iterator to the param</text>
            </returns>
            <param name="key">
              <text>The key to match.</text>
              <text>        By default, a case-sensitive</text>
              <text>        comparison is used.</text>
            </param>
            <param name="ic">
              <text>An optional parameter. If</text>
              <text>        the value</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text> is passed</text>
              <text>        here, the comparison is</text>
              <text>        case-insensitive.</text>
            </param>
          </doc>
        </function>
        <function name="find" exception-spec="noexcept" id="Q/NxQl0WFzXMzvRmJDH5BghXp5M=">
          <file path="boost/url/params_base.hpp" line="386"/>
          <attr id="is-const"/>
          <return>
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </return>
          <param name="from">
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </param>
          <param name="key">
            <type name="core::string_view"/>
          </param>
          <param name="ic" default="= {}">
            <type id="RATceEbebMWrhFXGkG2RDFi+7WY=" name="ignore_case_param"/>
          </param>
          <doc>
            <para>
              <text>Find a matching key</text>
            </para>
            <para>
              <text>This function examines the</text>
              <text>        parameters in the container to</text>
              <text>        find a match for the specified key.</text>
              <text>        The comparison is performed as if all</text>
              <text>        escaped characters were decoded first.</text>
            </para>
            <para>
              <text></text>
            </para>
            <para>
              <text>The search starts at `from`</text>
              <text>        and proceeds forward until either the</text>
              <text>        key is found or the end of the range is</text>
              <text>        reached, in which case `end()` is</text>
              <text>        returned.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url_view u( &quot;?First=John&amp;Last=Doe&quot; );</text>
              <text></text>
              <text>        assert( u.params().find( &quot;first&quot; ) != u.params().find( &quot;first&quot;, ignore_case ) );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;buffer().size()`.</text>
            </para>
            <returns>
              <text>an iterator to the param</text>
            </returns>
            <param name="from">
              <text>The position to begin the</text>
              <text>            search from. This can be `end()`.</text>
            </param>
            <param name="key">
              <text>The key to match.</text>
              <text>        By default, a case-sensitive</text>
              <text>        comparison is used.</text>
            </param>
            <param name="ic">
              <text>An optional parameter. If</text>
              <text>        the value</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text> is passed</text>
              <text>        here, the comparison is</text>
              <text>        case-insensitive.</text>
            </param>
          </doc>
        </function>
        <function name="find_last" exception-spec="noexcept" id="T7jam5dZRMsS/ZHAEHdP05Fqlug=">
          <file path="boost/url/params_base.hpp" line="427"/>
          <attr id="is-const"/>
          <return>
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </return>
          <param name="key">
            <type name="core::string_view"/>
          </param>
          <param name="ic" default="= {}">
            <type id="RATceEbebMWrhFXGkG2RDFi+7WY=" name="ignore_case_param"/>
          </param>
          <doc>
            <para>
              <text>Find a matching key</text>
            </para>
            <para>
              <text>This function examines the</text>
              <text>        parameters in the container to</text>
              <text>        find a match for the specified key.</text>
              <text>        The comparison is performed as if all</text>
              <text>        escaped characters were decoded first.</text>
            </para>
            <para>
              <text></text>
            </para>
            <para>
              <text>The search starts from the last param</text>
              <text>        and proceeds backwards until either the</text>
              <text>        key is found or the beginning of the</text>
              <text>        range is reached, in which case `end()`</text>
              <text>        is returned.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( (*url_view( &quot;?first=John&amp;last=Doe&quot; ).params().find_last( &quot;last&quot; )).value == &quot;Doe&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;buffer().size()`.</text>
            </para>
            <returns>
              <text>an iterator to the param</text>
            </returns>
            <param name="key">
              <text>The key to match.</text>
              <text>        By default, a case-sensitive</text>
              <text>        comparison is used.</text>
            </param>
            <param name="ic">
              <text>An optional parameter. If</text>
              <text>        the value</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text> is passed</text>
              <text>        here, the comparison is</text>
              <text>        case-insensitive.</text>
            </param>
          </doc>
        </function>
        <function name="find_last" exception-spec="noexcept" id="2y2ewlvaEuZkWtKX4p7xlBO2wXU=">
          <file path="boost/url/params_base.hpp" line="473"/>
          <attr id="is-const"/>
          <return>
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </return>
          <param name="before">
            <type id="maJcbp53hfhQNovBi8QEK/+HTzw=" name="iterator"/>
          </param>
          <param name="key">
            <type name="core::string_view"/>
          </param>
          <param name="ic" default="= {}">
            <type id="RATceEbebMWrhFXGkG2RDFi+7WY=" name="ignore_case_param"/>
          </param>
          <doc>
            <para>
              <text>Find a matching key</text>
            </para>
            <para>
              <text>This function examines the</text>
              <text>        parameters in the container to</text>
              <text>        find a match for the specified key.</text>
              <text>        The comparison is performed as if all</text>
              <text>        escaped characters were decoded first.</text>
            </para>
            <para>
              <text></text>
            </para>
            <para>
              <text>The search starts prior to `before`</text>
              <text>        and proceeds backwards until either the</text>
              <text>        key is found or the beginning of the</text>
              <text>        range is reached, in which case `end()`</text>
              <text>        is returned.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url_view u( &quot;?First=John&amp;Last=Doe&quot; );</text>
              <text></text>
              <text>        assert( u.params().find_last( &quot;last&quot; ) != u.params().find_last( &quot;last&quot;, ignore_case ) );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;buffer().size()`.</text>
            </para>
            <returns>
              <text>an iterator to the param</text>
            </returns>
            <param name="before">
              <text>One past the position</text>
              <text>        to begin the search from. This can</text>
              <text>        be `end()`.</text>
            </param>
            <param name="key">
              <text>The key to match.</text>
              <text>        By default, a case-sensitive</text>
              <text>        comparison is used.</text>
            </param>
            <param name="ic">
              <text>An optional parameter. If</text>
              <text>        the value</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text> is passed</text>
              <text>        here, the comparison is</text>
              <text>        case-insensitive.</text>
            </param>
          </doc>
        </function>
      </class>
      <function name="operator&lt;&lt;" id="wjh7llL0udXOq6c/9Siig65RA1c=">
        <file path="boost/url/params_base.hpp" line="509"/>
        <attr id="operator" name="lshift" value="26"/>
        <return>
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </return>
        <param name="os">
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </param>
        <param name="qp">
          <type class="lvalue-reference">
            <pointee-type id="paRP7A1SOQlKcnfXhxL4FgbVXKs=" name="params_base" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Format to an output stream</text>
          </para>
          <para>
            <text>Any percent-escapes are emitted as-is;</text>
            <text>    no decoding is performed.</text>
          </para>
          <head>Complexity</head>
          <para>
            <text>    Linear in `ps.buffer().size()`.</text>
          </para>
          <head>Effects</head>
          <code>
            <text>    return os &lt;&lt; ps.buffer();</text>
          </code>
        </doc>
      </function>
      <class name="params_view" id="DzqMpaJX2O25vPFxEN5EDTyU6uw=">
        <file path="boost/url/params_view.hpp" line="47" class="def"/>
        <file path="boost/url/params_ref.hpp" line="25"/>
        <base>
          <type id="paRP7A1SOQlKcnfXhxL4FgbVXKs=" name="params_base"/>
        </base>
        <doc>
          <para>
            <text>A view representing query parameters in a URL</text>
          </para>
          <para>
            <text>Objects of this type are used to interpret</text>
            <text>    the query parameters as a bidirectional view</text>
            <text>    of key/value pairs.</text>
          </para>
          <para>
            <text>The view does not retain ownership of the</text>
            <text>    elements and instead references the original</text>
            <text>    character buffer. The caller is responsible</text>
            <text>    for ensuring that the lifetime of the buffer</text>
            <text>    extends until it is no longer referenced.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    url_view u( &quot;?first=John&amp;last=Doe&quot; );</text>
            <text></text>
            <text>    params_view p = u.params();</text>
          </code>
          <para>
            <text>Percent escapes in strings returned when</text>
            <text>    dereferencing iterators are automatically</text>
            <text>    decoded.</text>
          </para>
          <head>Iterator Invalidation</head>
          <para>
            <text>    Changes to the underlying character buffer</text>
            <text>    can invalidate iterators which reference it.</text>
          </para>
        </doc>
        <function class="constructor" name="params_view" id="1164/Ok6Ouw7H1B2XyRWiYBHRqI=">
          <file path="boost/url/params_view.hpp" line="80" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>Default-constructed params have</text>
              <text>        zero elements.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        params_view qp;</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return params_view( &quot;&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="params_view" id="kbyYjwWKQMGVCz9z5J6cuaxT3wI=">
          <file path="boost/url/params_view.hpp" line="103" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="DzqMpaJX2O25vPFxEN5EDTyU6uw=" name="params_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>After construction both views reference</text>
              <text>        the same character buffer.</text>
            </para>
            <para>
              <text>Ownership is not transferred; the caller</text>
              <text>        is responsible for ensuring the lifetime</text>
              <text>        of the buffer extends until it is no</text>
              <text>        longer referenced.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == other.buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="params_view" exception-spec="noexcept" id="Hgdj76635HFJyoq5j2uinpxH+/c=">
          <file path="boost/url/params_view.hpp" line="130"/>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="DzqMpaJX2O25vPFxEN5EDTyU6uw=" name="params_view" cv-qualifiers="const"/>
            </type>
          </param>
          <param name="opt">
            <type id="Bb04pNwExynJkzlY9a9GCeeB13k=" name="encoding_opts"/>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>After construction both views will</text>
              <text>        reference the same character buffer</text>
              <text>        but this instance will use the specified</text>
              <reference id="Bb04pNwExynJkzlY9a9GCeeB13k=">encoding_opts</reference>
              <text> when the values</text>
              <text>        are decoded.</text>
            </para>
            <para>
              <text>Ownership is not transferred; the caller</text>
              <text>        is responsible for ensuring the lifetime</text>
              <text>        of the buffer extends until it is no</text>
              <text>        longer referenced.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == other.buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="params_view" id="mtZAb/TqqVclweoRDpFPAwb+pPA=">
          <file path="boost/url/params_view.hpp" line="186"/>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>This function constructs params from</text>
              <text>        a valid query parameter string, which</text>
              <text>        can contain percent escapes. Unlike</text>
              <text>        the parameters in URLs, the string</text>
              <text>        passed here should not start with &quot;?&quot;.</text>
              <text>        Upon construction, the view references</text>
              <text>        the character buffer pointed to by `s`.</text>
              <text>        The caller is responsible for ensuring</text>
              <text>        that the lifetime of the buffer extends</text>
              <text>        until it is no longer referenced.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        params_view qp( &quot;first=John&amp;last=Doe&quot; );</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return parse_query( s ).value();</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == s.data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `s`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `s` contains an invalid query parameter</text>
              <text>        string.</text>
            </throws>
            <param name="s">
              <text>The string to parse.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        query-params    = [ query-param ] *( &quot;&amp;&quot; query-param )</text>
              <text></text>
              <text>        query-param     = key [ &quot;=&quot; value ]</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4">3.4.  Query</link>
            </listitem>
          </doc>
        </function>
        <function class="constructor" name="params_view" id="QTr9aDRMSQUV86floR9rnK66D1Q=">
          <file path="boost/url/params_view.hpp" line="253"/>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <param name="opt">
            <type id="Bb04pNwExynJkzlY9a9GCeeB13k=" name="encoding_opts"/>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>This function constructs params from</text>
              <text>        a valid query parameter string, which</text>
              <text>        can contain percent escapes.</text>
            </para>
            <para>
              <text>This instance will use the specified</text>
              <reference id="Bb04pNwExynJkzlY9a9GCeeB13k=">encoding_opts</reference>
              <text> when the values</text>
              <text>        are decoded.</text>
            </para>
            <para>
              <text>Unlike the parameters in URLs, the string</text>
              <text>        passed here should not start with &quot;?&quot;.</text>
              <text>        Upon construction, the view will</text>
              <text>        reference the character buffer pointed</text>
              <text>        to by `s`. The caller is responsible</text>
              <text>        for ensuring that the lifetime of the</text>
              <text>        buffer extends until it is no longer</text>
              <text>        referenced.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        encoding_opts opt;</text>
              <text>        opt.space_as_plus = true;</text>
              <text>        params_view qp( &quot;name=John+Doe&quot;, opt );</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return params_view(parse_query( s ).value(), opt);</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == s.data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `s`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `s` contains an invalid query parameter</text>
              <text>        string.</text>
            </throws>
            <param name="s">
              <text>The string to parse.</text>
            </param>
            <param name="opt">
              <text>The options for decoding. If</text>
              <text>        this parameter is omitted, `space_as_plus`</text>
              <text>        is used.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        query-params    = [ query-param ] *( &quot;&amp;&quot; query-param )</text>
              <text></text>
              <text>        query-param     = key [ &quot;=&quot; value ]</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4">3.4.  Query</link>
            </listitem>
          </doc>
        </function>
        <function name="operator=" id="jC0rL5Q8ggiLsnKp6Xy0GRt4XbI=">
          <file path="boost/url/params_view.hpp" line="278" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="DzqMpaJX2O25vPFxEN5EDTyU6uw=" name="params_view"/>
            </type>
          </return>
          <param>
            <type class="lvalue-reference">
              <pointee-type id="DzqMpaJX2O25vPFxEN5EDTyU6uw=" name="params_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>After assignment, both views reference</text>
              <text>        the same underlying character buffer.</text>
            </para>
            <para>
              <text>Ownership is not transferred; the caller</text>
              <text>        is responsible for ensuring the lifetime</text>
              <text>        of the buffer extends until it is no</text>
              <text>        longer referenced.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == other.buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
          </doc>
        </function>
      </class>
      <class name="params_encoded_view" id="0nSfM4mK92fIx58KtzdWGiHuq2w=">
        <file path="boost/url/params_encoded_view.hpp" line="54" class="def"/>
        <file path="boost/url/params_encoded_ref.hpp" line="24"/>
        <base>
          <type id="2+L1/+BrjUzoccWPIYkGu108y1I=" name="params_encoded_base"/>
        </base>
        <doc>
          <para>
            <text>A view representing query parameters in a URL</text>
          </para>
          <para>
            <text>Objects of this type are used to interpret</text>
            <text>    the query parameters as a bidirectional view</text>
            <text>    of key/value pairs.</text>
          </para>
          <para>
            <text>The view does not retain ownership of the</text>
            <text>    elements and instead references the original</text>
            <text>    character buffer. The caller is responsible</text>
            <text>    for ensuring that the lifetime of the buffer</text>
            <text>    extends until it is no longer referenced.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    url_view u( &quot;?first=John&amp;last=Doe&quot; );</text>
            <text></text>
            <text>    params_encoded_view p = u.encoded_params();</text>
          </code>
          <para>
            <text>Strings produced when elements are returned</text>
            <text>    have type</text>
            <reference id="SMbLJWxhkkCMp2sPkBpWmdnoNGI=">param_pct_view</reference>
            <text> and represent</text>
            <text>    encoded strings. Strings passed to member</text>
            <text>    functions may contain percent escapes, and</text>
            <text>    throw exceptions on invalid inputs.</text>
          </para>
          <head>Iterator Invalidation</head>
          <para>
            <text>    Changes to the underlying character buffer</text>
            <text>    can invalidate iterators which reference it.</text>
          </para>
        </doc>
        <function class="constructor" name="params_encoded_view" id="LejvgDggo/vR+pFyu/AlYsXpLaQ=">
          <file path="boost/url/params_encoded_view.hpp" line="87" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>Default-constructed params have</text>
              <text>        zero elements.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        params_encoded_view qp;</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return params_encoded_view( &quot;&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="params_encoded_view" id="a/y/9CSq2/5Q0GjRPaP5vlWjuPI=">
          <file path="boost/url/params_encoded_view.hpp" line="110" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="0nSfM4mK92fIx58KtzdWGiHuq2w=" name="params_encoded_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>After construction both views</text>
              <text>        reference the same character buffer.</text>
            </para>
            <para>
              <text>Ownership is not transferred; the caller</text>
              <text>        is responsible for ensuring the lifetime</text>
              <text>        of the buffer extends until it is no</text>
              <text>        longer referenced.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == other.buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="params_encoded_view" id="y1I49n7xdADNaymdSPDs20JUyV0=">
          <file path="boost/url/params_encoded_view.hpp" line="165"/>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>This function constructs params from</text>
              <text>        a valid query parameter string, which</text>
              <text>        can contain percent escapes. Unlike</text>
              <text>        the parameters in URLs, the string</text>
              <text>        passed here should not start with &quot;?&quot;.</text>
              <text>        Upon construction, the view</text>
              <text>        references the character buffer pointed</text>
              <text>        to by `s`. The caller is responsible</text>
              <text>        for ensuring that the lifetime of the</text>
              <text>        buffer extends until it is no longer</text>
              <text>        referenced.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        params_encoded_view qp( &quot;first=John&amp;last=Doe&quot; );</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return parse_query( s ).value();</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == s.data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `s`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `s` contains an invalid query parameter</text>
              <text>        string.</text>
            </throws>
            <param name="s">
              <text>The string to parse.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        query-params    = [ query-param ] *( &quot;&amp;&quot; query-param )</text>
              <text></text>
              <text>        query-param     = key [ &quot;=&quot; value ]</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4">3.4.  Query</link>
            </listitem>
          </doc>
        </function>
        <function name="operator=" id="vLdk8N8yRTrTP1yBKiBB4xmgGxI=">
          <file path="boost/url/params_encoded_view.hpp" line="190" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="0nSfM4mK92fIx58KtzdWGiHuq2w=" name="params_encoded_view"/>
            </type>
          </return>
          <param>
            <type class="lvalue-reference">
              <pointee-type id="0nSfM4mK92fIx58KtzdWGiHuq2w=" name="params_encoded_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>After assignment, both views</text>
              <text>        reference the same underlying character</text>
              <text>        buffer.</text>
            </para>
            <para>
              <text>Ownership is not transferred; the caller</text>
              <text>        is responsible for ensuring the lifetime</text>
              <text>        of the buffer extends until it is no</text>
              <text>        longer referenced.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() == other.buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
          </doc>
        </function>
        <function class="conversion" name="operator params_view" exception-spec="noexcept" id="PKsENmwPsWTiRP6EZEJnw3PnCJg=">
          <file path="boost/url/params_encoded_view.hpp" line="223"/>
          <attr id="is-const"/>
          <return>
            <type id="DzqMpaJX2O25vPFxEN5EDTyU6uw=" name="params_view"/>
          </return>
          <doc>
            <para>
              <text>Conversion</text>
            </para>
            <para>
              <text>This conversion returns a new view which</text>
              <text>        references the same underlying character</text>
              <text>        buffer, and whose iterators and members</text>
              <text>        return ordinary strings with decoding</text>
              <text>        applied to any percent escapes.</text>
            </para>
            <para>
              <text>Ownership is not transferred; the caller</text>
              <text>        is responsible for ensuring the lifetime</text>
              <text>        of the buffer extends until it is no</text>
              <text>        longer referenced.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        params_view qp = parse_path( &quot;/path/to/file.txt&quot; ).value();</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        params_view( *this ).buffer().data() == this-&gt;buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
          </doc>
        </function>
        <friend id="tgr8iUybOeGazFLOhUfMpd/qe58=">
          <file path="boost/url/params_encoded_view.hpp" line="228" class="def"/>
          <befriended id="uNT8hVd3FIORJnihg+axBbyOnBE="/>
        </friend>
      </class>
      <function name="parse_query" exception-spec="noexcept" id="uNT8hVd3FIORJnihg+axBbyOnBE=">
        <file path="boost/url/parse_query.hpp" line="46"/>
        <file path="boost/url/params_encoded_view.hpp" line="228"/>
        <return>
          <type name="system::result&lt;params_encoded_view&gt;"/>
        </return>
        <param name="s">
          <type name="core::string_view"/>
        </param>
        <doc>
          <para>
            <text>Parse a string and return an encoded params view</text>
          </para>
          <para>
            <text>This function parses the string and returns the</text>
            <text>    corresponding params object if the string is valid,</text>
            <text>    otherwise returns an error.</text>
          </para>
          <head>BNF</head>
          <code/>
          <head>Exception Safety</head>
          <para>
            <text>    No-throw guarantee.</text>
          </para>
          <returns>
            <text>A valid view on success, otherwise an</text>
            <text>    error code.</text>
          </returns>
          <param name="s">
            <text>The string to parse</text>
          </param>
          <head>Specification</head>
          <see>
            <reference id="0nSfM4mK92fIx58KtzdWGiHuq2w=">params_encoded_view</reference>
            <text>.</text>
          </see>
        </doc>
      </function>
      <class name="url_base" id="aHkFCWJbYb0t+7FT+A5gCI0krpU=">
        <file path="boost/url/url_base.hpp" line="63" class="def"/>
        <file path="boost/url/params_encoded_ref.hpp" line="23"/>
        <file path="boost/url/segments_encoded_ref.hpp" line="23"/>
        <file path="boost/url/segments_ref.hpp" line="23"/>
        <file path="boost/url/params_ref.hpp" line="24"/>
        <base>
          <type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base"/>
        </base>
        <doc>
          <para>
            <text>Common functionality for containers</text>
          </para>
          <para>
            <text>This base class is used by the library</text>
            <text>    to provide common member functions for</text>
            <text>    containers. This cannot be instantiated</text>
            <text>    directly; Instead, use one of the</text>
            <text>    containers or functions:</text>
          </para>
          <head>Containers</head>
          <listitem>
            <reference id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=">url</reference>
          </listitem>
          <listitem>
            <reference id="wh3UbUToX9YDmRmnpcoM9EUEZo8=">url_view</reference>
          </listitem>
          <listitem>
            <reference id="4HBDcnMjZthTXFnhpS7z+UhDNjA=">static_url</reference>
          </listitem>
          <head>Functions</head>
          <listitem>
            <reference id="U3CVElRbcTcbg1JzOqhBCd5RSzM=">parse_absolute_uri</reference>
          </listitem>
          <listitem>
            <reference id="J4f05lEg7oi89R2SkpRaYiBhCIQ=">parse_origin_form</reference>
          </listitem>
          <listitem>
            <reference id="QFzcl8vSLEeKOEO6w3mv1zGqX3k=">parse_relative_ref</reference>
          </listitem>
          <listitem>
            <reference id="f+9kR517VGSM5ZPoS7g/RFb0g/0=">parse_uri</reference>
          </listitem>
          <listitem>
            <reference id="7d2b1xVBWJPgL/+PWFdoBaZJvMA=">parse_uri_reference</reference>
          </listitem>
        </doc>
        <function name="c_str" exception-spec="noexcept" id="OUdGewqojyZZ2vohOsR/ce3sgdM=">
          <file path="boost/url/url_base.hpp" line="130" class="def"/>
          <attr id="is-const"/>
          <return>
            <type class="pointer">
              <pointee-type name="char" cv-qualifiers="const"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Return the url as a null-terminated string</text>
            </para>
            <para>
              <text>This function returns a pointer to a null</text>
              <text>        terminated string representing the url,</text>
              <text>        which may contain percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( std::strlen( url( &quot;http://www.example.com&quot; ).c_str() ) == 22 );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="capacity" exception-spec="noexcept" id="FPqXKVymUm0eRCsXV1yuMFlv4ug=">
          <file path="boost/url/url_base.hpp" line="147" class="def"/>
          <attr id="is-const"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <doc>
            <para>
              <text>Return the number of characters that can be stored without reallocating</text>
            </para>
            <para>
              <text>This does not include the null terminator,</text>
              <text>        which is always present.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="clear" exception-spec="noexcept" id="PMYRGpyOUt7hbDyd33GRHTcxEj8=">
          <file path="boost/url/url_base.hpp" line="166" class="def"/>
          <doc>
            <para>
              <text>Clear the contents while preserving the capacity</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;empty() == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        No-throw guarantee.</text>
            </para>
          </doc>
        </function>
        <function name="reserve" id="R5AajT/eZPgijKrm8AxolAdhsRQ=">
          <file path="boost/url/url_base.hpp" line="188" class="def"/>
          <param name="n">
            <type name="std::size_t"/>
          </param>
          <doc>
            <para>
              <text>Adjust the capacity without changing the size</text>
            </para>
            <para>
              <text>This function adjusts the capacity</text>
              <text>        of the container in characters, without</text>
              <text>        affecting the current contents. Has</text>
              <text>        no effect if `n&lt;= this-&gt;capacity()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <throws>
              <text>Allocation failure</text>
            </throws>
            <param name="n">
              <text>The capacity in characters,</text>
              <text>        excluding any null terminator.</text>
            </param>
          </doc>
        </function>
        <function name="set_scheme" id="rKQfFZ6dfzeuSqZL+PgPNpIFQ5g=">
          <file path="boost/url/url_base.hpp" line="244"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the scheme</text>
            </para>
            <para>
              <text>The scheme is set to the specified</text>
              <text>        string, which must contain a valid</text>
              <text>        scheme without any trailing colon</text>
              <text>        (&apos;:&apos;).</text>
              <text>        Note that schemes are case-insensitive,</text>
              <text>        and the canonical form is lowercased.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://www.example.com&quot; ).set_scheme( &quot;https&quot; ).scheme_id() == scheme::https );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size() + s.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `s` contains an invalid scheme.</text>
            </throws>
            <param name="s">
              <text>The scheme to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        scheme        = ALPHA *( ALPHA / DIGIT / &quot;+&quot; / &quot;-&quot; / &quot;.&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.1">            3.1. Scheme (rfc3986)</link>
            </listitem>
            <see>
              <reference id="1N2Tt1DokczwHdRgAZiZzhPQr4E=">remove_scheme</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_scheme_id" id="iuTF0vS1Knzl0Hxr4iVhx35Fzdk=">
          <file path="boost/url/url_base.hpp" line="278"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="id">
            <type id="P7uOjuAMILimKGOcbjDUSpMAL/U=" name="urls::scheme"/>
          </param>
        </function>
        <function name="remove_scheme" id="1N2Tt1DokczwHdRgAZiZzhPQr4E=">
          <file path="boost/url/url_base.hpp" line="318"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Remove the scheme</text>
            </para>
            <para>
              <text>This function removes the scheme if it</text>
              <text>        is present.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url(&quot;http://www.example.com/index.htm&quot; ).remove_scheme().buffer() == &quot;//www.example.com/index.htm&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_scheme() == false &amp;&amp; this-&gt;scheme_id() == scheme::none</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        URI           = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.1">            3.1. Scheme (rfc3986)</link>
            </listitem>
            <see>
              <reference id="rKQfFZ6dfzeuSqZL+PgPNpIFQ5g=">set_scheme</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_encoded_authority" id="VTO/x6AChJRFyjVKxhaqmIAvYFI=">
          <file path="boost/url/url_base.hpp" line="363"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the authority</text>
            </para>
            <para>
              <text>This function sets the authority</text>
              <text>        to the specified string.</text>
              <text>        The string may contain percent-escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url().set_encoded_authority( &quot;My%20Computer&quot; ).has_authority() );</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        The string contains an invalid percent-encoding.</text>
            </throws>
            <param name="s">
              <text>The authority string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        authority     = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
              <text></text>
              <text>        userinfo      = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
              <text>        host          = IP-literal / IPv4address / reg-name</text>
              <text>        port          = *DIGIT</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2">            3.2. Authority (rfc3986)</link>
            </listitem>
            <see>
              <reference id="cjTKMEM0IWRzDexmJAiWOj6P+ZI=">remove_authority</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="remove_authority" id="cjTKMEM0IWRzDexmJAiWOj6P+ZI=">
          <file path="boost/url/url_base.hpp" line="405"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Remove the authority</text>
            </para>
            <para>
              <text>This function removes the authority,</text>
              <text>        which includes the userinfo, host, and</text>
              <text>        a port if present.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://example.com/echo.cgi&quot; ).remove_authority().buffer() == &quot;http:/echo.cgi&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_authority() == false &amp;&amp; this-&gt;has_userinfo() == false &amp;&amp; this-&gt;has_port() == false</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        authority     = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
              <text></text>
              <text>        userinfo      = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
              <text>        host          = IP-literal / IPv4address / reg-name</text>
              <text>        port          = *DIGIT</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2">            3.2. Authority (rfc3986)</link>
            </listitem>
            <see>
              <reference id="VTO/x6AChJRFyjVKxhaqmIAvYFI=">set_encoded_authority</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_userinfo" id="s+5EFNaQxZ6HMzMRElE8AAODpm8=">
          <file path="boost/url/url_base.hpp" line="471"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the userinfo</text>
            </para>
            <para>
              <text>The userinfo is set to the given string,</text>
              <text>        which may contain percent-escapes.</text>
              <text>        Any special or reserved characters in the</text>
              <text>        string are automatically percent-encoded.</text>
              <text>        The effects on the user and password</text>
              <text>        depend on the presence of a colon (&apos;:&apos;)</text>
              <text>        in the string:</text>
            </para>
            <listitem>
              <text>If an unescaped colon exists, the</text>
              <text>        characters up to the colon become</text>
              <text>        the user and the rest of the characters</text>
              <text>        after the colon become the password.</text>
              <text>        In this case</text>
              <reference id="9JACnsebk8tFsoryabfDxE8VpnA=">has_password</reference>
              <text> returns</text>
              <text>        true. Otherwise,</text>
            </listitem>
            <listitem>
              <text>If there is no colon, the user is</text>
              <text>        set to the string. The function</text>
              <reference id="9JACnsebk8tFsoryabfDxE8VpnA=">has_password</reference>
              <text> returns false.</text>
            </listitem>
            <para class="note">
              <text>The interpretation of the userinfo as</text>
              <text>        individual user and password components</text>
              <text>        is scheme-dependent. Transmitting</text>
              <text>        passwords in URLs is deprecated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://example.com&quot; ).set_userinfo( &quot;user:pass&quot; ).encoded_user() == &quot;user&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size() + s.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="s">
              <text>The string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        userinfo      = [ [ user ] [ &apos;:&apos; password ] ]</text>
              <text></text>
              <text>        user          = *( unreserved / pct-encoded / sub-delims )</text>
              <text>        password      = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">            3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="PjTTglJlJuEwKHuRXGByi7wW8W8=">remove_userinfo</reference>
              <text>,</text>
              <reference id="MLv0mdC6EhrEgdnFiOF+W8sw0/c=">set_encoded_userinfo</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_encoded_userinfo" id="MLv0mdC6EhrEgdnFiOF+W8sw0/c=">
          <file path="boost/url/url_base.hpp" line="537"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the userinfo.</text>
            </para>
            <para>
              <text>The userinfo is set to the given string,</text>
              <text>        which may contain percent-escapes.</text>
              <text>        Escapes in the string are preserved,</text>
              <text>        and reserved characters in the string</text>
              <text>        are percent-escaped in the result.</text>
              <text>        The effects on the user and password</text>
              <text>        depend on the presence of a colon (&apos;:&apos;)</text>
              <text>        in the string:</text>
            </para>
            <listitem>
              <text>If an unescaped colon exists, the</text>
              <text>        characters up to the colon become</text>
              <text>        the user and the rest of the characters</text>
              <text>        after the colon become the password.</text>
              <text>        In this case</text>
              <reference id="9JACnsebk8tFsoryabfDxE8VpnA=">has_password</reference>
              <text> returns</text>
              <text>        true. Otherwise,</text>
            </listitem>
            <listitem>
              <text>If there is no colon, the user is</text>
              <text>        set to the string. The function</text>
              <reference id="9JACnsebk8tFsoryabfDxE8VpnA=">has_password</reference>
              <text> returns false.</text>
            </listitem>
            <para class="note">
              <text>The interpretation of the userinfo as</text>
              <text>        individual user and password components</text>
              <text>        is scheme-dependent. Transmitting</text>
              <text>        passwords in URLs is deprecated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://example.com&quot; ).set_encoded_userinfo( &quot;john%20doe&quot; ).user() == &quot;john doe&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size() + s.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `s` contains an invalid percent-encoding.</text>
            </throws>
            <param name="s">
              <text>The string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        userinfo      = [ [ user ] [ &apos;:&apos; password ] ]</text>
              <text></text>
              <text>        user          = *( unreserved / pct-encoded / sub-delims )</text>
              <text>        password      = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">            3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="PjTTglJlJuEwKHuRXGByi7wW8W8=">remove_userinfo</reference>
              <text>,</text>
              <reference id="s+5EFNaQxZ6HMzMRElE8AAODpm8=">set_userinfo</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="remove_userinfo" exception-spec="noexcept" id="PjTTglJlJuEwKHuRXGByi7wW8W8=">
          <file path="boost/url/url_base.hpp" line="578"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Remove the userinfo</text>
            </para>
            <para>
              <text>This function removes the userinfo if</text>
              <text>        present, without removing any authority.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://user@example.com&quot; ).remove_userinfo().has_userinfo() == false );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_userinfo() == false &amp;&amp; this-&gt;encoded_userinfo().empty == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        userinfo      = [ [ user ] [ &apos;:&apos; password ] ]</text>
              <text></text>
              <text>        user          = *( unreserved / pct-encoded / sub-delims )</text>
              <text>        password      = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">            3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="MLv0mdC6EhrEgdnFiOF+W8sw0/c=">set_encoded_userinfo</reference>
              <text>,</text>
              <reference id="s+5EFNaQxZ6HMzMRElE8AAODpm8=">set_userinfo</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_user" id="GWy3y66sOX4ov+Eh3hxNRVsAEwY=">
          <file path="boost/url/url_base.hpp" line="627"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the user</text>
            </para>
            <para>
              <text>This function sets the user part of the</text>
              <text>        userinfo to the string.</text>
              <text>        Any special or reserved characters in the</text>
              <text>        string are automatically percent-encoded.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url().set_user(&quot;john doe&quot;).encoded_userinfo() == &quot;john%20doe&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_authority() == true &amp;&amp; this-&gt;has_userinfo() == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size() + s.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="s">
              <text>The string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        userinfo      = [ [ user ] [ &apos;:&apos; password ] ]</text>
              <text></text>
              <text>        user          = *( unreserved / pct-encoded / sub-delims )</text>
              <text>        password      = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">            3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="M5RIQPf9vzlN+m4Qn0PDNFKy8ak=">remove_password</reference>
              <text>,</text>
              <reference id="qF7dDBIf4KkHxSuysLw1EJNSh2Y=">set_encoded_password</reference>
              <text>,</text>
              <reference id="YNLJGohUXCdL6mo1PM3ms9pRQyE=">set_encoded_user</reference>
              <text>,</text>
              <reference id="blkDquwzHtk7o5mJf/hdeY15zWg=">set_password</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_encoded_user" id="YNLJGohUXCdL6mo1PM3ms9pRQyE=">
          <file path="boost/url/url_base.hpp" line="680"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the user</text>
            </para>
            <para>
              <text>This function sets the user part of the</text>
              <text>        userinfo the the string, which may</text>
              <text>        contain percent-escapes.</text>
              <text>        Escapes in the string are preserved,</text>
              <text>        and reserved characters in the string</text>
              <text>        are percent-escaped in the result.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url().set_encoded_user(&quot;john%20doe&quot;).userinfo() == &quot;john doe&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_authority() == true &amp;&amp; this-&gt;has_userinfo() == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size() + s.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <throws>
              <text>        `s` contains an invalid percent-encoding.</text>
            </throws>
            <param name="s">
              <text>The string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        userinfo      = [ [ user ] [ &apos;:&apos; password ] ]</text>
              <text></text>
              <text>        user          = *( unreserved / pct-encoded / sub-delims )</text>
              <text>        password      = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">            3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="M5RIQPf9vzlN+m4Qn0PDNFKy8ak=">remove_password</reference>
              <text>,</text>
              <reference id="qF7dDBIf4KkHxSuysLw1EJNSh2Y=">set_encoded_password</reference>
              <text>,</text>
              <reference id="blkDquwzHtk7o5mJf/hdeY15zWg=">set_password</reference>
              <text>,</text>
              <reference id="GWy3y66sOX4ov+Eh3hxNRVsAEwY=">set_user</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_password" id="blkDquwzHtk7o5mJf/hdeY15zWg=">
          <file path="boost/url/url_base.hpp" line="732"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the password.</text>
            </para>
            <para>
              <text>This function sets the password in</text>
              <text>        the userinfo to the string.</text>
              <text>        Reserved characters in the string are</text>
              <text>        percent-escaped in the result.</text>
            </para>
            <para class="note">
              <text>The interpretation of the userinfo as</text>
              <text>        individual user and password components</text>
              <text>        is scheme-dependent. Transmitting</text>
              <text>        passwords in URLs is deprecated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url(&quot;http://user@example.com&quot;).set_password( &quot;pass&quot; ).encoded_userinfo() == &quot;user:pass&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_password() == true &amp;&amp; this-&gt;password() == s</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="s">
              <text>The string to set. This string may</text>
              <text>        contain any characters, including nulls.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        userinfo      = [ [ user ] [ &apos;:&apos; password ] ]</text>
              <text></text>
              <text>        user          = *( unreserved / pct-encoded / sub-delims )</text>
              <text>        password      = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">            3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="M5RIQPf9vzlN+m4Qn0PDNFKy8ak=">remove_password</reference>
              <text>,</text>
              <reference id="qF7dDBIf4KkHxSuysLw1EJNSh2Y=">set_encoded_password</reference>
              <text>,</text>
              <reference id="YNLJGohUXCdL6mo1PM3ms9pRQyE=">set_encoded_user</reference>
              <text>,</text>
              <reference id="GWy3y66sOX4ov+Eh3hxNRVsAEwY=">set_user</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_encoded_password" id="qF7dDBIf4KkHxSuysLw1EJNSh2Y=">
          <file path="boost/url/url_base.hpp" line="789"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the password.</text>
            </para>
            <para>
              <text>This function sets the password in</text>
              <text>        the userinfo to the string, which</text>
              <text>        may contain percent-escapes.</text>
              <text>        Escapes in the string are preserved,</text>
              <text>        and reserved characters in the string</text>
              <text>        are percent-escaped in the result.</text>
            </para>
            <para class="note">
              <text>The interpretation of the userinfo as</text>
              <text>        individual user and password components</text>
              <text>        is scheme-dependent. Transmitting</text>
              <text>        passwords in URLs is deprecated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url(&quot;http://user@example.com&quot;).set_encoded_password( &quot;pass&quot; ).encoded_userinfo() == &quot;user:pass&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_password() == true</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <throws>
              <text>        `s` contains an invalid percent-encoding.</text>
            </throws>
            <param name="s">
              <text>The string to set. This string may</text>
              <text>        contain any characters, including nulls.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        userinfo      = [ [ user ] [ &apos;:&apos; password ] ]</text>
              <text></text>
              <text>        user          = *( unreserved / pct-encoded / sub-delims )</text>
              <text>        password      = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">            3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="M5RIQPf9vzlN+m4Qn0PDNFKy8ak=">remove_password</reference>
              <text>,</text>
              <reference id="qF7dDBIf4KkHxSuysLw1EJNSh2Y=">set_encoded_password</reference>
              <text>,</text>
              <reference id="YNLJGohUXCdL6mo1PM3ms9pRQyE=">set_encoded_user</reference>
              <text>,</text>
              <reference id="GWy3y66sOX4ov+Eh3hxNRVsAEwY=">set_user</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="remove_password" exception-spec="noexcept" id="M5RIQPf9vzlN+m4Qn0PDNFKy8ak=">
          <file path="boost/url/url_base.hpp" line="840"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Remove the password</text>
            </para>
            <para>
              <text>This function removes the password from</text>
              <text>        the userinfo if a password exists. If</text>
              <text>        there is no userinfo or no authority,</text>
              <text>        the call has no effect.</text>
            </para>
            <para class="note">
              <text>The interpretation of the userinfo as</text>
              <text>        individual user and password components</text>
              <text>        is scheme-dependent. Transmitting</text>
              <text>        passwords in URLs is deprecated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://user:pass@example.com&quot; ).remove_password().authority().buffer() == &quot;user@example.com&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_password() == false &amp;&amp; this-&gt;encoded_password().empty() == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        userinfo      = [ [ user ] [ &apos;:&apos; password ] ]</text>
              <text></text>
              <text>        user          = *( unreserved / pct-encoded / sub-delims )</text>
              <text>        password      = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">            3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="qF7dDBIf4KkHxSuysLw1EJNSh2Y=">set_encoded_password</reference>
              <text>,</text>
              <reference id="YNLJGohUXCdL6mo1PM3ms9pRQyE=">set_encoded_user</reference>
              <text>,</text>
              <reference id="blkDquwzHtk7o5mJf/hdeY15zWg=">set_password</reference>
              <text>,</text>
              <reference id="GWy3y66sOX4ov+Eh3hxNRVsAEwY=">set_user</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_host" id="lhYybwvylnG/ieiGmyVfyExN3dw=">
          <file path="boost/url/url_base.hpp" line="923"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the host</text>
            </para>
            <para>
              <text>Depending on the contents of the passed</text>
              <text>        string, this function sets the host:</text>
            </para>
            <listitem>
              <text>If the string is a valid IPv4 address,</text>
              <text>        then the host is set to the address.</text>
              <text>        The host type is</text>
              <reference id="49F64dAiji9HVbP6MxLQiqot7AY=">host_type::ipv4</reference>
              <text>.</text>
            </listitem>
            <listitem>
              <text>If the string is a valid IPv6 address</text>
              <text>        enclosed in square brackets, then the</text>
              <text>        host is set to that address.</text>
              <text>        The host type is</text>
              <reference id="jTh/N5N+Bz51cZo2Mwmh6tzxPOc=">host_type::ipv6</reference>
              <text>.</text>
            </listitem>
            <listitem>
              <text>If the string is a valid IPvFuture</text>
              <text>        address enclosed in square brackets, then</text>
              <text>        the host is set to that address.</text>
              <text>        The host type is</text>
              <reference id="TcYJaTwDFsx+0S2CkvHHARcCqWc=">host_type::ipvfuture</reference>
              <text>.</text>
            </listitem>
            <listitem>
              <text>Otherwise, the host name is set to</text>
              <text>        the string, which may be empty.</text>
              <text>        Reserved characters in the string are</text>
              <text>        percent-escaped in the result.</text>
              <text>        The host type is</text>
              <reference id="HUq75uZ3LBPW3yvUAfpdNzqcfjc=">host_type::name</reference>
              <text>.</text>
            </listitem>
            <para>
              <text>In all cases, when this function returns,</text>
              <text>        the URL contains an authority.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://www.example.com&quot; ).set_host( &quot;127.0.0.1&quot; ).buffer() == &quot;http://127.0.0.1&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_authority() == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size() + s.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="s">
              <text>The string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        host        = IP-literal / IPv4address / reg-name</text>
              <text></text>
              <text>        IP-literal  = &quot;[&quot; ( IPv6address / IPvFuture  ) &quot;]&quot;</text>
              <text></text>
              <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://en.wikipedia.org/wiki/IPv4">IPv4 (Wikipedia)</link>
            </listitem>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc4291">IP Version 6 Addressing Architecture (rfc4291)</link>
            </listitem>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">            3.2.2. Host (rfc3986)</link>
            </listitem>
            <see>
              <reference id="OgEcjvMpUkw5cqqrotx6BNVfYuA=">set_encoded_host</reference>
              <text>,</text>
              <reference id="51fvhkKEd4+UZEBsnLd4vUL/Svw=">set_encoded_host_address</reference>
              <text>,</text>
              <reference id="Lz8KFSebh4YuJuAAf0STYQ/VPqk=">set_encoded_host_name</reference>
              <text>,</text>
              <reference id="ut25mVfVRShtv19Mg+nvS5jVATc=">set_host_address</reference>
              <text>,</text>
              <reference id="Cn5GM3RJyUENDJ/d6LnYVW+gkA4=">set_host_ipv4</reference>
              <text>,</text>
              <reference id="BryTExdDEUoZs6riyC1Qi0/NtPE=">set_host_ipv6</reference>
              <text>,</text>
              <reference id="BQxPHhB2Uv0OyVbWf3e7/seXVX8=">set_host_ipvfuture</reference>
              <text>,</text>
              <reference id="Pt4icJRgJxULgQjbXV6yzBigNl8=">set_host_name</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_encoded_host" id="OgEcjvMpUkw5cqqrotx6BNVfYuA=">
          <file path="boost/url/url_base.hpp" line="1007"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the host</text>
            </para>
            <para>
              <text>Depending on the contents of the passed</text>
              <text>        string, this function sets the host:</text>
            </para>
            <listitem>
              <text>If the string is a valid IPv4 address,</text>
              <text>        then the host is set to the address.</text>
              <text>        The host type is</text>
              <reference id="49F64dAiji9HVbP6MxLQiqot7AY=">host_type::ipv4</reference>
              <text>.</text>
            </listitem>
            <listitem>
              <text>If the string is a valid IPv6 address</text>
              <text>        enclosed in square brackets, then the</text>
              <text>        host is set to that address.</text>
              <text>        The host type is</text>
              <reference id="jTh/N5N+Bz51cZo2Mwmh6tzxPOc=">host_type::ipv6</reference>
              <text>.</text>
            </listitem>
            <listitem>
              <text>If the string is a valid IPvFuture</text>
              <text>        address enclosed in square brackets, then</text>
              <text>        the host is set to that address.</text>
              <text>        The host type is</text>
              <reference id="TcYJaTwDFsx+0S2CkvHHARcCqWc=">host_type::ipvfuture</reference>
              <text>.</text>
            </listitem>
            <listitem>
              <text>Otherwise, the host name is set to</text>
              <text>        the string. This string can contain percent</text>
              <text>        escapes, or can be empty.</text>
              <text>        Escapes in the string are preserved,</text>
              <text>        and reserved characters in the string</text>
              <text>        are percent-escaped in the result.</text>
              <text>        The host type is</text>
              <reference id="HUq75uZ3LBPW3yvUAfpdNzqcfjc=">host_type::name</reference>
              <text>.</text>
            </listitem>
            <para>
              <text>In all cases, when this function returns,</text>
              <text>        the URL contains an authority.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://www.example.com&quot; ).set_host( &quot;127.0.0.1&quot; ).buffer() == &quot;http://127.0.0.1&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_authority() == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size() + s.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `s` contains an invalid percent-encoding.</text>
            </throws>
            <param name="s">
              <text>The string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        host        = IP-literal / IPv4address / reg-name</text>
              <text></text>
              <text>        IP-literal  = &quot;[&quot; ( IPv6address / IPvFuture  ) &quot;]&quot;</text>
              <text></text>
              <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://en.wikipedia.org/wiki/IPv4">IPv4 (Wikipedia)</link>
            </listitem>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc4291">IP Version 6 Addressing Architecture (rfc4291)</link>
            </listitem>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">            3.2.2. Host (rfc3986)</link>
            </listitem>
            <see>
              <reference id="51fvhkKEd4+UZEBsnLd4vUL/Svw=">set_encoded_host_address</reference>
              <text>,</text>
              <reference id="Lz8KFSebh4YuJuAAf0STYQ/VPqk=">set_encoded_host_name</reference>
              <text>,</text>
              <reference id="lhYybwvylnG/ieiGmyVfyExN3dw=">set_host</reference>
              <text>,</text>
              <reference id="ut25mVfVRShtv19Mg+nvS5jVATc=">set_host_address</reference>
              <text>,</text>
              <reference id="Cn5GM3RJyUENDJ/d6LnYVW+gkA4=">set_host_ipv4</reference>
              <text>,</text>
              <reference id="BryTExdDEUoZs6riyC1Qi0/NtPE=">set_host_ipv6</reference>
              <text>,</text>
              <reference id="BQxPHhB2Uv0OyVbWf3e7/seXVX8=">set_host_ipvfuture</reference>
              <text>,</text>
              <reference id="Pt4icJRgJxULgQjbXV6yzBigNl8=">set_host_name</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_host_address" id="ut25mVfVRShtv19Mg+nvS5jVATc=">
          <file path="boost/url/url_base.hpp" line="1105"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the host to an address</text>
            </para>
            <para>
              <text>Depending on the contents of the passed</text>
              <text>        string, this function sets the host:</text>
            </para>
            <listitem>
              <text>If the string is a valid IPv4 address,</text>
              <text>        then the host is set to the address.</text>
              <text>        The host type is</text>
              <reference id="49F64dAiji9HVbP6MxLQiqot7AY=">host_type::ipv4</reference>
              <text>.</text>
            </listitem>
            <listitem>
              <text>If the string is a valid IPv6 address,</text>
              <text>        then the host is set to that address.</text>
              <text>        The host type is</text>
              <reference id="jTh/N5N+Bz51cZo2Mwmh6tzxPOc=">host_type::ipv6</reference>
              <text>.</text>
            </listitem>
            <listitem>
              <text>If the string is a valid IPvFuture,</text>
              <text>        then the host is set to that address.</text>
              <text>        The host type is</text>
              <reference id="TcYJaTwDFsx+0S2CkvHHARcCqWc=">host_type::ipvfuture</reference>
              <text>.</text>
            </listitem>
            <listitem>
              <text>Otherwise, the host name is set to</text>
              <text>        the string, which may be empty.</text>
              <text>        Reserved characters in the string are</text>
              <text>        percent-escaped in the result.</text>
              <text>        The host type is</text>
              <reference id="HUq75uZ3LBPW3yvUAfpdNzqcfjc=">host_type::name</reference>
              <text>.</text>
            </listitem>
            <para>
              <text>In all cases, when this function returns,</text>
              <text>        the URL contains an authority.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://www.example.com&quot; ).set_host_address( &quot;127.0.0.1&quot; ).buffer() == &quot;http://127.0.0.1&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_authority() == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `s.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="s">
              <text>The string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        IPv4address = dec-octet &quot;.&quot; dec-octet &quot;.&quot; dec-octet &quot;.&quot; dec-octet</text>
              <text></text>
              <text>        dec-octet   = DIGIT                 ; 0-9</text>
              <text>                    / %x31-39 DIGIT         ; 10-99</text>
              <text>                    / &quot;1&quot; 2DIGIT            ; 100-199</text>
              <text>                    / &quot;2&quot; %x30-34 DIGIT     ; 200-249</text>
              <text>                    / &quot;25&quot; %x30-35          ; 250-255</text>
              <text></text>
              <text>        IPv6address =                            6( h16 &quot;:&quot; ) ls32</text>
              <text>                    /                       &quot;::&quot; 5( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [               h16 ] &quot;::&quot; 4( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [ *1( h16 &quot;:&quot; ) h16 ] &quot;::&quot; 3( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [ *2( h16 &quot;:&quot; ) h16 ] &quot;::&quot; 2( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [ *3( h16 &quot;:&quot; ) h16 ] &quot;::&quot;    h16 &quot;:&quot;   ls32</text>
              <text>                    / [ *4( h16 &quot;:&quot; ) h16 ] &quot;::&quot;              ls32</text>
              <text>                    / [ *5( h16 &quot;:&quot; ) h16 ] &quot;::&quot;              h16</text>
              <text>                    / [ *6( h16 &quot;:&quot; ) h16 ] &quot;::&quot;</text>
              <text></text>
              <text>        ls32        = ( h16 &quot;:&quot; h16 ) / IPv4address</text>
              <text>                    ; least-significant 32 bits of address</text>
              <text></text>
              <text>        h16         = 1*4HEXDIG</text>
              <text>                    ; 16 bits of address represented in hexadecimal</text>
              <text></text>
              <text>        IPvFuture     = &quot;v&quot; 1*HEXDIG &quot;.&quot; 1*( unreserved / sub-delims / &quot;:&quot; )</text>
              <text></text>
              <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://en.wikipedia.org/wiki/IPv4">IPv4 (Wikipedia)</link>
            </listitem>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc4291">IP Version 6 Addressing Architecture (rfc4291)</link>
            </listitem>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">            3.2.2. Host (rfc3986)</link>
            </listitem>
            <see>
              <reference id="OgEcjvMpUkw5cqqrotx6BNVfYuA=">set_encoded_host</reference>
              <text>,</text>
              <reference id="51fvhkKEd4+UZEBsnLd4vUL/Svw=">set_encoded_host_address</reference>
              <text>,</text>
              <reference id="Lz8KFSebh4YuJuAAf0STYQ/VPqk=">set_encoded_host_name</reference>
              <text>,</text>
              <reference id="lhYybwvylnG/ieiGmyVfyExN3dw=">set_host</reference>
              <text>,</text>
              <reference id="ut25mVfVRShtv19Mg+nvS5jVATc=">set_host_address</reference>
              <text>,</text>
              <reference id="Cn5GM3RJyUENDJ/d6LnYVW+gkA4=">set_host_ipv4</reference>
              <text>,</text>
              <reference id="BryTExdDEUoZs6riyC1Qi0/NtPE=">set_host_ipv6</reference>
              <text>,</text>
              <reference id="BQxPHhB2Uv0OyVbWf3e7/seXVX8=">set_host_ipvfuture</reference>
              <text>,</text>
              <reference id="Pt4icJRgJxULgQjbXV6yzBigNl8=">set_host_name</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_encoded_host_address" id="51fvhkKEd4+UZEBsnLd4vUL/Svw=">
          <file path="boost/url/url_base.hpp" line="1208"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the host to an address</text>
            </para>
            <para>
              <text>Depending on the contents of the passed</text>
              <text>        string, this function sets the host:</text>
            </para>
            <listitem>
              <text>If the string is a valid IPv4 address,</text>
              <text>        then the host is set to the address.</text>
              <text>        The host type is</text>
              <reference id="49F64dAiji9HVbP6MxLQiqot7AY=">host_type::ipv4</reference>
              <text>.</text>
            </listitem>
            <listitem>
              <text>If the string is a valid IPv6 address,</text>
              <text>        then the host is set to that address.</text>
              <text>        The host type is</text>
              <reference id="jTh/N5N+Bz51cZo2Mwmh6tzxPOc=">host_type::ipv6</reference>
              <text>.</text>
            </listitem>
            <listitem>
              <text>If the string is a valid IPvFuture,</text>
              <text>        then the host is set to that address.</text>
              <text>        The host type is</text>
              <reference id="TcYJaTwDFsx+0S2CkvHHARcCqWc=">host_type::ipvfuture</reference>
              <text>.</text>
            </listitem>
            <listitem>
              <text>Otherwise, the host name is set to</text>
              <text>        the string. This string can contain percent</text>
              <text>        escapes, or can be empty.</text>
              <text>        Escapes in the string are preserved,</text>
              <text>        and reserved characters in the string</text>
              <text>        are percent-escaped in the result.</text>
              <text>        The host type is</text>
              <reference id="HUq75uZ3LBPW3yvUAfpdNzqcfjc=">host_type::name</reference>
              <text>.</text>
            </listitem>
            <para>
              <text>In all cases, when this function returns,</text>
              <text>        the URL contains an authority.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://www.example.com&quot; ).set_host( &quot;127.0.0.1&quot; ).buffer() == &quot;http://127.0.0.1&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_authority() == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size() + s.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `s` contains an invalid percent-encoding.</text>
            </throws>
            <param name="s">
              <text>The string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        IPv4address = dec-octet &quot;.&quot; dec-octet &quot;.&quot; dec-octet &quot;.&quot; dec-octet</text>
              <text></text>
              <text>        dec-octet   = DIGIT                 ; 0-9</text>
              <text>                    / %x31-39 DIGIT         ; 10-99</text>
              <text>                    / &quot;1&quot; 2DIGIT            ; 100-199</text>
              <text>                    / &quot;2&quot; %x30-34 DIGIT     ; 200-249</text>
              <text>                    / &quot;25&quot; %x30-35          ; 250-255</text>
              <text></text>
              <text>        IPv6address =                            6( h16 &quot;:&quot; ) ls32</text>
              <text>                    /                       &quot;::&quot; 5( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [               h16 ] &quot;::&quot; 4( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [ *1( h16 &quot;:&quot; ) h16 ] &quot;::&quot; 3( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [ *2( h16 &quot;:&quot; ) h16 ] &quot;::&quot; 2( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [ *3( h16 &quot;:&quot; ) h16 ] &quot;::&quot;    h16 &quot;:&quot;   ls32</text>
              <text>                    / [ *4( h16 &quot;:&quot; ) h16 ] &quot;::&quot;              ls32</text>
              <text>                    / [ *5( h16 &quot;:&quot; ) h16 ] &quot;::&quot;              h16</text>
              <text>                    / [ *6( h16 &quot;:&quot; ) h16 ] &quot;::&quot;</text>
              <text></text>
              <text>        ls32        = ( h16 &quot;:&quot; h16 ) / IPv4address</text>
              <text>                    ; least-significant 32 bits of address</text>
              <text></text>
              <text>        h16         = 1*4HEXDIG</text>
              <text>                    ; 16 bits of address represented in hexadecimal</text>
              <text></text>
              <text>        IPvFuture     = &quot;v&quot; 1*HEXDIG &quot;.&quot; 1*( unreserved / sub-delims / &quot;:&quot; )</text>
              <text></text>
              <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://en.wikipedia.org/wiki/IPv4">IPv4 (Wikipedia)</link>
            </listitem>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc4291">IP Version 6 Addressing Architecture (rfc4291)</link>
            </listitem>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">            3.2.2. Host (rfc3986)</link>
            </listitem>
            <see>
              <reference id="OgEcjvMpUkw5cqqrotx6BNVfYuA=">set_encoded_host</reference>
              <text>,</text>
              <reference id="Lz8KFSebh4YuJuAAf0STYQ/VPqk=">set_encoded_host_name</reference>
              <text>,</text>
              <reference id="lhYybwvylnG/ieiGmyVfyExN3dw=">set_host</reference>
              <text>,</text>
              <reference id="ut25mVfVRShtv19Mg+nvS5jVATc=">set_host_address</reference>
              <text>,</text>
              <reference id="Cn5GM3RJyUENDJ/d6LnYVW+gkA4=">set_host_ipv4</reference>
              <text>,</text>
              <reference id="BryTExdDEUoZs6riyC1Qi0/NtPE=">set_host_ipv6</reference>
              <text>,</text>
              <reference id="BQxPHhB2Uv0OyVbWf3e7/seXVX8=">set_host_ipvfuture</reference>
              <text>,</text>
              <reference id="Pt4icJRgJxULgQjbXV6yzBigNl8=">set_host_name</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_host_ipv4" id="Cn5GM3RJyUENDJ/d6LnYVW+gkA4=">
          <file path="boost/url/url_base.hpp" line="1264"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="addr">
            <type class="lvalue-reference">
              <pointee-type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Set the host to an address</text>
            </para>
            <para>
              <text>The host is set to the specified IPv4</text>
              <text>        address.</text>
              <text>        The host type is</text>
              <reference id="49F64dAiji9HVbP6MxLQiqot7AY=">host_type::ipv4</reference>
              <text>.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url(&quot;http://www.example.com&quot;).set_host_ipv4( ipv4_address( &quot;127.0.0.1&quot; ) ).buffer() == &quot;http://127.0.0.1&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size()`.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_authority() == true &amp;&amp; this-&gt;host_ipv4_address() == addr &amp;&amp; this-&gt;host_type() == host_type::ipv4</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="addr">
              <text>The address to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        IPv4address = dec-octet &quot;.&quot; dec-octet &quot;.&quot; dec-octet &quot;.&quot; dec-octet</text>
              <text></text>
              <text>        dec-octet   = DIGIT                 ; 0-9</text>
              <text>                    / %x31-39 DIGIT         ; 10-99</text>
              <text>                    / &quot;1&quot; 2DIGIT            ; 100-199</text>
              <text>                    / &quot;2&quot; %x30-34 DIGIT     ; 200-249</text>
              <text>                    / &quot;25&quot; %x30-35          ; 250-255</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://en.wikipedia.org/wiki/IPv4">IPv4 (Wikipedia)</link>
            </listitem>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">            3.2.2. Host (rfc3986)</link>
            </listitem>
            <see>
              <reference id="OgEcjvMpUkw5cqqrotx6BNVfYuA=">set_encoded_host</reference>
              <text>,</text>
              <reference id="51fvhkKEd4+UZEBsnLd4vUL/Svw=">set_encoded_host_address</reference>
              <text>,</text>
              <reference id="Lz8KFSebh4YuJuAAf0STYQ/VPqk=">set_encoded_host_name</reference>
              <text>,</text>
              <reference id="lhYybwvylnG/ieiGmyVfyExN3dw=">set_host</reference>
              <text>,</text>
              <reference id="ut25mVfVRShtv19Mg+nvS5jVATc=">set_host_address</reference>
              <text>,</text>
              <reference id="BryTExdDEUoZs6riyC1Qi0/NtPE=">set_host_ipv6</reference>
              <text>,</text>
              <reference id="BQxPHhB2Uv0OyVbWf3e7/seXVX8=">set_host_ipvfuture</reference>
              <text>,</text>
              <reference id="Pt4icJRgJxULgQjbXV6yzBigNl8=">set_host_name</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_host_ipv6" id="BryTExdDEUoZs6riyC1Qi0/NtPE=">
          <file path="boost/url/url_base.hpp" line="1328"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="addr">
            <type class="lvalue-reference">
              <pointee-type id="dhMSRVBIIIItY0URHSc8rwHcdTQ=" name="ipv6_address" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Set the host to an address</text>
            </para>
            <para>
              <text>The host is set to the specified IPv6</text>
              <text>        address.</text>
              <text>        The host type is</text>
              <reference id="jTh/N5N+Bz51cZo2Mwmh6tzxPOc=">host_type::ipv6</reference>
              <text>.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url().set_host_ipv6( ipv6_address( &quot;1::6:c0a8:1&quot; ) ).authority().buffer() == &quot;[1::6:c0a8:1]&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_authority() == true &amp;&amp; this-&gt;host_ipv6_address() == addr &amp;&amp; this-&gt;host_type() == host_type::ipv6</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="addr">
              <text>The address to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        IPv6address =                            6( h16 &quot;:&quot; ) ls32</text>
              <text>                    /                       &quot;::&quot; 5( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [               h16 ] &quot;::&quot; 4( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [ *1( h16 &quot;:&quot; ) h16 ] &quot;::&quot; 3( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [ *2( h16 &quot;:&quot; ) h16 ] &quot;::&quot; 2( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [ *3( h16 &quot;:&quot; ) h16 ] &quot;::&quot;    h16 &quot;:&quot;   ls32</text>
              <text>                    / [ *4( h16 &quot;:&quot; ) h16 ] &quot;::&quot;              ls32</text>
              <text>                    / [ *5( h16 &quot;:&quot; ) h16 ] &quot;::&quot;              h16</text>
              <text>                    / [ *6( h16 &quot;:&quot; ) h16 ] &quot;::&quot;</text>
              <text></text>
              <text>        ls32        = ( h16 &quot;:&quot; h16 ) / IPv4address</text>
              <text>                    ; least-significant 32 bits of address</text>
              <text></text>
              <text>        h16         = 1*4HEXDIG</text>
              <text>                    ; 16 bits of address represented in hexadecimal</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc4291">IP Version 6 Addressing Architecture (rfc4291)</link>
            </listitem>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">            3.2.2. Host (rfc3986)</link>
            </listitem>
            <see>
              <reference id="OgEcjvMpUkw5cqqrotx6BNVfYuA=">set_encoded_host</reference>
              <text>,</text>
              <reference id="51fvhkKEd4+UZEBsnLd4vUL/Svw=">set_encoded_host_address</reference>
              <text>,</text>
              <reference id="Lz8KFSebh4YuJuAAf0STYQ/VPqk=">set_encoded_host_name</reference>
              <text>,</text>
              <reference id="lhYybwvylnG/ieiGmyVfyExN3dw=">set_host</reference>
              <text>,</text>
              <reference id="ut25mVfVRShtv19Mg+nvS5jVATc=">set_host_address</reference>
              <text>,</text>
              <reference id="Cn5GM3RJyUENDJ/d6LnYVW+gkA4=">set_host_ipv4</reference>
              <text>,</text>
              <reference id="BQxPHhB2Uv0OyVbWf3e7/seXVX8=">set_host_ipvfuture</reference>
              <text>,</text>
              <reference id="Pt4icJRgJxULgQjbXV6yzBigNl8=">set_host_name</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_host_ipvfuture" id="BQxPHhB2Uv0OyVbWf3e7/seXVX8=">
          <file path="boost/url/url_base.hpp" line="1380"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the host to an address</text>
            </para>
            <para>
              <text>The host is set to the specified IPvFuture</text>
              <text>        string.</text>
              <text>        The host type is</text>
              <reference id="TcYJaTwDFsx+0S2CkvHHARcCqWc=">host_type::ipvfuture</reference>
              <text>.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url().set_host_ipvfuture( &quot;v42.bis&quot; ).buffer() == &quot;//[v42.bis]&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size() + s.size()`.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_authority() == true &amp;&amp; this-&gt;host_ipvfuture) == s &amp;&amp; this-&gt;host_type() == host_type::ipvfuture</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `s` contains an invalid percent-encoding.</text>
            </throws>
            <param name="s">
              <text>The string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        IPvFuture     = &quot;v&quot; 1*HEXDIG &quot;.&quot; 1*( unreserved / sub-delims / &quot;:&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">            3.2.2. Host (rfc3986)</link>
            </listitem>
            <see>
              <reference id="OgEcjvMpUkw5cqqrotx6BNVfYuA=">set_encoded_host</reference>
              <text>,</text>
              <reference id="51fvhkKEd4+UZEBsnLd4vUL/Svw=">set_encoded_host_address</reference>
              <text>,</text>
              <reference id="Lz8KFSebh4YuJuAAf0STYQ/VPqk=">set_encoded_host_name</reference>
              <text>,</text>
              <reference id="lhYybwvylnG/ieiGmyVfyExN3dw=">set_host</reference>
              <text>,</text>
              <reference id="ut25mVfVRShtv19Mg+nvS5jVATc=">set_host_address</reference>
              <text>,</text>
              <reference id="Cn5GM3RJyUENDJ/d6LnYVW+gkA4=">set_host_ipv4</reference>
              <text>,</text>
              <reference id="BryTExdDEUoZs6riyC1Qi0/NtPE=">set_host_ipv6</reference>
              <text>,</text>
              <reference id="Pt4icJRgJxULgQjbXV6yzBigNl8=">set_host_name</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_host_name" id="Pt4icJRgJxULgQjbXV6yzBigNl8=">
          <file path="boost/url/url_base.hpp" line="1427"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the host to a name</text>
            </para>
            <para>
              <text>The host is set to the specified string,</text>
              <text>        which may be empty.</text>
              <text>        Reserved characters in the string are</text>
              <text>        percent-escaped in the result.</text>
              <text>        The host type is</text>
              <reference id="HUq75uZ3LBPW3yvUAfpdNzqcfjc=">host_type::name</reference>
              <text>.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://www.example.com/index.htm&quot;).set_host_name( &quot;localhost&quot; ).host_address() == &quot;localhost&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_authority() == true &amp;&amp; this-&gt;host_ipv6_address() == addr &amp;&amp; this-&gt;host_type() == host_type::name</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="s">
              <text>The string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">            3.2.2. Host (rfc3986)</link>
            </listitem>
            <see>
              <reference id="OgEcjvMpUkw5cqqrotx6BNVfYuA=">set_encoded_host</reference>
              <text>,</text>
              <reference id="51fvhkKEd4+UZEBsnLd4vUL/Svw=">set_encoded_host_address</reference>
              <text>,</text>
              <reference id="Lz8KFSebh4YuJuAAf0STYQ/VPqk=">set_encoded_host_name</reference>
              <text>,</text>
              <reference id="lhYybwvylnG/ieiGmyVfyExN3dw=">set_host</reference>
              <text>,</text>
              <reference id="ut25mVfVRShtv19Mg+nvS5jVATc=">set_host_address</reference>
              <text>,</text>
              <reference id="Cn5GM3RJyUENDJ/d6LnYVW+gkA4=">set_host_ipv4</reference>
              <text>,</text>
              <reference id="BryTExdDEUoZs6riyC1Qi0/NtPE=">set_host_ipv6</reference>
              <text>,</text>
              <reference id="BQxPHhB2Uv0OyVbWf3e7/seXVX8=">set_host_ipvfuture</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_encoded_host_name" id="Lz8KFSebh4YuJuAAf0STYQ/VPqk=">
          <file path="boost/url/url_base.hpp" line="1480"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the host to a name</text>
            </para>
            <para>
              <text>The host is set to the specified string,</text>
              <text>        which may contain percent-escapes and</text>
              <text>        can be empty.</text>
              <text>        Escapes in the string are preserved,</text>
              <text>        and reserved characters in the string</text>
              <text>        are percent-escaped in the result.</text>
              <text>        The host type is</text>
              <reference id="HUq75uZ3LBPW3yvUAfpdNzqcfjc=">host_type::name</reference>
              <text>.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://www.example.com/index.htm&quot;).set_encoded_host_name( &quot;localhost&quot; ).host_address() == &quot;localhost&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_authority() == true &amp;&amp; this-&gt;host_ipv6_address() == addr &amp;&amp; this-&gt;host_type() == host_type::name</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `s` contains an invalid percent-encoding.</text>
            </throws>
            <param name="s">
              <text>The string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">            3.2.2. Host (rfc3986)</link>
            </listitem>
            <see>
              <reference id="OgEcjvMpUkw5cqqrotx6BNVfYuA=">set_encoded_host</reference>
              <text>,</text>
              <reference id="51fvhkKEd4+UZEBsnLd4vUL/Svw=">set_encoded_host_address</reference>
              <text>,</text>
              <reference id="lhYybwvylnG/ieiGmyVfyExN3dw=">set_host</reference>
              <text>,</text>
              <reference id="ut25mVfVRShtv19Mg+nvS5jVATc=">set_host_address</reference>
              <text>,</text>
              <reference id="Cn5GM3RJyUENDJ/d6LnYVW+gkA4=">set_host_ipv4</reference>
              <text>,</text>
              <reference id="BryTExdDEUoZs6riyC1Qi0/NtPE=">set_host_ipv6</reference>
              <text>,</text>
              <reference id="BQxPHhB2Uv0OyVbWf3e7/seXVX8=">set_host_ipvfuture</reference>
              <text>,</text>
              <reference id="Pt4icJRgJxULgQjbXV6yzBigNl8=">set_host_name</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_port_number" id="4bptcCq14NmzqKQvnx54lE+28F0=">
          <file path="boost/url/url_base.hpp" line="1524"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="n">
            <type name="std::uint16_t"/>
          </param>
          <doc>
            <para>
              <text>Set the port</text>
            </para>
            <para>
              <text>The port is set to the specified integer.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://www.example.com&quot; ).set_port_number( 8080 ).authority().buffer() == &quot;www.example.com:8080&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_authority() == true &amp;&amp; this-&gt;has_port() == true &amp;&amp; this-&gt;port_number() == n</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="n">
              <text>The port number to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        authority     = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
              <text></text>
              <text>        port          = *DIGIT</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.3">            3.2.3. Port (rfc3986)</link>
            </listitem>
            <see>
              <reference id="ADa0xIsiS8APEAdL3+s0LoNowA8=">remove_port</reference>
              <text>,</text>
              <reference id="p1q1Ba+a+naWvTDfBuMPt0DJw2A=">set_port</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_port" id="p1q1Ba+a+naWvTDfBuMPt0DJw2A=">
          <file path="boost/url/url_base.hpp" line="1567"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the port</text>
            </para>
            <para>
              <text>This port is set to the string, which</text>
              <text>        must contain only digits or be empty.</text>
              <text>        An empty port string is distinct from</text>
              <text>        having no port.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://www.example.com&quot; ).set_port( &quot;8080&quot; ).authority().buffer() == &quot;www.example.com:8080&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_port() == true &amp;&amp; this-&gt;port_number() == n &amp;&amp; this-&gt;port() == std::to_string(n)</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `s` does not contain a valid port.</text>
            </throws>
            <param name="s">
              <text>The port string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        port          = *DIGIT</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.3">            3.2.3. Port (rfc3986)</link>
            </listitem>
            <see>
              <reference id="ADa0xIsiS8APEAdL3+s0LoNowA8=">remove_port</reference>
              <text>,</text>
              <reference id="p1q1Ba+a+naWvTDfBuMPt0DJw2A=">set_port</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="remove_port" exception-spec="noexcept" id="ADa0xIsiS8APEAdL3+s0LoNowA8=">
          <file path="boost/url/url_base.hpp" line="1605"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Remove the port</text>
            </para>
            <para>
              <text>If a port exists, it is removed. The rest</text>
              <text>        of the authority is unchanged.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://www.example.com:80&quot; ).remove_port().authority().buffer() == &quot;www.example.com&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_port() == false &amp;&amp; this-&gt;port_number() == 0 &amp;&amp; this-&gt;port() == &quot;&quot;</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        authority     = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
              <text></text>
              <text>        port          = *DIGIT</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.3">            3.2.3. Port (rfc3986)</link>
            </listitem>
            <see>
              <reference id="p1q1Ba+a+naWvTDfBuMPt0DJw2A=">set_port</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_path_absolute" id="BHDHQef0k/8vd3QskLyTrsv7+DE=">
          <file path="boost/url/url_base.hpp" line="1667"/>
          <return>
            <type name="bool"/>
          </return>
          <param name="absolute">
            <type name="bool"/>
          </param>
          <doc>
            <para>
              <text>Set if the path is absolute</text>
            </para>
            <para>
              <text>This function adjusts the path to make</text>
              <text>        it absolute or not, depending on the</text>
              <text>        parameter.</text>
            </para>
            <para class="note">
              <text>If an authority is present, the path</text>
              <text>        is always absolute. In this case, the</text>
              <text>        function has no effect.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;path/to/file.txt&quot; );</text>
              <text>        assert( u.set_path_absolute( true ) );</text>
              <text>        assert( u.buffer() == &quot;/path/to/file.txt&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;is_path_absolute() == true &amp;&amp; this-&gt;encoded_path().front() == &apos;/&apos;</text>
            </code>
            <returns>
              <text>true on success.</text>
            </returns>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size()`.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        path          = path-abempty    ; begins with &quot;/&quot; or is empty</text>
              <text>                      / path-absolute   ; begins with &quot;/&quot; but not &quot;//&quot;</text>
              <text>                      / path-noscheme   ; begins with a non-colon segment</text>
              <text>                      / path-rootless   ; begins with a segment</text>
              <text>                      / path-empty      ; zero characters</text>
              <text></text>
              <text>        path-abempty  = *( &quot;/&quot; segment )</text>
              <text>        path-absolute = &quot;/&quot; [ segment-nz *( &quot;/&quot; segment ) ]</text>
              <text>        path-noscheme = segment-nz-nc *( &quot;/&quot; segment )</text>
              <text>        path-rootless = segment-nz *( &quot;/&quot; segment )</text>
              <text>        path-empty    = 0&lt;pchar&gt;</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.3">3.3.  Path (rfc3986)</link>
            </listitem>
            <see>
              <reference id="5da2HmyZRkzKje3uZJyQ0Zr/GBI=">encoded_segments</reference>
              <text>,</text>
              <reference id="QP1V0/Bd4lTeXI0vaNEiUqgvkPQ=">segments</reference>
              <text>,</text>
              <reference id="GQGd+Ne+D3eTy4fe+x1cpa5zefU=">set_encoded_path</reference>
              <text>,</text>
              <reference id="0VMn4mT6ruiabbTCXyOFe+JATBg=">set_path</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_path" id="0VMn4mT6ruiabbTCXyOFe+JATBg=">
          <file path="boost/url/url_base.hpp" line="1733"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the path.</text>
            </para>
            <para>
              <text>This function sets the path to the</text>
              <text>        string, which may be empty.</text>
              <text>        Reserved characters in the string are</text>
              <text>        percent-escaped in the result.</text>
            </para>
            <para class="note">
              <text>The library may adjust the final result</text>
              <text>        to ensure that no other parts of the url</text>
              <text>        is semantically affected.</text>
            </para>
            <para class="note">
              <text>This function does not encode &apos;/&apos; chars, which</text>
              <text>        are unreserved for paths but reserved for</text>
              <text>        path segments. If a path segment should include</text>
              <text>        encoded &apos;/&apos;s to differentiate it from path separators,</text>
              <text>        the functions</text>
              <reference id="GQGd+Ne+D3eTy4fe+x1cpa5zefU=">set_encoded_path</reference>
              <text> or</text>
              <reference id="QP1V0/Bd4lTeXI0vaNEiUqgvkPQ=">segments</reference>
              <text>        should be used instead.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;http://www.example.com&quot; );</text>
              <text></text>
              <text>        u.set_path( &quot;path/to/file.txt&quot; );</text>
              <text></text>
              <text>        assert( u.path() == &quot;/path/to/file.txt&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size() + s.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="s">
              <text>The string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        path          = path-abempty    ; begins with &quot;/&quot; or is empty</text>
              <text>                      / path-absolute   ; begins with &quot;/&quot; but not &quot;//&quot;</text>
              <text>                      / path-noscheme   ; begins with a non-colon segment</text>
              <text>                      / path-rootless   ; begins with a segment</text>
              <text>                      / path-empty      ; zero characters</text>
              <text></text>
              <text>        path-abempty  = *( &quot;/&quot; segment )</text>
              <text>        path-absolute = &quot;/&quot; [ segment-nz *( &quot;/&quot; segment ) ]</text>
              <text>        path-noscheme = segment-nz-nc *( &quot;/&quot; segment )</text>
              <text>        path-rootless = segment-nz *( &quot;/&quot; segment )</text>
              <text>        path-empty    = 0&lt;pchar&gt;</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.3">3.3.  Path (rfc3986)</link>
            </listitem>
            <see>
              <reference id="5da2HmyZRkzKje3uZJyQ0Zr/GBI=">encoded_segments</reference>
              <text>,</text>
              <reference id="QP1V0/Bd4lTeXI0vaNEiUqgvkPQ=">segments</reference>
              <text>,</text>
              <reference id="GQGd+Ne+D3eTy4fe+x1cpa5zefU=">set_encoded_path</reference>
              <text>,</text>
              <reference id="BHDHQef0k/8vd3QskLyTrsv7+DE=">set_path_absolute</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_encoded_path" id="GQGd+Ne+D3eTy4fe+x1cpa5zefU=">
          <file path="boost/url/url_base.hpp" line="1798"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the path.</text>
            </para>
            <para>
              <text>This function sets the path to the</text>
              <text>        string, which may contain percent-escapes</text>
              <text>        and can be empty.</text>
              <text>        Escapes in the string are preserved,</text>
              <text>        and reserved characters in the string</text>
              <text>        are percent-escaped in the result.</text>
            </para>
            <para class="note">
              <text>The library may adjust the final result</text>
              <text>        to ensure that no other parts of the url</text>
              <text>        is semantically affected.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;http://www.example.com&quot; );</text>
              <text></text>
              <text>        u.set_encoded_path( &quot;path/to/file.txt&quot; );</text>
              <text></text>
              <text>        assert( u.encoded_path() == &quot;/path/to/file.txt&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size() + s.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `s` contains an invalid percent-encoding.</text>
            </throws>
            <param name="s">
              <text>The string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        path          = path-abempty    ; begins with &quot;/&quot; or is empty</text>
              <text>                      / path-absolute   ; begins with &quot;/&quot; but not &quot;//&quot;</text>
              <text>                      / path-noscheme   ; begins with a non-colon segment</text>
              <text>                      / path-rootless   ; begins with a segment</text>
              <text>                      / path-empty      ; zero characters</text>
              <text></text>
              <text>        path-abempty  = *( &quot;/&quot; segment )</text>
              <text>        path-absolute = &quot;/&quot; [ segment-nz *( &quot;/&quot; segment ) ]</text>
              <text>        path-noscheme = segment-nz-nc *( &quot;/&quot; segment )</text>
              <text>        path-rootless = segment-nz *( &quot;/&quot; segment )</text>
              <text>        path-empty    = 0&lt;pchar&gt;</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.3">3.3.  Path (rfc3986)</link>
            </listitem>
            <see>
              <reference id="5da2HmyZRkzKje3uZJyQ0Zr/GBI=">encoded_segments</reference>
              <text>,</text>
              <reference id="QP1V0/Bd4lTeXI0vaNEiUqgvkPQ=">segments</reference>
              <text>,</text>
              <reference id="0VMn4mT6ruiabbTCXyOFe+JATBg=">set_path</reference>
              <text>,</text>
              <reference id="BHDHQef0k/8vd3QskLyTrsv7+DE=">set_path_absolute</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="segments" exception-spec="noexcept" id="7IUB1R6CP5b6VCTpQBgLFv27mfU=">
          <file path="boost/url/url_base.hpp" line="1853"/>
          <return>
            <type id="zdr3gU7+2/G05oo6ta/IfHlkTF0=" name="urls::segments_ref"/>
          </return>
          <doc>
            <para>
              <text>Return the path as a container of segments</text>
            </para>
            <para>
              <text>This function returns a bidirectional</text>
              <text>        view of segments over the path.</text>
              <text>        The returned view references the same</text>
              <text>        underlying character buffer; ownership</text>
              <text>        is not transferred.</text>
              <text>        Any percent-escapes in strings returned</text>
              <text>        when iterating the view are decoded first.</text>
              <text>        The container is modifiable; changes</text>
              <text>        to the container are reflected in the</text>
              <text>        underlying URL.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;http://example.com/path/to/file.txt&quot; );</text>
              <text></text>
              <text>        segments sv = u.segments();</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        path          = path-abempty    ; begins with &quot;/&quot; or is empty</text>
              <text>                      / path-absolute   ; begins with &quot;/&quot; but not &quot;//&quot;</text>
              <text>                      / path-noscheme   ; begins with a non-colon segment</text>
              <text>                      / path-rootless   ; begins with a segment</text>
              <text>                      / path-empty      ; zero characters</text>
              <text></text>
              <text>        path-abempty  = *( &quot;/&quot; segment )</text>
              <text>        path-absolute = &quot;/&quot; [ segment-nz *( &quot;/&quot; segment ) ]</text>
              <text>        path-noscheme = segment-nz-nc *( &quot;/&quot; segment )</text>
              <text>        path-rootless = segment-nz *( &quot;/&quot; segment )</text>
              <text>        path-empty    = 0&lt;pchar&gt;</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.3">3.3.  Path (rfc3986)</link>
            </listitem>
            <see>
              <reference id="5da2HmyZRkzKje3uZJyQ0Zr/GBI=">encoded_segments</reference>
              <text>,</text>
              <reference id="GQGd+Ne+D3eTy4fe+x1cpa5zefU=">set_encoded_path</reference>
              <text>,</text>
              <reference id="0VMn4mT6ruiabbTCXyOFe+JATBg=">set_path</reference>
              <text>,</text>
              <reference id="BHDHQef0k/8vd3QskLyTrsv7+DE=">set_path_absolute</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="segments" exception-spec="noexcept" id="QP1V0/Bd4lTeXI0vaNEiUqgvkPQ=">
          <file path="boost/url/url_base.hpp" line="1857" class="def"/>
          <attr id="is-const"/>
          <return>
            <type id="ZNJOLZ4RhCB2A2ooiNo7KxZJHrA=" name="segments_view"/>
          </return>
          <doc>
            <para>
              <copydoc id="txoybJuonJpAdGVWgiAsiI45+ok=">url_view_base::segments</copydoc>
            </para>
          </doc>
        </function>
        <function name="encoded_segments" exception-spec="noexcept" id="6FgVEvfQ0X7vaJ9TLmk6h3MBVPU=">
          <file path="boost/url/url_base.hpp" line="1914"/>
          <return>
            <type id="TCUUfRiqZjX62kt7tK2fs//VWr0=" name="segments_encoded_ref"/>
          </return>
          <doc>
            <para>
              <text>Return the path as a container of segments</text>
            </para>
            <para>
              <text>This function returns a bidirectional</text>
              <text>        view of segments over the path.</text>
              <text>        The returned view references the same</text>
              <text>        underlying character buffer; ownership</text>
              <text>        is not transferred.</text>
              <text>        Strings returned when iterating the</text>
              <text>        range may contain percent escapes.</text>
              <text>        The container is modifiable; changes</text>
              <text>        to the container are reflected in the</text>
              <text>        underlying URL.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;http://example.com/path/to/file.txt&quot; );</text>
              <text></text>
              <text>        segments_encoded_ref sv = u.encoded_segments();</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        path          = path-abempty    ; begins with &quot;/&quot; or is empty</text>
              <text>                      / path-absolute   ; begins with &quot;/&quot; but not &quot;//&quot;</text>
              <text>                      / path-noscheme   ; begins with a non-colon segment</text>
              <text>                      / path-rootless   ; begins with a segment</text>
              <text>                      / path-empty      ; zero characters</text>
              <text></text>
              <text>        path-abempty  = *( &quot;/&quot; segment )</text>
              <text>        path-absolute = &quot;/&quot; [ segment-nz *( &quot;/&quot; segment ) ]</text>
              <text>        path-noscheme = segment-nz-nc *( &quot;/&quot; segment )</text>
              <text>        path-rootless = segment-nz *( &quot;/&quot; segment )</text>
              <text>        path-empty    = 0&lt;pchar&gt;</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.3">3.3.  Path (rfc3986)</link>
            </listitem>
            <see>
              <reference id="5da2HmyZRkzKje3uZJyQ0Zr/GBI=">encoded_segments</reference>
              <text>,</text>
              <reference id="GQGd+Ne+D3eTy4fe+x1cpa5zefU=">set_encoded_path</reference>
              <text>,</text>
              <reference id="0VMn4mT6ruiabbTCXyOFe+JATBg=">set_path</reference>
              <text>,</text>
              <reference id="BHDHQef0k/8vd3QskLyTrsv7+DE=">set_path_absolute</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="encoded_segments" exception-spec="noexcept" id="5da2HmyZRkzKje3uZJyQ0Zr/GBI=">
          <file path="boost/url/url_base.hpp" line="1918" class="def"/>
          <attr id="is-const"/>
          <return>
            <type id="EvaX3SmNTAtai2Kf6Kma3fUkTkQ=" name="segments_encoded_view"/>
          </return>
          <doc>
            <para>
              <copydoc id="xDk467Vs74WMTJdzZiv8izTuGQo=">url_view_base::encoded_segments</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_query" id="99/QTSBQGLrNj3zGdw5VzYlqfnI=">
          <file path="boost/url/url_base.hpp" line="1975"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the query</text>
            </para>
            <para>
              <text>This sets the query to the string, which</text>
              <text>        can be empty.</text>
              <text>        An empty query is distinct from having</text>
              <text>        no query.</text>
              <text>        Reserved characters in the string are</text>
              <text>        percent-escaped in the result.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://example.com&quot; ).set_query( &quot;id=42&quot; ).query() == &quot;id=42&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_query() == true &amp;&amp; this-&gt;query() == s</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="s">
              <text>The string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        query           = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
              <text></text>
              <text>        query-param     = key [ &quot;=&quot; value ]</text>
              <text>        query-params    = [ query-param ] *( &quot;&amp;&quot; query-param )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4">3.4.  Query (rfc3986)</link>
            </listitem>
            <listitem>
              <link href="https://en.wikipedia.org/wiki/Query_string">Query string (Wikipedia)</link>
            </listitem>
            <see>
              <reference id="aMmTh8VyfWGYracYniHLsug6OhI=">encoded_params</reference>
              <text>,</text>
              <reference id="yOAcBK51dE1EJqsBF6ZGTSEnocA=">params</reference>
              <text>,</text>
              <reference id="ZZWEzCK7DguUxc3TvUfizoGKplE=">remove_query</reference>
              <text>,</text>
              <reference id="QcQ13DUh8M8TR/zj/LDG3N/+i3c=">set_encoded_query</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_encoded_query" id="QcQ13DUh8M8TR/zj/LDG3N/+i3c=">
          <file path="boost/url/url_base.hpp" line="2030"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the query</text>
            </para>
            <para>
              <text>This sets the query to the string, which</text>
              <text>        may contain percent-escapes and can be</text>
              <text>        empty.</text>
              <text>        An empty query is distinct from having</text>
              <text>        no query.</text>
              <text>        Escapes in the string are preserved,</text>
              <text>        and reserved characters in the string</text>
              <text>        are percent-escaped in the result.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://example.com&quot; ).set_encoded_query( &quot;id=42&quot; ).encoded_query() == &quot;id=42&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_query() == true &amp;&amp; this-&gt;query() == decode_view( s );</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <param name="s">
              <text>The string to set.</text>
            </param>
            <throws>
              <text>        `s` contains an invalid percent-encoding.</text>
            </throws>
            <head>BNF</head>
            <code>
              <text>        query           = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
              <text></text>
              <text>        query-param     = key [ &quot;=&quot; value ]</text>
              <text>        query-params    = [ query-param ] *( &quot;&amp;&quot; query-param )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4">3.4.  Query (rfc3986)</link>
            </listitem>
            <listitem>
              <link href="https://en.wikipedia.org/wiki/Query_string">Query string (Wikipedia)</link>
            </listitem>
            <see>
              <reference id="aMmTh8VyfWGYracYniHLsug6OhI=">encoded_params</reference>
              <text>,</text>
              <reference id="yOAcBK51dE1EJqsBF6ZGTSEnocA=">params</reference>
              <text>,</text>
              <reference id="ZZWEzCK7DguUxc3TvUfizoGKplE=">remove_query</reference>
              <text>,</text>
              <reference id="99/QTSBQGLrNj3zGdw5VzYlqfnI=">set_query</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="params" exception-spec="noexcept" id="MYfnAHxNPsNhl4M31kQzwrirB9M=">
          <file path="boost/url/url_base.hpp" line="2078"/>
          <return>
            <type id="8S83BKvWBCDdTktlY8X93Mlo9E0=" name="params_ref"/>
          </return>
          <doc>
            <para>
              <text>Return the query as a container of parameters</text>
            </para>
            <para>
              <text>This function returns a bidirectional</text>
              <text>        view of key/value pairs over the query.</text>
              <text>        The returned view references the same</text>
              <text>        underlying character buffer; ownership</text>
              <text>        is not transferred.</text>
              <text>        Any percent-escapes in strings returned</text>
              <text>        when iterating the view are decoded first.</text>
              <text>        The container is modifiable; changes</text>
              <text>        to the container are reflected in the</text>
              <text>        underlying URL.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        params_ref pv = url( &quot;/sql?id=42&amp;name=jane%2Ddoe&amp;page+size=20&quot; ).params();</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        query           = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
              <text></text>
              <text>        query-param     = key [ &quot;=&quot; value ]</text>
              <text>        query-params    = [ query-param ] *( &quot;&amp;&quot; query-param )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4">3.4.  Query (rfc3986)</link>
            </listitem>
            <listitem>
              <link href="https://en.wikipedia.org/wiki/Query_string">Query string (Wikipedia)</link>
            </listitem>
            <see>
              <reference id="aMmTh8VyfWGYracYniHLsug6OhI=">encoded_params</reference>
              <text>,</text>
              <reference id="ZZWEzCK7DguUxc3TvUfizoGKplE=">remove_query</reference>
              <text>,</text>
              <reference id="QcQ13DUh8M8TR/zj/LDG3N/+i3c=">set_encoded_query</reference>
              <text>,</text>
              <reference id="99/QTSBQGLrNj3zGdw5VzYlqfnI=">set_query</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="params" exception-spec="noexcept" id="s9dRuYwynzv+XH3wi5E1LonuuYk=">
          <file path="boost/url/url_base.hpp" line="2082" class="def"/>
          <attr id="is-const"/>
          <return>
            <type id="DzqMpaJX2O25vPFxEN5EDTyU6uw=" name="params_view"/>
          </return>
          <doc>
            <para>
              <copydoc id="V3u1IzKjTvUUsoIglN4qUAzgD4k=">url_view_base::params</copydoc>
            </para>
          </doc>
        </function>
        <function name="params" exception-spec="noexcept" id="yOAcBK51dE1EJqsBF6ZGTSEnocA=">
          <file path="boost/url/url_base.hpp" line="2138"/>
          <return>
            <type id="8S83BKvWBCDdTktlY8X93Mlo9E0=" name="params_ref"/>
          </return>
          <param name="opt">
            <type id="Bb04pNwExynJkzlY9a9GCeeB13k=" name="encoding_opts"/>
          </param>
          <doc>
            <para>
              <text>Return the query as a container of parameters</text>
            </para>
            <para>
              <text>This function returns a bidirectional</text>
              <text>        view of key/value pairs over the query.</text>
              <text>        The returned view references the same</text>
              <text>        underlying character buffer; ownership</text>
              <text>        is not transferred.</text>
              <text>        Any percent-escapes in strings returned</text>
              <text>        when iterating the view are decoded first.</text>
              <text>        The container is modifiable; changes</text>
              <text>        to the container are reflected in the</text>
              <text>        underlying URL.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        encoding_opts opt;</text>
              <text>        opt.space_as_plus = true;</text>
              <text>        params_ref pv = url( &quot;/sql?id=42&amp;name=jane+doe&amp;page+size=20&quot; ).params(opt);</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <param name="opt">
              <text>The options for decoding. If</text>
              <text>        this parameter is omitted, the `space_as_plus`</text>
              <text>        is used.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        query           = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
              <text></text>
              <text>        query-param     = key [ &quot;=&quot; value ]</text>
              <text>        query-params    = [ query-param ] *( &quot;&amp;&quot; query-param )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4">3.4.  Query (rfc3986)</link>
            </listitem>
            <listitem>
              <link href="https://en.wikipedia.org/wiki/Query_string">Query string (Wikipedia)</link>
            </listitem>
            <see>
              <reference id="aMmTh8VyfWGYracYniHLsug6OhI=">encoded_params</reference>
              <text>,</text>
              <reference id="ZZWEzCK7DguUxc3TvUfizoGKplE=">remove_query</reference>
              <text>,</text>
              <reference id="QcQ13DUh8M8TR/zj/LDG3N/+i3c=">set_encoded_query</reference>
              <text>,</text>
              <reference id="99/QTSBQGLrNj3zGdw5VzYlqfnI=">set_query</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="encoded_params" exception-spec="noexcept" id="JE/K4m/Ht4rR+eX6GaLeumryMhM=">
          <file path="boost/url/url_base.hpp" line="2142" class="def"/>
          <attr id="is-const"/>
          <return>
            <type id="0nSfM4mK92fIx58KtzdWGiHuq2w=" name="params_encoded_view"/>
          </return>
          <doc>
            <para>
              <copydoc id="YdRpQ6mNNA/rw8PqzTxP08VgNnY=">url_view_base::encoded_params</copydoc>
            </para>
          </doc>
        </function>
        <function name="encoded_params" exception-spec="noexcept" id="aMmTh8VyfWGYracYniHLsug6OhI=">
          <file path="boost/url/url_base.hpp" line="2192"/>
          <return>
            <type id="oR5B5D0/JYTOQYvyFXRv+at91JE=" name="params_encoded_ref"/>
          </return>
          <doc>
            <para>
              <text>Return the query as a container of parameters</text>
            </para>
            <para>
              <text>This function returns a bidirectional</text>
              <text>        view of key/value pairs over the query.</text>
              <text>        The returned view references the same</text>
              <text>        underlying character buffer; ownership</text>
              <text>        is not transferred.</text>
              <text>        Strings returned when iterating the</text>
              <text>        range may contain percent escapes.</text>
              <text>        The container is modifiable; changes</text>
              <text>        to the container are reflected in the</text>
              <text>        underlying URL.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        params_encoded_ref pv = url( &quot;/sql?id=42&amp;name=jane%2Ddoe&amp;page+size=20&quot; ).encoded_params();</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        query           = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
              <text></text>
              <text>        query-param     = key [ &quot;=&quot; value ]</text>
              <text>        query-params    = [ query-param ] *( &quot;&amp;&quot; query-param )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4">3.4.  Query (rfc3986)</link>
            </listitem>
            <listitem>
              <link href="https://en.wikipedia.org/wiki/Query_string">Query string (Wikipedia)</link>
            </listitem>
            <see>
              <reference id="yOAcBK51dE1EJqsBF6ZGTSEnocA=">params</reference>
              <text>,</text>
              <reference id="ZZWEzCK7DguUxc3TvUfizoGKplE=">remove_query</reference>
              <text>,</text>
              <reference id="QcQ13DUh8M8TR/zj/LDG3N/+i3c=">set_encoded_query</reference>
              <text>,</text>
              <reference id="99/QTSBQGLrNj3zGdw5VzYlqfnI=">set_query</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_params" exception-spec="noexcept" id="U1ygsjkWTkeLBPHM3iUMUjFUpv8=">
          <file path="boost/url/url_base.hpp" line="2245"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="ps">
            <type name="std::initializer_list&lt;param_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Set the query params</text>
            </para>
            <para>
              <text>This sets the query params to the list</text>
              <text>        of param_view, which can be empty.</text>
            </para>
            <para>
              <text>An empty list of params is distinct from</text>
              <text>        having no params.</text>
            </para>
            <para>
              <text>Reserved characters in the string are</text>
              <text>        percent-escaped in the result.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://example.com&quot; ).set_params( {&quot;id&quot;, &quot;42&quot;} ).query() == &quot;id=42&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_query() == true</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear.</text>
            </para>
            <param name="ps">
              <text>The params to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        query           = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
              <text></text>
              <text>        query-param     = key [ &quot;=&quot; value ]</text>
              <text>        query-params    = [ query-param ] *( &quot;&amp;&quot; query-param )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4
            &gt;3.4.  Query (rfc3986)&lt;/a&gt;
        @li &lt;a href=">://en.wikipedia.org/wiki/Query_string&quot;            &gt;Query string (Wikipedia)</link>
            </listitem>
            <see>
              <reference id="aMmTh8VyfWGYracYniHLsug6OhI=">encoded_params</reference>
              <text>,</text>
              <reference id="ZZWEzCK7DguUxc3TvUfizoGKplE=">remove_query</reference>
              <text>,</text>
              <reference id="QcQ13DUh8M8TR/zj/LDG3N/+i3c=">set_encoded_query</reference>
              <text>,</text>
              <reference id="99/QTSBQGLrNj3zGdw5VzYlqfnI=">set_query</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_encoded_params" exception-spec="noexcept" id="S9fyQqerhxu7yBt8GhsEJ9RKJl8=">
          <file path="boost/url/url_base.hpp" line="2305"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="ps">
            <type name="std::initializer_list&lt;param_pct_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Set the query params</text>
            </para>
            <para>
              <text>This sets the query params to the elements</text>
              <text>        in the list, which may contain</text>
              <text>        percent-escapes and can be empty.</text>
            </para>
            <para>
              <text>An empty list of params is distinct from</text>
              <text>        having no query.</text>
            </para>
            <para>
              <text>Escapes in the string are preserved,</text>
              <text>        and reserved characters in the string</text>
              <text>        are percent-escaped in the result.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://example.com&quot; ).set_encoded_params( {&quot;id&quot;, &quot;42&quot;} ).encoded_query() == &quot;id=42&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_query() == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <param name="ps">
              <text>The params to set.</text>
            </param>
            <throws>
              <text>        some element in `ps` contains an invalid percent-encoding.</text>
            </throws>
            <head>BNF</head>
            <code>
              <text>        query           = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
              <text></text>
              <text>        query-param     = key [ &quot;=&quot; value ]</text>
              <text>        query-params    = [ query-param ] *( &quot;&amp;&quot; query-param )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4">3.4. Query (rfc3986)</link>
            </listitem>
            <listitem>
              <link href="https://en.wikipedia.org/wiki/Query_string">Query string (Wikipedia)</link>
            </listitem>
            <see>
              <reference id="U1ygsjkWTkeLBPHM3iUMUjFUpv8=">set_params</reference>
              <text>,</text>
              <reference id="yOAcBK51dE1EJqsBF6ZGTSEnocA=">params</reference>
              <text>,</text>
              <reference id="ZZWEzCK7DguUxc3TvUfizoGKplE=">remove_query</reference>
              <text>,</text>
              <reference id="QcQ13DUh8M8TR/zj/LDG3N/+i3c=">set_encoded_query</reference>
              <text>,</text>
              <reference id="99/QTSBQGLrNj3zGdw5VzYlqfnI=">set_query</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="remove_query" exception-spec="noexcept" id="ZZWEzCK7DguUxc3TvUfizoGKplE=">
          <file path="boost/url/url_base.hpp" line="2347"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Remove the query</text>
            </para>
            <para>
              <text>If a query is present, it is removed.</text>
              <text>        An empty query is distinct from having</text>
              <text>        no query.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://www.example.com?id=42&quot; ).remove_query().buffer() == &quot;http://www.example.com&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_query() == false &amp;&amp; this-&gt;params().empty()</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        query           = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
              <text></text>
              <text>        query-param     = key [ &quot;=&quot; value ]</text>
              <text>        query-params    = [ query-param ] *( &quot;&amp;&quot; query-param )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4">3.4.  Query (rfc3986)</link>
            </listitem>
            <listitem>
              <link href="https://en.wikipedia.org/wiki/Query_string">Query string (Wikipedia)</link>
            </listitem>
            <see>
              <reference id="aMmTh8VyfWGYracYniHLsug6OhI=">encoded_params</reference>
              <text>,</text>
              <reference id="yOAcBK51dE1EJqsBF6ZGTSEnocA=">params</reference>
              <text>,</text>
              <reference id="QcQ13DUh8M8TR/zj/LDG3N/+i3c=">set_encoded_query</reference>
              <text>,</text>
              <reference id="99/QTSBQGLrNj3zGdw5VzYlqfnI=">set_query</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="remove_fragment" exception-spec="noexcept" id="aGhIz5PP9XtdztICzhAvM4n92Sg=">
          <file path="boost/url/url_base.hpp" line="2392"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Remove the fragment</text>
            </para>
            <para>
              <text>This function removes the fragment.</text>
              <text>        An empty fragment is distinct from</text>
              <text>        having no fragment.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;?first=john&amp;last=doe#anchor&quot; ).remove_fragment().buffer() == &quot;?first=john&amp;last=doe&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_fragment() == false &amp;&amp; this-&gt;encoded_fragment() == &quot;&quot;</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        fragment    = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.5">3.5.  Fragment</link>
            </listitem>
            <see>
              <reference id="aGhIz5PP9XtdztICzhAvM4n92Sg=">remove_fragment</reference>
              <text>,</text>
              <reference id="ebU9NPxh5c4VwDAaQA1CXRWbSKk=">set_encoded_fragment</reference>
              <text>,</text>
              <reference id="VHh7zoCWGsviuG3lWYA54cKWneU=">set_fragment</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_fragment" id="VHh7zoCWGsviuG3lWYA54cKWneU=">
          <file path="boost/url/url_base.hpp" line="2436"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the fragment.</text>
            </para>
            <para>
              <text>This function sets the fragment to the</text>
              <text>        specified string, which may be empty.</text>
              <text>        An empty fragment is distinct from</text>
              <text>        having no fragment.</text>
              <text>        Reserved characters in the string are</text>
              <text>        percent-escaped in the result.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url(&quot;?first=john&amp;last=doe&quot; ).set_encoded_fragment( &quot;john doe&quot; ).encoded_fragment() == &quot;john%20doe&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_fragment() == true &amp;&amp; this-&gt;fragment() == s</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size() + s.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="s">
              <text>The string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        fragment    = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.5">3.5.  Fragment</link>
            </listitem>
            <see>
              <reference id="aGhIz5PP9XtdztICzhAvM4n92Sg=">remove_fragment</reference>
              <text>,</text>
              <reference id="ebU9NPxh5c4VwDAaQA1CXRWbSKk=">set_encoded_fragment</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="set_encoded_fragment" id="ebU9NPxh5c4VwDAaQA1CXRWbSKk=">
          <file path="boost/url/url_base.hpp" line="2487"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <text>Set the fragment.</text>
            </para>
            <para>
              <text>This function sets the fragment to the</text>
              <text>        specified string, which may contain</text>
              <text>        percent-escapes and which may be empty.</text>
              <text>        An empty fragment is distinct from</text>
              <text>        having no fragment.</text>
              <text>        Escapes in the string are preserved,</text>
              <text>        and reserved characters in the string</text>
              <text>        are percent-escaped in the result.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url(&quot;?first=john&amp;last=doe&quot; ).set_encoded_fragment( &quot;john%2Ddoe&quot; ).fragment() == &quot;john-doe&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;has_fragment() == true &amp;&amp; this-&gt;fragment() == decode_view( s )</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size() + s.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `s` contains an invalid percent-encoding.</text>
            </throws>
            <param name="s">
              <text>The string to set.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        fragment    = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.5">3.5.  Fragment</link>
            </listitem>
            <see>
              <reference id="aGhIz5PP9XtdztICzhAvM4n92Sg=">remove_fragment</reference>
              <text>,</text>
              <reference id="VHh7zoCWGsviuG3lWYA54cKWneU=">set_fragment</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="remove_origin" id="OqDHBYUjGSW4mGYuSUu09xFSlEc=">
          <file path="boost/url/url_base.hpp" line="2518"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Remove the origin component</text>
            </para>
            <para>
              <text>This function removes the origin, which</text>
              <text>        consists of the scheme and authority.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url( &quot;http://www.example.com/index.htm&quot; ).remove_origin().buffer() == &quot;/index.htm&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;scheme_id() == scheme::none &amp;&amp; this-&gt;has_authority() == false</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="normalize" id="ldUmQToJNGQ58j33Mti85clcGbM=">
          <file path="boost/url/url_base.hpp" line="2541"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Normalize the URL components</text>
            </para>
            <para>
              <text>Applies Syntax-based normalization to</text>
              <text>        all components of the URL.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <function name="normalize_scheme" id="iyO2AawtEbzXMJkvSocn7BpBBrI=">
          <file path="boost/url/url_base.hpp" line="2560"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Normalize the URL scheme</text>
            </para>
            <para>
              <text>Applies Syntax-based normalization to the</text>
              <text>        URL scheme.</text>
            </para>
            <para>
              <text>The scheme is normalized to lowercase.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <function name="normalize_authority" id="j2lB1y9ywFNpGt8xXYkZZuJbs30=">
          <file path="boost/url/url_base.hpp" line="2582"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Normalize the URL authority</text>
            </para>
            <para>
              <text>Applies Syntax-based normalization to the</text>
              <text>        URL authority.</text>
            </para>
            <para>
              <text>Percent-encoding triplets are normalized</text>
              <text>        to uppercase letters. Percent-encoded</text>
              <text>        octets that correspond to unreserved</text>
              <text>        characters are decoded.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <function name="normalize_path" id="pjVn3eVVaWNAixzkPBECE+lKByQ=">
          <file path="boost/url/url_base.hpp" line="2605"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Normalize the URL path</text>
            </para>
            <para>
              <text>Applies Syntax-based normalization to the</text>
              <text>        URL path.</text>
            </para>
            <para>
              <text>Percent-encoding triplets are normalized</text>
              <text>        to uppercase letters. Percent-encoded</text>
              <text>        octets that correspond to unreserved</text>
              <text>        characters are decoded. Redundant</text>
              <text>        path-segments are removed.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <function name="normalize_query" id="4CZ8ebKgivCQbRJoYD78PmOko2U=">
          <file path="boost/url/url_base.hpp" line="2627"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Normalize the URL query</text>
            </para>
            <para>
              <text>Applies Syntax-based normalization to the</text>
              <text>        URL query.</text>
            </para>
            <para>
              <text>Percent-encoding triplets are normalized</text>
              <text>        to uppercase letters. Percent-encoded</text>
              <text>        octets that correspond to unreserved</text>
              <text>        characters are decoded.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <function name="normalize_fragment" id="R2y0tPa5JiRRSTNXgUjKdMoCOcA=">
          <file path="boost/url/url_base.hpp" line="2649"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Normalize the URL fragment</text>
            </para>
            <para>
              <text>Applies Syntax-based normalization to the</text>
              <text>        URL fragment.</text>
            </para>
            <para>
              <text>Percent-encoding triplets are normalized</text>
              <text>        to uppercase letters. Percent-encoded</text>
              <text>        octets that correspond to unreserved</text>
              <text>        characters are decoded.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <function name="resolve" id="3Pi5l1khAbVAQHD3fWi5GoHEr5E=">
          <file path="boost/url/url_base.hpp" line="2749"/>
          <return>
            <type name="system::result&lt;void&gt;"/>
          </return>
          <param name="ref">
            <type class="lvalue-reference">
              <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Resolve a URL reference against this base URL</text>
            </para>
            <para>
              <text>This function attempts to resolve a URL</text>
              <text>        reference `ref` against this base URL</text>
              <text>        in a manner similar to that of a web browser</text>
              <text>        resolving an anchor tag.</text>
            </para>
            <para>
              <text>This URL must satisfy the </text>
              <italic>URI</italic>
              <text>        grammar. In other words, it must contain</text>
              <text>        a scheme.</text>
            </para>
            <para>
              <text>Relative references are only usable when</text>
              <text>        in the context of a base absolute URI.</text>
              <text>        This process of resolving a relative</text>
              <italic>reference</italic>
              <text> within the context of</text>
              <text>        a</text>
              <italic>base</italic>
              <text> URI is defined in detail</text>
              <text>        in rfc3986 (see below).</text>
            </para>
            <para>
              <text>The resolution process works as if the</text>
              <text>        relative reference is appended to the base</text>
              <text>        URI and the result is normalized.</text>
            </para>
            <para>
              <text>Given the input base URL, this function</text>
              <text>        resolves the relative reference</text>
              <text>        as if performing the following steps:</text>
            </para>
            <listitem>
              <text>Ensure the base URI has at least a scheme</text>
            </listitem>
            <listitem>
              <text>Normalizing the reference path</text>
            </listitem>
            <listitem>
              <text>Merge base and reference paths</text>
            </listitem>
            <listitem>
              <text>Normalize the merged path</text>
            </listitem>
            <para>
              <text>This function places the result of the</text>
              <text>        resolution into this URL in place.</text>
            </para>
            <para>
              <text>If an error occurs, the contents of</text>
              <text>        this URL are unspecified and a</text>
              <reference>result</reference>
              <text>        with an `system::error_code` is returned.</text>
            </para>
            <para class="note">
              <text>Abnormal hrefs where the number of &quot;..&quot;</text>
              <text>        segments exceeds the number of segments in</text>
              <text>        the base path are handled by including the</text>
              <text>        unmatched &quot;..&quot; segments in the result, as described</text>
              <text>        in</text>
              <link href="https://www.rfc-editor.org/errata/eid4547">Errata 4547</link>
              <text>.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url base1( &quot;/one/two/three&quot; );</text>
              <text>        base1.resolve(&quot;four&quot;);</text>
              <text>        assert( base1.buffer() == &quot;/one/two/four&quot; );</text>
              <text></text>
              <text>        url base2( &quot;http://example.com/&quot; )</text>
              <text>        base2.resolve(&quot;/one&quot;);</text>
              <text>        assert( base2.buffer() == &quot;http://example.com/one&quot; );</text>
              <text></text>
              <text>        url base3( &quot;http://example.com/one&quot; );</text>
              <text>        base3.resolve(&quot;/two&quot;);</text>
              <text>        assert( base3.buffer() == &quot;http://example.com/two&quot; );</text>
              <text></text>
              <text>        url base4( &quot;http://a/b/c/d;p?q&quot; );</text>
              <text>        base4.resolve(&quot;g#s&quot;);</text>
              <text>        assert( base4.buffer() == &quot;http://a/b/c/g#s&quot; );</text>
            </code>
            <head>BNF</head>
            <code>
              <text>        absolute-URI  = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ]</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Basic guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <returns>
              <text>An empty </text>
              <reference>result</reference>
              <text> upon success,</text>
              <text>        otherwise an error code if `!base.has_scheme()`.</text>
            </returns>
            <param name="ref">
              <text>The URL reference to resolve.</text>
            </param>
            <head>Specification</head>
            <para>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-5">5. Reference Resolution (rfc3986)</link>
            </para>
            <see>
              <reference id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=">url</reference>
              <text>,</text>
              <reference id="wh3UbUToX9YDmRmnpcoM9EUEZo8=">url_view</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <friend id="S5YA6Fl54jl0W5RjcLbdGKJrJKQ=">
          <file path="boost/url/url_base.hpp" line="2753" class="def"/>
          <befriended id="/6zWjIFN5df0PBj9zFsfNUjNY6s="/>
        </friend>
      </class>
      <class name="params_encoded_ref" id="oR5B5D0/JYTOQYvyFXRv+at91JE=">
        <file path="boost/url/params_encoded_ref.hpp" line="73" class="def"/>
        <base>
          <type id="2+L1/+BrjUzoccWPIYkGu108y1I=" name="params_encoded_base"/>
        </base>
        <doc>
          <para>
            <text>A view representing query parameters in a URL</text>
          </para>
          <para>
            <text>Objects of this type are used to interpret</text>
            <text>    the query parameters as a bidirectional view</text>
            <text>    of key value pairs.</text>
          </para>
          <para>
            <text>The view does not retain ownership of the</text>
            <text>    elements and instead references the original</text>
            <text>    url. The caller is responsible for ensuring</text>
            <text>    that the lifetime of the referenced url</text>
            <text>    extends until it is no longer referenced.</text>
          </para>
          <para>
            <text>The view is modifiable; calling non-const</text>
            <text>    members causes changes to the referenced</text>
            <text>    url.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    url u( &quot;?first=John&amp;last=Doe&quot; );</text>
            <text></text>
            <text>    params_encoded_ref p = u.encoded_params();</text>
          </code>
          <para>
            <text>Strings produced when elements are returned</text>
            <text>    have type</text>
            <reference id="SMbLJWxhkkCMp2sPkBpWmdnoNGI=">param_pct_view</reference>
            <text> and represent</text>
            <text>    encoded strings. Strings passed to member</text>
            <text>    functions may contain percent escapes, and</text>
            <text>    throw exceptions on invalid inputs.</text>
          </para>
          <head>Iterator Invalidation</head>
          <para>
            <text>    Changes to the underlying character buffer</text>
            <text>    can invalidate iterators which reference it.</text>
            <text>    Modifications made through the container</text>
            <text>    invalidate some iterators to the underlying</text>
            <text>    character buffer:</text>
          </para>
          <listitem>
            <reference id="cUWKKuKzmLs4Ewu9K8KiczTvi2o=">append</reference>
            <text> : Only `end()`.</text>
          </listitem>
          <listitem>
            <reference id="DKYH7OjwbXYGNBDRivSladQ8znE=">assign</reference>
            <text>,</text>
            <reference id="k2dlYXL3mSTiVHHuz/hORJcr2ek=">clear</reference>
            <text>,        `operator=` : All params.</text>
          </listitem>
          <listitem>
            <reference id="ihRZyyN6EfxpZfwp7BbiY5mm4Po=">erase</reference>
            <text> : Erased params and all</text>
            <text>        params after (including `end()`).</text>
          </listitem>
          <listitem>
            <reference id="PtbdIr+62ULTxu/fsxHxGDuYSqo=">insert</reference>
            <text> : All params at or after</text>
            <text>        the insertion point (including `end()`).</text>
          </listitem>
          <listitem>
            <reference id="8oufJgtT98mojZVb+QU8zehwHTw=">replace</reference>
            <text>,</text>
            <reference id="fC9Q+OHMANroVBOY/O2BIrt2iNI=">set</reference>
            <text> : Modified</text>
            <text>        params and all params</text>
            <text>        after (including `end()`).</text>
          </listitem>
        </doc>
        <function class="constructor" name="params_encoded_ref" id="GfFxsJ7oaUsWi2Atb9cDUj0e/+o=">
          <file path="boost/url/params_encoded_ref.hpp" line="112" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="oR5B5D0/JYTOQYvyFXRv+at91JE=" name="params_encoded_ref" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>After construction, both views</text>
              <text>        reference the same url. Ownership is not</text>
              <text>        transferred; the caller is responsible</text>
              <text>        for ensuring the lifetime of the url</text>
              <text>        extends until it is no longer</text>
              <text>        referenced.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        &amp;this-&gt;url() == &amp;other.url();</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <param name="other">
              <text>The other view.</text>
            </param>
          </doc>
        </function>
        <function name="operator=" id="KeK0ndlDZktv6kEdPIKUbI+NDTM=">
          <file path="boost/url/params_encoded_ref.hpp" line="142"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="oR5B5D0/JYTOQYvyFXRv+at91JE=" name="params_encoded_ref"/>
            </type>
          </return>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="oR5B5D0/JYTOQYvyFXRv+at91JE=" name="params_encoded_ref" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>The previous contents of this are</text>
              <text>        replaced by the contents of `other.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <para class="note">
              <text>The strings referenced by `other`</text>
              <text>        must not come from the underlying url,</text>
              <text>        or else the behavior is undefined.</text>
            </para>
            <head>Effects</head>
            <code>
              <text>        this-&gt;assign( other.begin(), other.end() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `other.buffer().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="other">
              <text>The params to assign.</text>
            </param>
          </doc>
        </function>
        <function name="operator=" id="Peyrb4LuZH0F5ToJdmzPIH4CGcI=">
          <file path="boost/url/params_encoded_ref.hpp" line="179"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="oR5B5D0/JYTOQYvyFXRv+at91JE=" name="params_encoded_ref"/>
            </type>
          </return>
          <param name="init">
            <type name="std::initializer_list&lt;param_pct_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>After assignment, the previous contents</text>
              <text>        of the query parameters are replaced by</text>
              <text>        the contents of the initializer-list.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <head>Preconditions</head>
            <para>
              <text>        None of character buffers referenced by</text>
              <text>        `init` may overlap the character buffer of</text>
              <text>        the underlying url, or else the behavior</text>
              <text>        is undefined.</text>
            </para>
            <head>Effects</head>
            <code>
              <text>        this-&gt;assign( init.begin(), init.end() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `init.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `init` contains an invalid percent-encoding.</text>
            </throws>
            <param name="init">
              <text>The list of params to assign.</text>
            </param>
          </doc>
        </function>
        <function class="conversion" name="operator params_encoded_view" exception-spec="noexcept" id="4Bmj96upudccSNe5hQA3qbrOtOY=">
          <file path="boost/url/params_encoded_ref.hpp" line="191"/>
          <attr id="is-const"/>
          <return>
            <type id="0nSfM4mK92fIx58KtzdWGiHuq2w=" name="params_encoded_view"/>
          </return>
          <doc>
            <para>
              <text>Conversion</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="url" exception-spec="noexcept" id="RbMrqKDUBMsQeBETnWQ7ufUzfpg=">
          <file path="boost/url/params_encoded_ref.hpp" line="217" class="def"/>
          <attr id="is-const"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Return the referenced url</text>
            </para>
            <para>
              <text>This function returns the url referenced</text>
              <text>        by the view.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;?key=value&quot; );</text>
              <text></text>
              <text>        assert( &amp;u.encoded_params().url() == &amp;u );</text>
            </code>
            <head>Exception Safety</head>
            <code>
              <text>        Throws nothing.</text>
            </code>
          </doc>
        </function>
        <function name="clear" exception-spec="noexcept" id="k2dlYXL3mSTiVHHuz/hORJcr2ek=">
          <file path="boost/url/impl/params_encoded_ref.hpp" line="26" class="def"/>
          <file path="boost/url/params_encoded_ref.hpp" line="250"/>
          <doc>
            <para>
              <text>Clear the contents of the container</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <head>Effects</head>
            <code>
              <text>        this-&gt;url().remove_query();</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;empty() == true &amp;&amp; this-&gt;url().has_query() == false</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="assign" id="DKYH7OjwbXYGNBDRivSladQ8znE=">
          <file path="boost/url/params_encoded_ref.hpp" line="289"/>
          <param name="init">
            <type name="std::initializer_list&lt;param_pct_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Assign params</text>
            </para>
            <para>
              <text>This function replaces the entire</text>
              <text>        contents of the view with the params</text>
              <text>        in the</text>
              <italic>initializer-list</italic>
              <text>.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <para class="note">
              <text>The strings referenced by the inputs</text>
              <text>        must not come from the underlying url,</text>
              <text>        or else the behavior is undefined.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u;</text>
              <text></text>
              <text>        u.encoded_params().assign({ { &quot;first&quot;, &quot;John&quot; }, { &quot;last&quot;, &quot;Doe&quot; } });</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `init.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `init` contains an invalid percent-encoding.</text>
            </throws>
            <param name="init">
              <text>The list of params to assign.</text>
            </param>
          </doc>
        </function>
        <template>
          <tparam name="FwdIt" class="type"/>
          <function name="assign" id="cWOBrJCopQJpvPvUKrg66sU2cKw=">
            <file path="boost/url/impl/params_encoded_ref.hpp" line="35" class="def"/>
            <file path="boost/url/params_encoded_ref.hpp" line="328"/>
            <param name="first">
              <type name="FwdIt"/>
            </param>
            <param name="last">
              <type name="FwdIt"/>
            </param>
            <doc>
              <para>
                <text>Assign params</text>
              </para>
              <para>
                <text>This function replaces the entire</text>
                <text>        contents of the view with the params</text>
                <text>        in the range.</text>
              </para>
              <para>
                <text></text>
                <text>        All iterators are invalidated.</text>
              </para>
              <para class="note">
                <text>The strings referenced by the inputs</text>
                <text>        must not come from the underlying url,</text>
                <text>        or else the behavior is undefined.</text>
              </para>
              <head>Mandates</head>
              <code>
                <text>        std::is_convertible&lt; std::iterator_traits&lt; FwdIt &gt;::reference_type, param_pct_view &gt;::value == true</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in the size of the range.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Strong guarantee.</text>
                <text>        Calls to allocate may throw.</text>
                <text>        Exceptions thrown on invalid input.</text>
              </para>
              <throws>
                <text>        The range contains an invalid percent-encoding.</text>
              </throws>
              <param name="first,">
                <text>last The range of params</text>
                <text>        to assign.</text>
              </param>
            </doc>
          </function>
        </template>
        <function name="append" id="cUWKKuKzmLs4Ewu9K8KiczTvi2o=">
          <file path="boost/url/impl/params_encoded_ref.hpp" line="56" class="def"/>
          <file path="boost/url/params_encoded_ref.hpp" line="362"/>
          <attr id="has-trailing-return"/>
          <return>
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </return>
          <param name="p">
            <type class="lvalue-reference">
              <pointee-type id="SMbLJWxhkkCMp2sPkBpWmdnoNGI=" name="param_pct_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Append params</text>
            </para>
            <para>
              <text>This function appends a param to the view.</text>
            </para>
            <para>
              <text></text>
              <text>        The `end()` iterator is invalidated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u;</text>
              <text></text>
              <text>        u.encoded_params().append( { &quot;first&quot;, &quot;John&quot; } );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `p` contains an invalid percent-encoding.</text>
            </throws>
            <returns>
              <text>An iterator to the new element.</text>
            </returns>
            <param name="p">
              <text>The param to append.</text>
            </param>
          </doc>
        </function>
        <function name="append" id="6QkRgGSOrlBj9w3oCsWoh8eKStA=">
          <file path="boost/url/impl/params_encoded_ref.hpp" line="66" class="def"/>
          <file path="boost/url/params_encoded_ref.hpp" line="396"/>
          <attr id="has-trailing-return"/>
          <return>
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </return>
          <param name="init">
            <type name="std::initializer_list&lt;param_pct_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Append params</text>
            </para>
            <para>
              <text>This function appends the params in</text>
              <text>        an</text>
              <italic>initializer-list</italic>
              <text> to the view.</text>
            </para>
            <para>
              <text></text>
              <text>        The `end()` iterator is invalidated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u;</text>
              <text></text>
              <text>        u.encoded_params().append({ {&quot;first&quot;, &quot;John&quot;}, {&quot;last&quot;, &quot;Doe&quot;} });</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `init` contains an invalid percent-encoding.</text>
            </throws>
            <returns>
              <text>An iterator to the first new element.</text>
            </returns>
            <param name="init">
              <text>The list of params to append.</text>
            </param>
          </doc>
        </function>
        <template>
          <tparam name="FwdIt" class="type"/>
          <function name="append" id="itLgaeHmpBVULdah7dilIs38xrA=">
            <file path="boost/url/impl/params_encoded_ref.hpp" line="78" class="def"/>
            <file path="boost/url/params_encoded_ref.hpp" line="436"/>
            <attr id="has-trailing-return"/>
            <return>
              <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
            </return>
            <param name="first">
              <type name="FwdIt"/>
            </param>
            <param name="last">
              <type name="FwdIt"/>
            </param>
            <doc>
              <para>
                <text>Append params</text>
              </para>
              <para>
                <text>This function appends a range of params</text>
                <text>        to the view.</text>
              </para>
              <para>
                <text></text>
                <text>        The `end()` iterator is invalidated.</text>
              </para>
              <para class="note">
                <text>The strings referenced by the inputs</text>
                <text>        must not come from the underlying url,</text>
                <text>        or else the behavior is undefined.</text>
              </para>
              <head>Mandates</head>
              <code>
                <text>        std::is_convertible&lt; std::iterator_traits&lt; FwdIt &gt;::reference_type, param_pct_view &gt;::value == true</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Strong guarantee.</text>
                <text>        Calls to allocate may throw.</text>
                <text>        Exceptions thrown on invalid input.</text>
              </para>
              <throws>
                <text>        The range contains an invalid percent-encoding.</text>
              </throws>
              <returns>
                <text>An iterator to the first new element.</text>
              </returns>
              <param name="first,">
                <text>last The range of params</text>
                <text>        to append.</text>
              </param>
            </doc>
          </function>
        </template>
        <function name="insert" id="PtbdIr+62ULTxu/fsxHxGDuYSqo=">
          <file path="boost/url/params_encoded_ref.hpp" line="471"/>
          <return>
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </return>
          <param name="before">
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </param>
          <param name="p">
            <type class="lvalue-reference">
              <pointee-type id="SMbLJWxhkkCMp2sPkBpWmdnoNGI=" name="param_pct_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Insert params</text>
            </para>
            <para>
              <text>This function inserts a param</text>
              <text>        before the specified position.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `before` or come after are invalidated.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `p` contains an invalid percent-encoding.</text>
            </throws>
            <returns>
              <text>An iterator to the inserted</text>
              <text>        element.</text>
            </returns>
            <param name="before">
              <text>An iterator before which</text>
              <text>        the param is inserted. This may</text>
              <text>        be equal to `end()`.</text>
            </param>
            <param name="p">
              <text>The param to insert.</text>
            </param>
          </doc>
        </function>
        <function name="insert" id="tMheSUrnUYvPC86oW//XVnzWbAM=">
          <file path="boost/url/params_encoded_ref.hpp" line="512"/>
          <return>
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </return>
          <param name="before">
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </param>
          <param name="init">
            <type name="std::initializer_list&lt;param_pct_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Insert params</text>
            </para>
            <para>
              <text>This function inserts the params in</text>
              <text>        an</text>
              <italic>initializer-list</italic>
              <text> before</text>
              <text>        the specified position.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `before` or come after are invalidated.</text>
            </para>
            <para class="note">
              <text>The strings referenced by the inputs</text>
              <text>        must not come from the underlying url,</text>
              <text>        or else the behavior is undefined.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `init` contains an invalid percent-encoding.</text>
            </throws>
            <returns>
              <text>An iterator to the first</text>
              <text>        element inserted, or `before` if</text>
              <text>        `init.size() == 0`.</text>
            </returns>
            <param name="before">
              <text>An iterator before which</text>
              <text>        the element is inserted. This may</text>
              <text>        be equal to `end()`.</text>
            </param>
            <param name="init">
              <text>The list of params to insert.</text>
            </param>
          </doc>
        </function>
        <template>
          <tparam name="FwdIt" class="type"/>
          <function name="insert" id="UmIU95+V7SOzXxA2IhPZz/1JYso=">
            <file path="boost/url/impl/params_encoded_ref.hpp" line="101" class="def"/>
            <file path="boost/url/params_encoded_ref.hpp" line="560"/>
            <attr id="has-trailing-return"/>
            <return>
              <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
            </return>
            <param name="before">
              <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
            </param>
            <param name="first">
              <type name="FwdIt"/>
            </param>
            <param name="last">
              <type name="FwdIt"/>
            </param>
            <doc>
              <para>
                <text>Insert params</text>
              </para>
              <para>
                <text>This function inserts a range of</text>
                <text>        params before the specified position.</text>
              </para>
              <para>
                <text></text>
                <text>        All iterators that are equal to</text>
                <text>        `before` or come after are invalidated.</text>
              </para>
              <para class="note">
                <text>The strings referenced by the inputs</text>
                <text>        must not come from the underlying url,</text>
                <text>        or else the behavior is undefined.</text>
              </para>
              <head>Mandates</head>
              <code>
                <text>        std::is_convertible&lt; std::iterator_traits&lt; FwdIt &gt;::reference_type, param_pct_view &gt;::value == true</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Strong guarantee.</text>
                <text>        Calls to allocate may throw.</text>
                <text>        Exceptions thrown on invalid input.</text>
              </para>
              <throws>
                <text>        The range contains an invalid percent-encoding.</text>
              </throws>
              <returns>
                <text>An iterator to the first</text>
                <text>        element inserted, or `before` if</text>
                <text>        `first == last`.</text>
              </returns>
              <param name="before">
                <text>An iterator before which</text>
                <text>        the element is inserted. This may</text>
                <text>        be equal to `end()`.</text>
              </param>
              <param name="first,">
                <text>last The range of params</text>
                <text>        to insert.</text>
              </param>
            </doc>
          </function>
        </template>
        <function name="erase" exception-spec="noexcept" id="ihRZyyN6EfxpZfwp7BbiY5mm4Po=">
          <file path="boost/url/params_encoded_ref.hpp" line="597"/>
          <return>
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </return>
          <param name="pos">
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </param>
          <doc>
            <para>
              <text>Erase params</text>
            </para>
            <para>
              <text>This function removes an element from</text>
              <text>        the container.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `pos` or come after are invalidated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;?first=John&amp;last=Doe&quot; );</text>
              <text></text>
              <text>        params_encoded_ref::iterator it = u.encoded_params().erase( u.encoded_params().begin() );</text>
              <text></text>
              <text>        assert( u.encoded_query() == &quot;last=Doe&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <returns>
              <text>An iterator to one past</text>
              <text>        the removed element.</text>
            </returns>
            <param name="pos">
              <text>An iterator to the element.</text>
            </param>
          </doc>
        </function>
        <function name="erase" exception-spec="noexcept" id="tDEaV9JBSGxyAyqNR92gfnZMeeA=">
          <file path="boost/url/params_encoded_ref.hpp" line="621"/>
          <return>
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </return>
          <param name="first">
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </param>
          <param name="last">
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </param>
          <doc>
            <para>
              <text>Erase params</text>
            </para>
            <para>
              <text>This function removes a range of params</text>
              <text>        from the container.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `first` or come after are invalidated.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <returns>
              <text>An iterator to one past</text>
              <text>        the removed range.</text>
            </returns>
            <param name="first,">
              <text>last The range of</text>
              <text>        params to erase.</text>
            </param>
          </doc>
        </function>
        <function name="erase" exception-spec="noexcept" id="AOrklUyQt6Ym1GagAEiRtUS81Vo=">
          <file path="boost/url/params_encoded_ref.hpp" line="657"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <param name="key">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <param name="ic" default="= {}">
            <type id="RATceEbebMWrhFXGkG2RDFi+7WY=" name="ignore_case_param"/>
          </param>
          <doc>
            <para>
              <text>Erase params</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;count( key, ic ) == 0</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `key` contains an invalid percent-encoding.</text>
            </throws>
            <returns>
              <text>The number of params removed</text>
              <text>        from the container.</text>
            </returns>
            <param name="key">
              <text>The key to match.</text>
              <text>        By default, a case-sensitive</text>
              <text>        comparison is used.</text>
            </param>
            <param name="ic">
              <text>An optional parameter. If</text>
              <text>        the value</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text> is passed</text>
              <text>        here, the comparison is</text>
              <text>        case-insensitive.</text>
            </param>
          </doc>
        </function>
        <function name="replace" id="8oufJgtT98mojZVb+QU8zehwHTw=">
          <file path="boost/url/params_encoded_ref.hpp" line="705"/>
          <return>
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </return>
          <param name="pos">
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </param>
          <param name="p">
            <type class="lvalue-reference">
              <pointee-type id="SMbLJWxhkkCMp2sPkBpWmdnoNGI=" name="param_pct_view" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Replace params</text>
            </para>
            <para>
              <text>This function replaces the contents</text>
              <text>        of the element at `pos` with the</text>
              <text>        specified param.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `pos` or come after are invalidated.</text>
            </para>
            <para class="note">
              <text>The strings passed in must not come</text>
              <text>        from the element being replaced,</text>
              <text>        or else the behavior is undefined.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;?first=John&amp;last=Doe&quot; );</text>
              <text></text>
              <text>        u.encoded_params().replace( u.encoded_params().begin(), { &quot;title&quot;, &quot;Mr&quot; });</text>
              <text></text>
              <text>        assert( u.encoded_query() == &quot;title=Mr&amp;last=Doe&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `p` contains an invalid percent-encoding.</text>
            </throws>
            <returns>
              <text>An iterator to the element.</text>
            </returns>
            <param name="pos">
              <text>An iterator to the element.</text>
            </param>
            <param name="p">
              <text>The param to assign.</text>
            </param>
          </doc>
        </function>
        <function name="replace" id="hlARmWRoMKFnzL6swJay7BuFxvA=">
          <file path="boost/url/params_encoded_ref.hpp" line="745"/>
          <return>
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </return>
          <param name="from">
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </param>
          <param name="to">
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </param>
          <param name="init">
            <type name="std::initializer_list&lt;param_pct_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Replace params</text>
            </para>
            <para>
              <text>This function replaces a range of</text>
              <text>        params with the params in an</text>
              <italic>initializer-list</italic>
              <text>.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `from` or come after are invalidated.</text>
            </para>
            <para class="note">
              <text>The strings referenced by the inputs</text>
              <text>        must not come from the underlying url,</text>
              <text>        or else the behavior is undefined.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `init` contains an invalid percent-encoding.</text>
            </throws>
            <returns>
              <text>An iterator to the first</text>
              <text>        element inserted, or one past `to` if</text>
              <text>        `init.size() == 0`.</text>
            </returns>
            <param name="from,to">
              <text>The range of params</text>
              <text>        to replace.</text>
            </param>
            <param name="init">
              <text>The list of params to assign.</text>
            </param>
          </doc>
        </function>
        <template>
          <tparam name="FwdIt" class="type"/>
          <function name="replace" id="b9I+/qZxIyE66HAZkrDeQo+Amgg=">
            <file path="boost/url/impl/params_encoded_ref.hpp" line="130" class="def"/>
            <file path="boost/url/params_encoded_ref.hpp" line="793"/>
            <attr id="has-trailing-return"/>
            <return>
              <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
            </return>
            <param name="from">
              <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
            </param>
            <param name="to">
              <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
            </param>
            <param name="first">
              <type name="FwdIt"/>
            </param>
            <param name="last">
              <type name="FwdIt"/>
            </param>
            <doc>
              <para>
                <text>Replace params</text>
              </para>
              <para>
                <text>This function replaces a range of</text>
                <text>        params with a range of params.</text>
              </para>
              <para>
                <text></text>
                <text>        All iterators that are equal to</text>
                <text>        `from` or come after are invalidated.</text>
              </para>
              <para class="note">
                <text>The strings referenced by the inputs</text>
                <text>        must not come from the underlying url,</text>
                <text>        or else the behavior is undefined.</text>
              </para>
              <head>Mandates</head>
              <code>
                <text>        std::is_convertible&lt; std::iterator_traits&lt; FwdIt &gt;::reference_type, param_pct_view &gt;::value == true</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Strong guarantee.</text>
                <text>        Calls to allocate may throw.</text>
                <text>        Exceptions thrown on invalid input.</text>
              </para>
              <throws>
                <text>        The range contains an invalid percent-encoding.</text>
              </throws>
              <returns>
                <text>An iterator to the first</text>
                <text>        element inserted, or one past `to` if</text>
                <text>        `first == last`.</text>
              </returns>
              <param name="from,to">
                <text>The range of params to</text>
                <text>        replace.</text>
              </param>
              <param name="first,">
                <text>last The range of params</text>
                <text>        to assign.</text>
              </param>
            </doc>
          </function>
        </template>
        <function name="unset" exception-spec="noexcept" id="4DuZaumhHSqti6UuC3Ut+Z6NSqo=">
          <file path="boost/url/params_encoded_ref.hpp" line="832"/>
          <return>
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </return>
          <param name="pos">
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </param>
          <doc>
            <para>
              <text>Remove the value on an element</text>
            </para>
            <para>
              <text>This function removes the value of</text>
              <text>        an element at the specified position.</text>
              <text>        After the call returns, `has_value`</text>
              <text>        for the element is false.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `pos` or come after are invalidated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;?first=John&amp;last=Doe&quot; );</text>
              <text></text>
              <text>        u.encoded_params().unset( u.encoded_params().begin() );</text>
              <text></text>
              <text>        assert( u.encoded_query() == &quot;first&amp;last=Doe&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <returns>
              <text>An iterator to the element.</text>
            </returns>
            <param name="pos">
              <text>An iterator to the element.</text>
            </param>
          </doc>
        </function>
        <function name="set" id="2b4N/IEoLB/FO/023k5bqZjt6Pk=">
          <file path="boost/url/params_encoded_ref.hpp" line="879"/>
          <return>
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </return>
          <param name="pos">
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </param>
          <param name="value">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <text>Set a value</text>
            </para>
            <para>
              <text>This function replaces the value of an</text>
              <text>        element at the specified position.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `pos` or come after are invalidated.</text>
            </para>
            <para class="note">
              <text>The string passed in must not come</text>
              <text>        from the element being replaced,</text>
              <text>        or else the behavior is undefined.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;?id=42&amp;id=69&quot; );</text>
              <text></text>
              <text>        u.encoded_params().set( u.encoded_params().begin(), &quot;none&quot; );</text>
              <text></text>
              <text>        assert( u.encoded_query() == &quot;id=none&amp;id=69&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `value` contains an invalid percent-encoding.</text>
            </throws>
            <returns>
              <text>An iterator to the element.</text>
            </returns>
            <param name="pos">
              <text>An iterator to the element.</text>
            </param>
            <param name="value">
              <text>The value to assign. The</text>
              <text>        empty string still counts as a value.</text>
              <text>        That is, `has_value` for the element</text>
              <text>        is true.</text>
            </param>
          </doc>
        </function>
        <function name="set" id="fC9Q+OHMANroVBOY/O2BIrt2iNI=">
          <file path="boost/url/params_encoded_ref.hpp" line="951"/>
          <return>
            <type id="ZtVyiX/PxtD1ydy6wMFxWQ6zNWo=" name="iterator"/>
          </return>
          <param name="key">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <param name="value">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <param name="ic" default="= {}">
            <type id="RATceEbebMWrhFXGkG2RDFi+7WY=" name="ignore_case_param"/>
          </param>
          <doc>
            <para>
              <text>Set a value</text>
            </para>
            <para>
              <text>This function performs one of two</text>
              <text>        actions depending on the value of</text>
              <text>        `this-&gt;contains( key, ic )`.</text>
            </para>
            <listitem>
              <text>If key is contained in the view</text>
              <text>        then one of the matching params has</text>
              <text>        its value changed to the specified value.</text>
              <text>        The remaining params with a matching</text>
              <text>        key are erased. Otherwise,</text>
            </listitem>
            <listitem>
              <text>If `key` is not contained in the</text>
              <text>        view, then the function apppends the</text>
              <text>        param `{ key, value }`.</text>
            </listitem>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <para class="note">
              <text>The strings passed in must not come</text>
              <text>        from the element being replaced,</text>
              <text>        or else the behavior is undefined.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;?id=42&amp;id=69&quot; );</text>
              <text></text>
              <text>        u.encoded_params().set( &quot;id&quot;, &quot;none&quot; );</text>
              <text></text>
              <text>        assert( u.encoded_params().count( &quot;id&quot; ) == 1 );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;count( key, ic ) == 1 &amp;&amp; this-&gt;find( key, ic )-&gt;value == value</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        `key` or `value` contain an invalid</text>
              <text>        percent-encoding.</text>
            </throws>
            <returns>
              <text>An iterator to the appended</text>
              <text>        or modified element.</text>
            </returns>
            <param name="key">
              <text>The key to match.</text>
              <text>        By default, a case-sensitive</text>
              <text>        comparison is used.</text>
            </param>
            <param name="value">
              <text>The value to assign. The</text>
              <text>        empty string still counts as a value.</text>
              <text>        That is, `has_value` for the element</text>
              <text>        is true.</text>
            </param>
            <param name="ic">
              <text>An optional parameter. If</text>
              <text>        the value</text>
              <reference id="OCNSY/KEk/GzUVyKmAv5BcB+mjw=">ignore_case</reference>
              <text> is passed</text>
              <text>        here, the comparison is</text>
              <text>        case-insensitive.</text>
            </param>
          </doc>
        </function>
      </class>
      <class name="segments_encoded_ref" id="TCUUfRiqZjX62kt7tK2fs//VWr0=">
        <file path="boost/url/segments_encoded_ref.hpp" line="88" class="def"/>
        <base>
          <type id="qs4TNMM406MPgeboXz6oVUmcauE=" name="segments_encoded_base"/>
        </base>
        <doc>
          <para>
            <text>A view representing path segments in a URL</text>
          </para>
          <para>
            <text>Objects of this type are used to interpret</text>
            <text>    the path as a bidirectional view of segments,</text>
            <text>    where each segment is a string which may</text>
            <text>    contain percent-escapes.</text>
          </para>
          <para>
            <text>The view does not retain ownership of the</text>
            <text>    elements and instead references the original</text>
            <text>    character buffer. The caller is responsible</text>
            <text>    for ensuring that the lifetime of the buffer</text>
            <text>    extends until it is no longer referenced.</text>
          </para>
          <para>
            <text>The view is modifiable; calling non-const</text>
            <text>    members causes changes to the referenced</text>
            <text>    url.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    url u( &quot;/path/to/file.txt&quot; );</text>
            <text></text>
            <text>    segments_encoded_ref ps = u.encoded_segments();</text>
          </code>
          <para>
            <text>The strings returned when iterators are</text>
            <text>    dereferenced have type</text>
            <reference id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=">pct_string_view</reference>
            <text>    and may contain percent-escapes.</text>
          </para>
          <para>
            <text>Reserved characters in inputs are</text>
            <text>    automatically escaped.</text>
            <text>    Escapes in inputs are preserved.</text>
          </para>
          <para>
            <text>Exceptions are thrown on invalid inputs.</text>
          </para>
          <head>Iterator Invalidation</head>
          <para>
            <text>    Changes to the underlying character buffer</text>
            <text>    can invalidate iterators which reference it.</text>
            <text>    Modifications made through the container</text>
            <text>    invalidate some or all iterators:</text>
            <text></text>
          </para>
          <listitem>
            <reference id="k/+5yJNfDNUOfAvdH+DvTb3aems=">push_back</reference>
            <text> : Only `end()`.</text>
          </listitem>
          <listitem>
            <reference id="4QcdeaZk+adcrX414Bsr53nPIL4=">assign</reference>
            <text>,</text>
            <reference id="KKYw+VvKy1sm99inuPn90KFHN7k=">clear</reference>
            <text>,</text>
            <reference id="LL0mmbqUIG/Mm8mpyI7ZCu/2FBE=">operator=</reference>
            <text> : All elements.</text>
          </listitem>
          <listitem>
            <reference id="BsLXaBnDItSMBNgV8pc30X0/TnE=">erase</reference>
            <text> : Erased elements and all</text>
            <text>        elements after (including `end()`).</text>
          </listitem>
          <listitem>
            <reference id="TliI3AglmvyLdEMFkrJrjUAv9nM=">insert</reference>
            <text> : All elements at or after</text>
            <text>        the insertion point (including `end()`).</text>
          </listitem>
          <listitem>
            <reference id="cSH8UpR6JdrNaN1ksvNrLn/HVm0=">replace</reference>
            <text> : Modified</text>
            <text>        elements and all elements</text>
            <text>        after (including `end()`).</text>
          </listitem>
          <see>
            <reference id="EvaX3SmNTAtai2Kf6Kma3fUkTkQ=">segments_encoded_view</reference>
            <text>,</text>
            <reference id="ZNJOLZ4RhCB2A2ooiNo7KxZJHrA=">segments_view</reference>
            <text>,</text>
            <reference id="zdr3gU7+2/G05oo6ta/IfHlkTF0=">segments_ref</reference>
            <text>.</text>
          </see>
        </doc>
        <function class="constructor" name="segments_encoded_ref" id="pJuY2rSnHwe5WWhpQ5dCpAgiUVg=">
          <file path="boost/url/segments_encoded_ref.hpp" line="127" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="TCUUfRiqZjX62kt7tK2fs//VWr0=" name="segments_encoded_ref" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>After construction, both views</text>
              <text>        reference the same url. Ownership is not</text>
              <text>        transferred; the caller is responsible</text>
              <text>        for ensuring the lifetime of the url</text>
              <text>        extends until it is no longer</text>
              <text>        referenced.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        &amp;this-&gt;url() == &amp;other.url();</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <param name="other">
              <text>The other view.</text>
            </param>
          </doc>
        </function>
        <function name="operator=" id="LL0mmbqUIG/Mm8mpyI7ZCu/2FBE=">
          <file path="boost/url/segments_encoded_ref.hpp" line="160"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="TCUUfRiqZjX62kt7tK2fs//VWr0=" name="segments_encoded_ref"/>
            </type>
          </return>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="TCUUfRiqZjX62kt7tK2fs//VWr0=" name="segments_encoded_ref" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>The existing contents are replaced</text>
              <text>        by a copy of the other segments.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <para class="note">
              <text>None of the character buffers referenced</text>
              <text>        by `other` may overlap the buffer of the</text>
              <text>        underlying url, or else the behavior</text>
              <text>        is undefined.</text>
            </para>
            <head>Effects</head>
            <code>
              <text>        this-&gt;assign( other.begin(), other.end() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `other.buffer().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="other">
              <text>The segments to assign.</text>
            </param>
            <para>
              <text>@{</text>
            </para>
          </doc>
        </function>
        <function name="operator=" id="LlrZXMnarSUNL3P19PCkOHJPNrQ=">
          <file path="boost/url/segments_encoded_ref.hpp" line="164"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="TCUUfRiqZjX62kt7tK2fs//VWr0=" name="segments_encoded_ref"/>
            </type>
          </return>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="EvaX3SmNTAtai2Kf6Kma3fUkTkQ=" name="segments_encoded_view" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
        <function name="operator=" id="iNapL7mxSNYw4GT4gV06GT/kKjY=">
          <file path="boost/url/segments_encoded_ref.hpp" line="212"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="TCUUfRiqZjX62kt7tK2fs//VWr0=" name="segments_encoded_ref"/>
            </type>
          </return>
          <param name="init">
            <type name="std::initializer_list&lt;pct_string_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>The existing contents are replaced</text>
              <text>        by a copy of the contents of the</text>
              <text>        initializer list.</text>
              <text>        Reserved characters in the list are</text>
              <text>        automatically escaped.</text>
              <text>        Escapes in the list are preserved.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u;</text>
              <text></text>
              <text>        u.encoded_segments() = {&quot;path&quot;, &quot;to&quot;, &quot;file.txt&quot;};</text>
            </code>
            <head>Preconditions</head>
            <para>
              <text>        None of the character buffers referenced</text>
              <text>        by the list may overlap the character buffer</text>
              <text>        of the underlying url, or else the behavior</text>
              <text>        is undefined.</text>
            </para>
            <head>Effects</head>
            <code>
              <text>        this-&gt;assign( init.begin(), init.end() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `init.size() + this-&gt;url().encoded_query().size() + this-&gt;url().encoded_fragment().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        The list contains an invalid percent-encoding.</text>
            </throws>
            <param name="init">
              <text>The list of segments to assign.</text>
            </param>
          </doc>
        </function>
        <function class="conversion" name="operator segments_encoded_view" exception-spec="noexcept" id="wvBe0xFZCPtYti4CtRJetID8Cfo=">
          <file path="boost/url/segments_encoded_ref.hpp" line="222"/>
          <attr id="is-const"/>
          <return>
            <type id="EvaX3SmNTAtai2Kf6Kma3fUkTkQ=" name="segments_encoded_view"/>
          </return>
          <doc>
            <para>
              <text>Conversion</text>
            </para>
            <see>
              <reference id="EvaX3SmNTAtai2Kf6Kma3fUkTkQ=">segments_encoded_view</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="url" exception-spec="noexcept" id="mXe1gqEV6OcEe9HebGQikLEWj9U=">
          <file path="boost/url/segments_encoded_ref.hpp" line="246" class="def"/>
          <attr id="is-const"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Return the referenced url</text>
            </para>
            <para>
              <text>This function returns the url referenced</text>
              <text>        by the view.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;/path/to/file.txt&quot; );</text>
              <text></text>
              <text>        assert( &amp;u.encoded_segments().url() == &amp;u );</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="clear" exception-spec="noexcept" id="KKYw+VvKy1sm99inuPn90KFHN7k=">
          <file path="boost/url/impl/segments_encoded_ref.hpp" line="28" class="def"/>
          <file path="boost/url/segments_encoded_ref.hpp" line="279"/>
          <doc>
            <para>
              <text>Clear the contents of the container</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <head>Effects</head>
            <code>
              <text>        this-&gt;url().set_encoded_path( &quot;&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;empty() == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size() + this-&gt;url().encoded_fragment().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="assign" id="4QcdeaZk+adcrX414Bsr53nPIL4=">
          <file path="boost/url/segments_encoded_ref.hpp" line="321"/>
          <param name="init">
            <type name="std::initializer_list&lt;pct_string_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Assign segments</text>
            </para>
            <para>
              <text>The existing contents are replaced</text>
              <text>        by a copy of the contents of the</text>
              <text>        initializer list.</text>
              <text>        Reserved characters in the list are</text>
              <text>        automatically escaped.</text>
              <text>        Escapes in the list are preserved.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <para class="note">
              <text>None of the character buffers referenced</text>
              <text>        by the list may overlap the character</text>
              <text>        buffer of the underlying url, or else</text>
              <text>        the behavior is undefined.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u;</text>
              <text></text>
              <text>        u.segments().assign( {&quot;path&quot;, &quot;to&quot;, &quot;file.txt&quot;} );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `init.size() + this-&gt;url().encoded_query().size() + this-&gt;url().encoded_fragment().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        The list contains an invalid percent-encoding.</text>
            </throws>
            <param name="init">
              <text>The list of segments to assign.</text>
            </param>
          </doc>
        </function>
        <template>
          <tparam name="FwdIt" class="type"/>
          <function name="assign" id="sC4xzDTVLYJRMWprwhg/L3nnhfA=">
            <file path="boost/url/impl/segments_encoded_ref.hpp" line="37" class="def"/>
            <file path="boost/url/segments_encoded_ref.hpp" line="362"/>
            <param name="first">
              <type name="FwdIt"/>
            </param>
            <param name="last">
              <type name="FwdIt"/>
            </param>
            <doc>
              <para>
                <text>Assign segments</text>
              </para>
              <para>
                <text>The existing contents are replaced</text>
                <text>        by a copy of the contents of the range.</text>
                <text>        Reserved characters in the range are</text>
                <text>        automatically escaped.</text>
                <text>        Escapes in the range are preserved.</text>
              </para>
              <para>
                <text></text>
                <text>        All iterators are invalidated.</text>
              </para>
              <para class="note">
                <text>None of the character buffers referenced</text>
                <text>        by the range may overlap the character</text>
                <text>        buffer of the underlying url, or else</text>
                <text>        the behavior is undefined.</text>
              </para>
              <head>Mandates</head>
              <code>
                <text>        std::is_convertible&lt; std::iterator_traits&lt; FwdIt &gt;::reference_type, pct_string_view &gt;::value == true</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `std::distance( first, last ) + this-&gt;url().encoded_query().size() + this-&gt;url().encoded_fragment().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Strong guarantee.</text>
                <text>        Calls to allocate may throw.</text>
                <text>        Exceptions thrown on invalid input.</text>
              </para>
              <throws>
                <text>        The range contains an invalid percent-encoding.</text>
              </throws>
              <param name="first,">
                <text>last The range of segments</text>
                <text>        to assign.</text>
              </param>
            </doc>
          </function>
        </template>
        <function name="insert" id="TliI3AglmvyLdEMFkrJrjUAv9nM=">
          <file path="boost/url/segments_encoded_ref.hpp" line="400"/>
          <return>
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </return>
          <param name="before">
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </param>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <text>Insert segments</text>
            </para>
            <para>
              <text>This function inserts a segment</text>
              <text>        before the specified position.</text>
              <text>        Reserved characters in the segment are</text>
              <text>        automatically escaped.</text>
              <text>        Escapes in the segment are preserved.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `before` or come after are invalidated.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `s.size() + this-&gt;url().encoded_resource().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        The segment contains an invalid percent-encoding.</text>
            </throws>
            <returns>
              <text>An iterator to the inserted</text>
              <text>        segment.</text>
            </returns>
            <param name="before">
              <text>An iterator before which</text>
              <text>        the segment is inserted. This may</text>
              <text>        be equal to `end()`.</text>
            </param>
            <param name="s">
              <text>The segment to insert.</text>
            </param>
          </doc>
        </function>
        <function name="insert" id="2sEwLHnI9RRGyyiqnb7Vjx9qrhM=">
          <file path="boost/url/segments_encoded_ref.hpp" line="453"/>
          <return>
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </return>
          <param name="before">
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </param>
          <param name="init">
            <type name="std::initializer_list&lt;pct_string_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Insert segments</text>
            </para>
            <para>
              <text>This function inserts the segments</text>
              <text>        in an initializer list before the</text>
              <text>        specified position.</text>
              <text>        Reserved characters in the list are</text>
              <text>        automatically escaped.</text>
              <text>        Escapes in the list are preserved.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `before` or come after are invalidated.</text>
            </para>
            <para class="note">
              <text>None of the character buffers referenced</text>
              <text>        by the list may overlap the character</text>
              <text>        buffer of the underlying url, or else</text>
              <text>        the behavior is undefined.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;/file.txt&quot; );</text>
              <text></text>
              <text>        u.encoded_segments().insert( u.encoded_segments().begin(), { &quot;path&quot;, &quot;to&quot; } );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `init.size() + this-&gt;url().encoded_resource().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        The list contains an invalid percent-encoding.</text>
            </throws>
            <returns>
              <text>An iterator to the first</text>
              <text>        element inserted, or `before` if</text>
              <text>        `init.size() == 0`.</text>
            </returns>
            <param name="before">
              <text>An iterator before which</text>
              <text>        the list is inserted. This may</text>
              <text>        be equal to `end()`.</text>
            </param>
            <param name="init">
              <text>The list of segments to insert.</text>
            </param>
          </doc>
        </function>
        <template>
          <tparam name="FwdIt" class="type"/>
          <function name="insert" id="du85+z+tYyUpagKIefWc+fpeYks=">
            <file path="boost/url/impl/segments_encoded_ref.hpp" line="62" class="def"/>
            <file path="boost/url/segments_encoded_ref.hpp" line="505"/>
            <attr id="has-trailing-return"/>
            <return>
              <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
            </return>
            <param name="before">
              <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
            </param>
            <param name="first">
              <type name="FwdIt"/>
            </param>
            <param name="last">
              <type name="FwdIt"/>
            </param>
            <doc>
              <para>
                <text>Insert segments</text>
              </para>
              <para>
                <text>This function inserts the segments in</text>
                <text>        a range before the specified position.</text>
                <text>        Reserved characters in the range are</text>
                <text>        automatically escaped.</text>
                <text>        Escapes in the range are preserved.</text>
              </para>
              <para>
                <text></text>
                <text>        All iterators that are equal to</text>
                <text>        `before` or come after are invalidated.</text>
              </para>
              <para class="note">
                <text>None of the character buffers referenced</text>
                <text>        by the range may overlap the character</text>
                <text>        buffer of the underlying url, or else</text>
                <text>        the behavior is undefined.</text>
              </para>
              <head>Mandates</head>
              <code>
                <text>        std::is_convertible&lt; std::iterator_traits&lt; FwdIt &gt;::reference_type, pct_string_view &gt;::value == true</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `std::distance( first, last ) + this-&gt;url().encoded_resource().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Strong guarantee.</text>
                <text>        Calls to allocate may throw.</text>
                <text>        Exceptions thrown on invalid input.</text>
              </para>
              <throws>
                <text>        The range contains an invalid percent-encoding.</text>
              </throws>
              <returns>
                <text>An iterator to the first</text>
                <text>        segment inserted, or `before` if</text>
                <text>        `init.empty()`.</text>
              </returns>
              <param name="before">
                <text>An iterator before which</text>
                <text>        the range is inserted. This may</text>
                <text>        be equal to `end()`.</text>
              </param>
              <param name="first,">
                <text>last The range of segments</text>
                <text>        to insert.</text>
              </param>
            </doc>
          </function>
        </template>
        <function name="erase" exception-spec="noexcept" id="BsLXaBnDItSMBNgV8pc30X0/TnE=">
          <file path="boost/url/impl/segments_encoded_ref.hpp" line="90" class="def"/>
          <file path="boost/url/segments_encoded_ref.hpp" line="532"/>
          <attr id="has-trailing-return"/>
          <return>
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </return>
          <param name="pos">
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </param>
          <doc>
            <para>
              <text>Erase segments</text>
            </para>
            <para>
              <text>This function removes a segment.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `pos` or come after are invalidated.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_resource().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <returns>
              <text>An iterator to one past</text>
              <text>        the removed segment.</text>
            </returns>
            <param name="pos">
              <text>An iterator to the element.</text>
            </param>
          </doc>
        </function>
        <function name="erase" exception-spec="noexcept" id="CsDwf/uqlVa7hlApvAf4FGt2j8M=">
          <file path="boost/url/segments_encoded_ref.hpp" line="558"/>
          <return>
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </return>
          <param name="first">
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </param>
          <param name="last">
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </param>
          <doc>
            <para>
              <text>Erase segments</text>
            </para>
            <para>
              <text>This function removes a range of segments</text>
              <text>        from the container.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `first` or come after are invalidated.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_resource().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <returns>
              <text>An iterator to one past</text>
              <text>        the removed range.</text>
            </returns>
            <param name="first,">
              <text>last The range of</text>
              <text>        segments to erase.</text>
            </param>
          </doc>
        </function>
        <function name="replace" id="cSH8UpR6JdrNaN1ksvNrLn/HVm0=">
          <file path="boost/url/segments_encoded_ref.hpp" line="591"/>
          <return>
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </return>
          <param name="pos">
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </param>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <text>Replace segments</text>
            </para>
            <para>
              <text>This function replaces the segment at</text>
              <text>        the specified position.</text>
              <text>        Reserved characters in the string are</text>
              <text>        automatically escaped.</text>
              <text>        Escapes in the string are preserved.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `pos` or come after are invalidated.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `s.size() + this-&gt;url().encoded_resouce().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <returns>
              <text>An iterator to the replaced segment.</text>
            </returns>
            <param name="pos">
              <text>An iterator to the segment.</text>
            </param>
            <param name="s">
              <text>The string to assign.</text>
            </param>
          </doc>
        </function>
        <function name="replace" id="YOSdGvhFD2fK0UePm8DgvTPBl90=">
          <file path="boost/url/segments_encoded_ref.hpp" line="626"/>
          <return>
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </return>
          <param name="from">
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </param>
          <param name="to">
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </param>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <text>Replace segments</text>
            </para>
            <para>
              <text>This function replaces a range of</text>
              <text>        segments with one segment.</text>
              <text>        Reserved characters in the string are</text>
              <text>        automatically escaped.</text>
              <text>        Escapes in the string are preserved.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `from` or come after are invalidated.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `s.size() + this-&gt;url().encoded_resouce().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        The string contains an invalid percent-encoding.</text>
            </throws>
            <returns>
              <text>An iterator to the new segment.</text>
            </returns>
            <param name="from,">
              <text>to The range of segments to replace.</text>
            </param>
            <param name="s">
              <text>The string to assign.</text>
            </param>
          </doc>
        </function>
        <function name="replace" id="i8soX0cNijL1JxXw5PLeDEYw9Z4=">
          <file path="boost/url/segments_encoded_ref.hpp" line="671"/>
          <return>
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </return>
          <param name="from">
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </param>
          <param name="to">
            <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
          </param>
          <param name="init">
            <type name="std::initializer_list&lt;pct_string_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Replace segments</text>
            </para>
            <para>
              <text>This function replaces a range of</text>
              <text>        segments with a list of segments in</text>
              <text>        an initializer list.</text>
              <text>        Reserved characters in the list are</text>
              <text>        automatically escaped.</text>
              <text>        Escapes in the list are preserved.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `from` or come after are invalidated.</text>
            </para>
            <head>Preconditions</head>
            <para>
              <text>        None of the character buffers referenced</text>
              <text>        by the list may overlap the character</text>
              <text>        buffer of the underlying url, or else</text>
              <text>        the behavior is undefined.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `init.size() + this-&gt;url().encoded_resouce().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        The list contains an invalid percent-encoding.</text>
            </throws>
            <returns>
              <text>An iterator to the first</text>
              <text>        segment inserted, or one past `to` if</text>
              <text>        `init.size() == 0`.</text>
            </returns>
            <param name="from,">
              <text>to The range of segments to replace.</text>
            </param>
            <param name="init">
              <text>The list of segments to assign.</text>
            </param>
          </doc>
        </function>
        <template>
          <tparam name="FwdIt" class="type"/>
          <function name="replace" id="+MWzM3N1NhK7lfAn6i7klo69b7M=">
            <file path="boost/url/impl/segments_encoded_ref.hpp" line="101" class="def"/>
            <file path="boost/url/segments_encoded_ref.hpp" line="716"/>
            <attr id="has-trailing-return"/>
            <return>
              <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
            </return>
            <param name="from">
              <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
            </param>
            <param name="to">
              <type id="g/L8mjAHkEezRBezNicBq+kX83A=" name="iterator"/>
            </param>
            <param name="first">
              <type name="FwdIt"/>
            </param>
            <param name="last">
              <type name="FwdIt"/>
            </param>
            <doc>
              <para>
                <text>Replace segments</text>
              </para>
              <para>
                <text>This function replaces a range of</text>
                <text>        segments with annother range of segments.</text>
                <text>        Reserved characters in the new range are</text>
                <text>        automatically escaped.</text>
                <text>        Escapes in the new range are preserved.</text>
              </para>
              <para>
                <text></text>
                <text>        All iterators that are equal to</text>
                <text>        `from` or come after are invalidated.</text>
              </para>
              <head>Preconditions</head>
              <para>
                <text>        None of the character buffers referenced</text>
                <text>        by the new range may overlap the character</text>
                <text>        buffer of the underlying url, or else</text>
                <text>        the behavior is undefined.</text>
              </para>
              <head>Complexity</head>
              <para>
                <text>        Linear in `std::distance( first, last ) + this-&gt;url().encoded_resouce().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Strong guarantee.</text>
                <text>        Calls to allocate may throw.</text>
                <text>        Exceptions thrown on invalid input.</text>
              </para>
              <throws>
                <text>        The range contains an invalid percent-encoding.</text>
              </throws>
              <returns>
                <text>An iterator to the first</text>
                <text>        segment inserted, or one past `to` if</text>
                <text>        `init.size() == 0`.</text>
              </returns>
              <param name="from,">
                <text>to The range of segments to replace.</text>
              </param>
              <param name="first,">
                <text>last The range of segments to assign.</text>
              </param>
            </doc>
          </function>
        </template>
        <function name="push_back" id="k/+5yJNfDNUOfAvdH+DvTb3aems=">
          <file path="boost/url/impl/segments_encoded_ref.hpp" line="131" class="def"/>
          <file path="boost/url/segments_encoded_ref.hpp" line="751"/>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <text>Append a segment</text>
            </para>
            <para>
              <text>This function appends a segment to</text>
              <text>        the end of the path.</text>
              <text>        Reserved characters in the string are</text>
              <text>        automatically escaped.</text>
              <text>        Escapes in the string are preserved.</text>
            </para>
            <para>
              <text></text>
              <text>        All end iterators are invalidated.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;back() == s</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        The string contains an invalid percent-encoding.</text>
            </throws>
            <param name="s">
              <text>The segment to append.</text>
            </param>
          </doc>
        </function>
        <function name="pop_back" exception-spec="noexcept" id="JlzMZ8Js8HPWqK22W+WU2MR2Yn8=">
          <file path="boost/url/impl/segments_encoded_ref.hpp" line="140" class="def"/>
          <file path="boost/url/segments_encoded_ref.hpp" line="772"/>
          <doc>
            <para>
              <text>Remove the last segment</text>
            </para>
            <para>
              <text>This function removes the last segment</text>
              <text>        from the container.</text>
            </para>
            <para>
              <text></text>
              <text>        Iterators to the last segment as well</text>
              <text>        as all end iterators are invalidated.</text>
            </para>
            <head>Preconditions</head>
            <code>
              <text>        not this-&gt;empty()</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
      </class>
      <class name="segments_ref" id="zdr3gU7+2/G05oo6ta/IfHlkTF0=">
        <file path="boost/url/segments_ref.hpp" line="85" class="def"/>
        <base>
          <type id="ge9cOBTN19ywbVTnB5ajdJUC46Q=" name="segments_base"/>
        </base>
        <doc>
          <para>
            <text>A view representing path segments in a URL</text>
          </para>
          <para>
            <text>Objects of this type are used to interpret</text>
            <text>    the path as a bidirectional view of segments,</text>
            <text>    where each segment is a string with percent</text>
            <text>    escapes automatically decoded.</text>
          </para>
          <para>
            <text>The view does not retain ownership of the</text>
            <text>    elements and instead references the original</text>
            <text>    character buffer. The caller is responsible</text>
            <text>    for ensuring that the lifetime of the buffer</text>
            <text>    extends until it is no longer referenced.</text>
          </para>
          <para>
            <text>The view is modifiable; calling non-const</text>
            <text>    members causes changes to the referenced</text>
            <text>    url.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    url u( &quot;/path/to/file.txt&quot; );</text>
            <text></text>
            <text>    segments_ref ps = u.segments();</text>
          </code>
          <para>
            <text>Percent escapes in strings returned when</text>
            <text>    dereferencing iterators are automatically</text>
            <text>    decoded.</text>
            <text>    Reserved characters in strings supplied</text>
            <text>    to modifier functions are automatically</text>
            <text>    percent-escaped.</text>
          </para>
          <head>Iterator Invalidation</head>
          <para>
            <text>    Changes to the underlying character buffer</text>
            <text>    can invalidate iterators which reference it.</text>
            <text>    Modifications made through the container</text>
            <text>    invalidate some or all iterators:</text>
            <text></text>
          </para>
          <listitem>
            <reference id="p+DBZZu3QuesD/ekEuyMjTorERE=">push_back</reference>
            <text> : Only `end()`.</text>
          </listitem>
          <listitem>
            <reference id="jmv/jLLJzcA3XERfiZBze0WECd8=">assign</reference>
            <text>,</text>
            <reference id="T88pkBtjum3iYJBQByTdXoPyzjw=">clear</reference>
            <text>,</text>
            <reference id="1PGonC8ca/Nb6CSk6xQynqWAXwQ=">operator=</reference>
            <text> : All elements.</text>
          </listitem>
          <listitem>
            <reference id="ry28jZcnbOn9xqooHcGdMYri4RI=">erase</reference>
            <text> : Erased elements and all</text>
            <text>        elements after (including `end()`).</text>
          </listitem>
          <listitem>
            <reference id="UFcbKr0/9mzfgNed32nyewDv04g=">insert</reference>
            <text> : All elements at or after</text>
            <text>        the insertion point (including `end()`).</text>
          </listitem>
          <listitem>
            <reference id="Xc7GRtURrDuIx9hU5zwjeuPO+8Q=">replace</reference>
            <text> : Modified</text>
            <text>        elements and all elements</text>
            <text>        after (including `end()`).</text>
          </listitem>
          <see>
            <reference id="TCUUfRiqZjX62kt7tK2fs//VWr0=">segments_encoded_ref</reference>
            <text>,</text>
            <reference id="EvaX3SmNTAtai2Kf6Kma3fUkTkQ=">segments_encoded_view</reference>
            <text>,</text>
            <reference id="ZNJOLZ4RhCB2A2ooiNo7KxZJHrA=">segments_view</reference>
            <text>.</text>
          </see>
        </doc>
        <function class="constructor" name="segments_ref" id="nxBSMlBfKGySbzDTm/u8cZlRsUI=">
          <file path="boost/url/segments_ref.hpp" line="124" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="zdr3gU7+2/G05oo6ta/IfHlkTF0=" name="segments_ref" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>After construction, both views</text>
              <text>        reference the same url. Ownership is not</text>
              <text>        transferred; the caller is responsible</text>
              <text>        for ensuring the lifetime of the url</text>
              <text>        extends until it is no longer</text>
              <text>        referenced.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        &amp;this-&gt;url() == &amp;other.url();</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <param name="other">
              <text>The other view.</text>
            </param>
          </doc>
        </function>
        <function name="operator=" id="1PGonC8ca/Nb6CSk6xQynqWAXwQ=">
          <file path="boost/url/segments_ref.hpp" line="157"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="zdr3gU7+2/G05oo6ta/IfHlkTF0=" name="segments_ref"/>
            </type>
          </return>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="zdr3gU7+2/G05oo6ta/IfHlkTF0=" name="segments_ref" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>The existing contents are replaced</text>
              <text>        by a copy of the other segments.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <para class="note">
              <text>None of the character buffers referenced</text>
              <text>        by `other` may overlap the buffer of the</text>
              <text>        underlying url, or else the behavior</text>
              <text>        is undefined.</text>
            </para>
            <head>Effects</head>
            <code>
              <text>        this-&gt;assign( other.begin(), other.end() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `other.buffer().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="other">
              <text>The segments to assign.</text>
            </param>
            <para>
              <text>@{</text>
            </para>
          </doc>
        </function>
        <function name="operator=" id="iqCU4nc7T888hTdpOUX2IIuAra4=">
          <file path="boost/url/segments_ref.hpp" line="161"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="zdr3gU7+2/G05oo6ta/IfHlkTF0=" name="segments_ref"/>
            </type>
          </return>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="ZNJOLZ4RhCB2A2ooiNo7KxZJHrA=" name="segments_view" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
        <function name="operator=" id="+pM8OfSmj9bcZr8C7H2/n3i2q7c=">
          <file path="boost/url/segments_ref.hpp" line="204"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="zdr3gU7+2/G05oo6ta/IfHlkTF0=" name="segments_ref"/>
            </type>
          </return>
          <param name="init">
            <type name="std::initializer_list&lt;core::string_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>The existing contents are replaced</text>
              <text>        by a copy of the contents of the</text>
              <text>        initializer list.</text>
              <text>        Reserved characters in the list are</text>
              <text>        automatically escaped.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u;</text>
              <text></text>
              <text>        u.segments() = { &quot;path&quot;, &quot;to&quot;, &quot;file.txt&quot; };</text>
            </code>
            <head>Preconditions</head>
            <para>
              <text>        None of the character buffers referenced</text>
              <text>        by the list may overlap the character</text>
              <text>        buffer of the underlying url, or else</text>
              <text>        the behavior is undefined.</text>
            </para>
            <head>Effects</head>
            <code>
              <text>        this-&gt;assign( init.begin(), init.end() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `init.size() + this-&gt;url().encoded_query().size() + this-&gt;url().encoded_fragment().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="init">
              <text>The list of segments to assign.</text>
            </param>
          </doc>
        </function>
        <function class="conversion" name="operator segments_view" exception-spec="noexcept" id="Yjmz7FLx2FKEMNm77t8koOdVeiw=">
          <file path="boost/url/segments_ref.hpp" line="214"/>
          <attr id="is-const"/>
          <return>
            <type id="ZNJOLZ4RhCB2A2ooiNo7KxZJHrA=" name="segments_view"/>
          </return>
          <doc>
            <para>
              <text>Conversion</text>
            </para>
            <see>
              <reference id="ZNJOLZ4RhCB2A2ooiNo7KxZJHrA=">segments_view</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="url" exception-spec="noexcept" id="t+7RWQooKrtJXGKQJu70HNfs5V0=">
          <file path="boost/url/segments_ref.hpp" line="238" class="def"/>
          <attr id="is-const"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Return the referenced url</text>
            </para>
            <para>
              <text>This function returns the url referenced</text>
              <text>        by the view.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;/path/to/file.txt&quot; );</text>
              <text></text>
              <text>        assert( &amp;u.segments().url() == &amp;u );</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="clear" exception-spec="noexcept" id="T88pkBtjum3iYJBQByTdXoPyzjw=">
          <file path="boost/url/impl/segments_ref.hpp" line="28" class="def"/>
          <file path="boost/url/segments_ref.hpp" line="271"/>
          <doc>
            <para>
              <text>Clear the contents of the container</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <head>Effects</head>
            <code>
              <text>        this-&gt;url().set_encoded_path( &quot;&quot; );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;empty() == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_query().size() + this-&gt;url().encoded_fragment().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="assign" id="jmv/jLLJzcA3XERfiZBze0WECd8=">
          <file path="boost/url/segments_ref.hpp" line="308"/>
          <param name="init">
            <type name="std::initializer_list&lt;core::string_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Assign segments</text>
            </para>
            <para>
              <text>The existing contents are replaced</text>
              <text>        by a copy of the contents of the</text>
              <text>        initializer list.</text>
              <text>        Reserved characters in the list are</text>
              <text>        automatically escaped.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators are invalidated.</text>
            </para>
            <para class="note">
              <text>None of the character buffers referenced</text>
              <text>        by `init` may overlap the character buffer</text>
              <text>        of the underlying url, or else the behavior</text>
              <text>        is undefined.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u;</text>
              <text></text>
              <text>        u.segments().assign( { &quot;path&quot;, &quot;to&quot;, &quot;file.txt&quot; } );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `init.size() + this-&gt;url().encoded_query().size() + this-&gt;url().encoded_fragment().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="init">
              <text>The list of segments to assign.</text>
            </param>
          </doc>
        </function>
        <template>
          <tparam name="FwdIt" class="type"/>
          <function name="assign" id="1mO8vRMU8isq7VD+oX7GFNTSSKs=">
            <file path="boost/url/impl/segments_ref.hpp" line="37" class="def"/>
            <file path="boost/url/segments_ref.hpp" line="344"/>
            <param name="first">
              <type name="FwdIt"/>
            </param>
            <param name="last">
              <type name="FwdIt"/>
            </param>
            <doc>
              <para>
                <text>Assign segments</text>
              </para>
              <para>
                <text>The existing contents are replaced</text>
                <text>        by a copy of the contents of the range.</text>
                <text>        Reserved characters in the range are</text>
                <text>        automatically escaped.</text>
              </para>
              <para>
                <text></text>
                <text>        All iterators are invalidated.</text>
              </para>
              <para class="note">
                <text>None of the character buffers referenced</text>
                <text>        by the range may overlap the character</text>
                <text>        buffer of the underlying url, or else</text>
                <text>        the behavior is undefined.</text>
              </para>
              <head>Mandates</head>
              <code>
                <text>        std::is_convertible&lt; std::iterator_traits&lt; FwdIt &gt;::reference_type, core::string_view &gt;::value == true</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `std::distance( first, last ) + this-&gt;url().encoded_query().size() + this-&gt;url().encoded_fragment().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Strong guarantee.</text>
                <text>        Calls to allocate may throw.</text>
              </para>
              <param name="first,">
                <text>last The range of segments</text>
                <text>        to assign.</text>
              </param>
            </doc>
          </function>
        </template>
        <function name="insert" id="UFcbKr0/9mzfgNed32nyewDv04g=">
          <file path="boost/url/segments_ref.hpp" line="377"/>
          <return>
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </return>
          <param name="before">
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </param>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Insert segments</text>
            </para>
            <para>
              <text>This function inserts a segment</text>
              <text>        before the specified position.</text>
              <text>        Reserved characters in the segment are</text>
              <text>        automatically escaped.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `before` or come after are invalidated.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `s.size() + this-&gt;url().encoded_resource().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <returns>
              <text>An iterator to the inserted</text>
              <text>        segment.</text>
            </returns>
            <param name="before">
              <text>An iterator before which</text>
              <text>        the segment is inserted. This may</text>
              <text>        be equal to `end()`.</text>
            </param>
            <param name="s">
              <text>The segment to insert.</text>
            </param>
          </doc>
        </function>
        <function name="insert" id="nGAGqRMRbhZiwWI72JEu5nr4tJs=">
          <file path="boost/url/segments_ref.hpp" line="425"/>
          <return>
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </return>
          <param name="before">
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </param>
          <param name="init">
            <type name="std::initializer_list&lt;core::string_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Insert segments</text>
            </para>
            <para>
              <text>This function inserts the segments</text>
              <text>        in an initializer list before the</text>
              <text>        specified position.</text>
              <text>        Reserved characters in the list are</text>
              <text>        percent-escaped in the result.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `before` or come after are invalidated.</text>
            </para>
            <para class="note">
              <text>None of the character buffers referenced</text>
              <text>        by the list may overlap the character</text>
              <text>        buffer of the underlying url, or else</text>
              <text>        the behavior is undefined.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;/file.txt&quot; );</text>
              <text></text>
              <text>        u.segments().insert( u.segments().begin(), { &quot;path&quot;, &quot;to&quot; } );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `init.size() + this-&gt;url().encoded_resource().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <returns>
              <text>An iterator to the first</text>
              <text>        element inserted, or `before` if</text>
              <text>        `init.size() == 0`.</text>
            </returns>
            <param name="before">
              <text>An iterator before which</text>
              <text>        the list is inserted. This may</text>
              <text>        be equal to `end()`.</text>
            </param>
            <param name="init">
              <text>The list of segments to insert.</text>
            </param>
          </doc>
        </function>
        <template>
          <tparam name="FwdIt" class="type"/>
          <function name="insert" id="dou6hXskL/iyVwdF5Jbixl7OQFY=">
            <file path="boost/url/impl/segments_ref.hpp" line="61" class="def"/>
            <file path="boost/url/segments_ref.hpp" line="471"/>
            <attr id="has-trailing-return"/>
            <return>
              <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
            </return>
            <param name="before">
              <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
            </param>
            <param name="first">
              <type name="FwdIt"/>
            </param>
            <param name="last">
              <type name="FwdIt"/>
            </param>
            <doc>
              <para>
                <text>Insert segments</text>
              </para>
              <para>
                <text>This function inserts the segments in</text>
                <text>        a range before the specified position.</text>
                <text>        Reserved characters in the list are</text>
                <text>        automatically escaped.</text>
              </para>
              <para>
                <text></text>
                <text>        All iterators that are equal to</text>
                <text>        `before` or come after are invalidated.</text>
              </para>
              <para class="note">
                <text>None of the character buffers referenced</text>
                <text>        by the range may overlap the character</text>
                <text>        buffer of the underlying url, or else</text>
                <text>        the behavior is undefined.</text>
              </para>
              <head>Mandates</head>
              <code>
                <text>        std::is_convertible&lt; std::iterator_traits&lt; FwdIt &gt;::reference_type, core::string_view &gt;::value == true</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `std::distance( first, last ) + this-&gt;url().encoded_resource().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Strong guarantee.</text>
                <text>        Calls to allocate may throw.</text>
              </para>
              <returns>
                <text>An iterator to the first</text>
                <text>        segment inserted, or `before` if</text>
                <text>        `init.empty()`.</text>
              </returns>
              <param name="before">
                <text>An iterator before which</text>
                <text>        the range is inserted. This may</text>
                <text>        be equal to `end()`.</text>
              </param>
              <param name="first,">
                <text>last The range of segments</text>
                <text>        to insert.</text>
              </param>
            </doc>
          </function>
        </template>
        <function name="erase" exception-spec="noexcept" id="ry28jZcnbOn9xqooHcGdMYri4RI=">
          <file path="boost/url/impl/segments_ref.hpp" line="89" class="def"/>
          <file path="boost/url/segments_ref.hpp" line="498"/>
          <attr id="has-trailing-return"/>
          <return>
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </return>
          <param name="pos">
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </param>
          <doc>
            <para>
              <text>Erase segments</text>
            </para>
            <para>
              <text>This function removes a segment.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `pos` or come after are invalidated.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_resource().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <returns>
              <text>An iterator to one past</text>
              <text>        the removed segment.</text>
            </returns>
            <param name="pos">
              <text>An iterator to the segment.</text>
            </param>
          </doc>
        </function>
        <function name="erase" exception-spec="noexcept" id="r1gTyRFDkNhliFkLegBVVeTsqXM=">
          <file path="boost/url/segments_ref.hpp" line="523"/>
          <return>
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </return>
          <param name="first">
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </param>
          <param name="last">
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </param>
          <doc>
            <para>
              <text>Erase segments</text>
            </para>
            <para>
              <text>This function removes a range of segments.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `first` or come after are invalidated.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;url().encoded_resource().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <returns>
              <text>An iterator to one past</text>
              <text>        the removed range.</text>
            </returns>
            <param name="first,">
              <text>last The range of</text>
              <text>        segments to erase.</text>
            </param>
          </doc>
        </function>
        <function name="replace" id="Xc7GRtURrDuIx9hU5zwjeuPO+8Q=">
          <file path="boost/url/segments_ref.hpp" line="555"/>
          <return>
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </return>
          <param name="pos">
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </param>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Replace segments</text>
            </para>
            <para>
              <text>This function replaces the segment at</text>
              <text>        the specified position.</text>
              <text>        Reserved characters in the string are</text>
              <text>        automatically escaped.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `pos` or come after are invalidated.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `s.size() + this-&gt;url().encoded_resouce().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <returns>
              <text>An iterator to the replaced segment.</text>
            </returns>
            <param name="pos">
              <text>An iterator to the segment.</text>
            </param>
            <param name="s">
              <text>The string to assign.</text>
            </param>
          </doc>
        </function>
        <function name="replace" id="S2FK13kWWDfcPxOgjxbi3h2Sltw=">
          <file path="boost/url/segments_ref.hpp" line="585"/>
          <return>
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </return>
          <param name="from">
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </param>
          <param name="to">
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </param>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Replace segments</text>
            </para>
            <para>
              <text>This function replaces a range of</text>
              <text>        segments with one segment.</text>
              <text>        Reserved characters in the string are</text>
              <text>        automatically escaped.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `from` or come after are invalidated.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `s.size() + this-&gt;url().encoded_resouce().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <returns>
              <text>An iterator to the new segment.</text>
            </returns>
            <param name="from,">
              <text>to The range of segments to replace.</text>
            </param>
            <param name="s">
              <text>The string to assign.</text>
            </param>
          </doc>
        </function>
        <function name="replace" id="IJ6Vu12OFGjGPmnV9h7THG7k83c=">
          <file path="boost/url/segments_ref.hpp" line="625"/>
          <return>
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </return>
          <param name="from">
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </param>
          <param name="to">
            <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
          </param>
          <param name="init">
            <type name="std::initializer_list&lt;core::string_view&gt;"/>
          </param>
          <doc>
            <para>
              <text>Replace segments</text>
            </para>
            <para>
              <text>This function replaces a range of</text>
              <text>        segments with a list of segments in</text>
              <text>        an initializer list.</text>
              <text>        Reserved characters in the list are</text>
              <text>        automatically escaped.</text>
            </para>
            <para>
              <text></text>
              <text>        All iterators that are equal to</text>
              <text>        `from` or come after are invalidated.</text>
            </para>
            <head>Preconditions</head>
            <para>
              <text>        None of the character buffers referenced</text>
              <text>        by the list may overlap the character</text>
              <text>        buffer of the underlying url, or else</text>
              <text>        the behavior is undefined.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `init.size() + this-&gt;url().encoded_resouce().size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <returns>
              <text>An iterator to the first</text>
              <text>        segment inserted, or one past `to` if</text>
              <text>        `init.size() == 0`.</text>
            </returns>
            <param name="from,">
              <text>to The range of segments to replace.</text>
            </param>
            <param name="init">
              <text>The list of segments to assign.</text>
            </param>
          </doc>
        </function>
        <template>
          <tparam name="FwdIt" class="type"/>
          <function name="replace" id="e0Co52pl+qsDVNfc3Vu3Cy3GyZM=">
            <file path="boost/url/impl/segments_ref.hpp" line="100" class="def"/>
            <file path="boost/url/segments_ref.hpp" line="665"/>
            <attr id="has-trailing-return"/>
            <return>
              <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
            </return>
            <param name="from">
              <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
            </param>
            <param name="to">
              <type id="v0DfmyG7n+onJnPwu0SmkmEIIs4=" name="iterator"/>
            </param>
            <param name="first">
              <type name="FwdIt"/>
            </param>
            <param name="last">
              <type name="FwdIt"/>
            </param>
            <doc>
              <para>
                <text>Replace segments</text>
              </para>
              <para>
                <text>This function replaces a range of</text>
                <text>        segments with annother range of segments.</text>
                <text>        Reserved characters in the new range are</text>
                <text>        automatically escaped.</text>
              </para>
              <para>
                <text></text>
                <text>        All iterators that are equal to</text>
                <text>        `from` or come after are invalidated.</text>
              </para>
              <head>Preconditions</head>
              <para>
                <text>        None of the character buffers referenced</text>
                <text>        by the new range may overlap the character</text>
                <text>        buffer of the underlying url, or else</text>
                <text>        the behavior is undefined.</text>
              </para>
              <head>Complexity</head>
              <para>
                <text>        Linear in `std::distance( first, last ) + this-&gt;url().encoded_resouce().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Strong guarantee.</text>
                <text>        Calls to allocate may throw.</text>
              </para>
              <returns>
                <text>An iterator to the first</text>
                <text>        segment inserted, or one past `to` if</text>
                <text>        `init.size() == 0`.</text>
              </returns>
              <param name="from,">
                <text>to The range of segments to replace.</text>
              </param>
              <param name="first,">
                <text>last The range of segments to assign.</text>
              </param>
            </doc>
          </function>
        </template>
        <function name="push_back" id="p+DBZZu3QuesD/ekEuyMjTorERE=">
          <file path="boost/url/impl/segments_ref.hpp" line="130" class="def"/>
          <file path="boost/url/segments_ref.hpp" line="693"/>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Append a segment</text>
            </para>
            <para>
              <text>This function appends a segment to</text>
              <text>        the end of the path.</text>
              <text>        Reserved characters in the string are</text>
              <text>        automatically escaped.</text>
            </para>
            <para>
              <text></text>
              <text>        All end iterators are invalidated.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;back() == s</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="s">
              <text>The segment to append.</text>
            </param>
          </doc>
        </function>
        <function name="pop_back" exception-spec="noexcept" id="+a4Rj4DZHhwXrfe1x6L8Q14NlZM=">
          <file path="boost/url/impl/segments_ref.hpp" line="139" class="def"/>
          <file path="boost/url/segments_ref.hpp" line="714"/>
          <doc>
            <para>
              <text>Remove the last segment</text>
            </para>
            <para>
              <text>This function removes the last segment</text>
              <text>        from the container.</text>
            </para>
            <para>
              <text></text>
              <text>        Iterators to the last segment as well</text>
              <text>        as all end iterators are invalidated.</text>
            </para>
            <head>Preconditions</head>
            <code>
              <text>        not this-&gt;empty()</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
      </class>
      <class name="url_view_base" id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=">
        <file path="boost/url/url_view_base.hpp" line="65" class="def"/>
        <doc>
          <para>
            <text>Common functionality for containers</text>
          </para>
          <para>
            <text>This base class is used by the library</text>
            <text>    to provide common member functions for</text>
            <text>    containers. This cannot be instantiated</text>
            <text>    directly; Instead, use one of the</text>
            <text>    containers or functions:</text>
          </para>
          <head>Containers</head>
          <listitem>
            <reference id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=">url</reference>
          </listitem>
          <listitem>
            <reference id="wh3UbUToX9YDmRmnpcoM9EUEZo8=">url_view</reference>
          </listitem>
          <listitem>
            <reference id="4HBDcnMjZthTXFnhpS7z+UhDNjA=">static_url</reference>
          </listitem>
          <head>Functions</head>
          <listitem>
            <reference id="U3CVElRbcTcbg1JzOqhBCd5RSzM=">parse_absolute_uri</reference>
          </listitem>
          <listitem>
            <reference id="J4f05lEg7oi89R2SkpRaYiBhCIQ=">parse_origin_form</reference>
          </listitem>
          <listitem>
            <reference id="QFzcl8vSLEeKOEO6w3mv1zGqX3k=">parse_relative_ref</reference>
          </listitem>
          <listitem>
            <reference id="f+9kR517VGSM5ZPoS7g/RFb0g/0=">parse_uri</reference>
          </listitem>
          <listitem>
            <reference id="7d2b1xVBWJPgL/+PWFdoBaZJvMA=">parse_uri_reference</reference>
          </listitem>
        </doc>
        <function name="digest" exception-spec="noexcept" id="aSDB3babl7TsiU0T+gdHMM/NC5c=">
          <file path="boost/url/url_view_base.hpp" line="114"/>
          <attr id="is-const"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <param default="0">
            <type name="std::size_t"/>
          </param>
        </function>
        <function name="max_size" exception-spec="noexcept" id="mg8FRYZ94og9lKYjTEYdjucqHw4=">
          <file path="boost/url/url_view_base.hpp" line="139" class="def"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="storage-class" name="static" value="2"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <doc>
            <para>
              <text>Return the maximum number of characters possible</text>
            </para>
            <para>
              <text>This represents the largest number</text>
              <text>        of characters that are theoretically</text>
              <text>        possible to represent in a url,</text>
              <text>        not including any null terminator.</text>
              <text>        In practice the actual possible size</text>
              <text>        may be lower than this number.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="size" exception-spec="noexcept" id="b5EwiMBFGrk0/BIGaiumuCVSoFM=">
          <file path="boost/url/url_view_base.hpp" line="165" class="def"/>
          <attr id="is-const"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <doc>
            <para>
              <text>Return the number of characters in the url</text>
            </para>
            <para>
              <text>This function returns the number of</text>
              <text>        characters in the url&apos;s encoded string,</text>
              <text>        not including any null terminator,</text>
              <text>        if present.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;file:///Program%20Files&quot; ).size() == 23 );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="empty" exception-spec="noexcept" id="5yR7btLz2K+NLHFnzfXMyGsq2fo=">
          <file path="boost/url/url_view_base.hpp" line="201" class="def"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if the url is empty</text>
            </para>
            <para>
              <text>The empty string matches the</text>
              <italic>relative-ref</italic>
              <text> grammar.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;&quot; ).empty() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        relative-ref  = relative-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
              <text></text>
              <text>        relative-part = &quot;//&quot; authority path-abempty</text>
              <text>                      / path-absolute</text>
              <text>                      / path-noscheme</text>
              <text>                      / path-empty</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.2">4.2.  Relative Reference (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <function name="data" exception-spec="noexcept" id="I2WjK21z+iS45kbL4TnzA8O5oE0=">
          <file path="boost/url/url_view_base.hpp" line="219" class="def"/>
          <attr id="is-const"/>
          <return>
            <type class="pointer">
              <pointee-type name="char" cv-qualifiers="const"/>
            </type>
          </return>
          <doc>
            <para>
              <text>Return a pointer to the url&apos;s character buffer</text>
            </para>
            <para>
              <text>This function returns a pointer to</text>
              <text>        the first character of the url, which</text>
              <text>        is not guaranteed to be null-terminated.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="buffer" exception-spec="noexcept" id="oDNnPxjP34HYhoUyyduWMZfqZs4=">
          <file path="boost/url/url_view_base.hpp" line="241" class="def"/>
          <attr id="is-const"/>
          <return>
            <type name="core::string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the url string</text>
            </para>
            <para>
              <text>This function returns the entire url,</text>
              <text>        which may contain percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://www.example.com&quot; ).buffer() == &quot;http://www.example.com&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function class="conversion" name="operator core::string_view" exception-spec="noexcept" id="0JOtXYOmKvCl2dNIZYV6J7flgJE=">
          <file path="boost/url/url_view_base.hpp" line="257" class="def"/>
          <attr id="is-const"/>
          <return>
            <type name="core::string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the URL as a core::string_view</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
          </doc>
        </function>
        <function name="persist" id="cRPG1npIXmfYC0K+C+idxOqIc04=">
          <file path="boost/url/url_view_base.hpp" line="297"/>
          <attr id="is-const"/>
          <return>
            <type name="std::shared_ptr&lt;const url_view&gt;"/>
          </return>
          <doc>
            <para>
              <text>Return a shared, persistent copy of the url</text>
            </para>
            <para>
              <text>This function returns a read-only copy of</text>
              <text>        the url, with shared lifetime. The returned</text>
              <text>        value owns (persists) the underlying string.</text>
              <text>        The algorithm used to create the value</text>
              <text>        minimizes the number of individual memory</text>
              <text>        allocations, making it more efficient than</text>
              <text>        when using direct standard library functions.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        std::shared_ptr&lt; url_view const &gt; sp;</text>
              <text>        {</text>
              <text>            std::string s( &quot;http://example.com&quot; );</text>
              <text>            url_view u( s );                        // u references characters in s</text>
              <text></text>
              <text>            assert( u.data() == s.data() );         // same buffer</text>
              <text></text>
              <text>            sp = u.persist();</text>
              <text></text>
              <text>            assert( sp-&gt;data() != s.data() );       // different buffer</text>
              <text>            assert( sp-&gt;buffer() == s);             // same contents</text>
              <text></text>
              <text>            // s is destroyed and thus u</text>
              <text>            // becomes invalid, but sp remains valid.</text>
              <text>        }</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `this-&gt;size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Calls to allocate may throw.</text>
            </para>
          </doc>
        </function>
        <function name="has_scheme" exception-spec="noexcept" id="iwSH2fvVkb89TkZj7KWLGSyc4sA=">
          <file path="boost/url/url_view_base.hpp" line="339"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true a scheme is present</text>
            </para>
            <para>
              <text>This function returns true if this</text>
              <text>        contains a scheme.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://www.example.com&quot; ).has_scheme() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        URI             = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
              <text></text>
              <text>        absolute-URI    = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ]</text>
              <text></text>
              <text>        scheme          = ALPHA *( ALPHA / DIGIT / &quot;+&quot; / &quot;-&quot; / &quot;.&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.1">3.1. Scheme (rfc3986)</link>
            </listitem>
            <see>
              <reference id="43fxogaC5oVqfauhwXyN4s4ibEM=">scheme</reference>
              <text>,</text>
              <reference id="uM37WpBqetqzfHjns3M8/+CcoEU=">scheme_id</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="scheme" exception-spec="noexcept" id="43fxogaC5oVqfauhwXyN4s4ibEM=">
          <file path="boost/url/url_view_base.hpp" line="375"/>
          <attr id="is-const"/>
          <return>
            <type name="core::string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the scheme</text>
            </para>
            <para>
              <text>This function returns the scheme if it</text>
              <text>        exists, without a trailing colon (&apos;:&apos;).</text>
              <text>        Otherwise it returns an empty string.</text>
              <text>        Note that schemes are case-insensitive,</text>
              <text>        and the canonical form is lowercased.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://www.example.com&quot; ).scheme() == &quot;http&quot; );</text>
            </code>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        scheme          = ALPHA *( ALPHA / DIGIT / &quot;+&quot; / &quot;-&quot; / &quot;.&quot; )</text>
              <text></text>
              <text>        URI             = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
              <text></text>
              <text>        absolute-URI    = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ]</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.1">3.1. Scheme (rfc3986)</link>
            </listitem>
            <see>
              <reference id="iwSH2fvVkb89TkZj7KWLGSyc4sA=">has_scheme</reference>
              <text>,</text>
              <reference id="uM37WpBqetqzfHjns3M8/+CcoEU=">scheme_id</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="scheme_id" exception-spec="noexcept" id="uM37WpBqetqzfHjns3M8/+CcoEU=">
          <file path="boost/url/url_view_base.hpp" line="424"/>
          <attr id="is-const"/>
          <return>
            <type id="P7uOjuAMILimKGOcbjDUSpMAL/U=" name="urls::scheme"/>
          </return>
          <doc>
            <para>
              <text>Return the scheme</text>
            </para>
            <para>
              <text>This function returns a value which</text>
              <text>        depends on the scheme in the url:</text>
            </para>
            <listitem>
              <text>If the scheme is a well-known</text>
              <text>        scheme, corresponding value from</text>
              <text>        the enumeration</text>
              <reference id="P7uOjuAMILimKGOcbjDUSpMAL/U=">urls::scheme</reference>
              <text>        is returned.</text>
            </listitem>
            <listitem>
              <text>If a scheme is present but is not</text>
              <text>        a well-known scheme, the value</text>
              <text>        returned is</text>
              <reference id="LJxTyQ55ot1WYLH7f46nZvdGU78=">urls::scheme::unknown</reference>
              <text>.</text>
            </listitem>
            <listitem>
              <text>Otherwise, if the scheme is absent</text>
              <text>        the value returned is</text>
              <reference id="VupiauVBXlZQ8Uix+vk8kSl+fM8=">urls::scheme::none</reference>
              <text>.</text>
            </listitem>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;wss://www.example.com/crypto.cgi&quot; ).scheme_id() == scheme::wss );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        URI             = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
              <text></text>
              <text>        absolute-URI    = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ]</text>
              <text></text>
              <text>        scheme          = ALPHA *( ALPHA / DIGIT / &quot;+&quot; / &quot;-&quot; / &quot;.&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.1">3.1. Scheme (rfc3986)</link>
            </listitem>
            <see>
              <reference id="iwSH2fvVkb89TkZj7KWLGSyc4sA=">has_scheme</reference>
              <text>,</text>
              <reference id="43fxogaC5oVqfauhwXyN4s4ibEM=">scheme</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="has_authority" exception-spec="noexcept" id="gadV3YsYDjlGX+64Rtiz4S+QD4A=">
          <file path="boost/url/url_view_base.hpp" line="480" class="def"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if an authority is present</text>
            </para>
            <para>
              <text>This function returns true if the url</text>
              <text>        contains an authority. The presence of</text>
              <text>        an authority is denoted by a double</text>
              <text>        slash (&quot;//&quot;) at the beginning or after</text>
              <text>        the scheme.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://www.example.com/index.htm&quot; ).has_authority() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        authority       = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
              <text></text>
              <text>        URI             = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
              <text></text>
              <text>        absolute-URI    = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ]</text>
              <text></text>
              <text>        URI-reference   = URI / relative-ref</text>
              <text></text>
              <text>        relative-ref    = relative-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
              <text></text>
              <text>        hier-part       = &quot;//&quot; authority path-abempty</text>
              <text>                        ; (more...)</text>
              <text></text>
              <text>        relative-part   = &quot;//&quot; authority path-abempty</text>
              <text>                        ; (more...)</text>
              <text></text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2">3.2. Authority (rfc3986)</link>
            </listitem>
            <see>
              <reference id="v5/R9LI0iKJDiBrNUt7k8qrVBdM=">authority</reference>
              <text>,</text>
              <reference id="Ww04vLA2k7BwctuyNeP3KwoNr4M=">encoded_authority</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="authority" exception-spec="noexcept" id="v5/R9LI0iKJDiBrNUt7k8qrVBdM=">
          <file path="boost/url/url_view_base.hpp" line="515"/>
          <attr id="is-const"/>
          <return>
            <type id="d/hMlyyC3Ave6L9McUD7B4TwENA=" name="authority_view"/>
          </return>
          <doc>
            <para>
              <text>Return the authority</text>
            </para>
            <para>
              <text>This function returns the authority as</text>
              <text>        an</text>
              <reference id="d/hMlyyC3Ave6L9McUD7B4TwENA=">authority_view</reference>
              <text>.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        authority_view a = url_view( &quot;https://www.example.com:8080/index.htm&quot; ).authority();</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        authority   = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2">3.2. Authority (rfc3986)</link>
            </listitem>
            <see>
              <reference id="Ww04vLA2k7BwctuyNeP3KwoNr4M=">encoded_authority</reference>
              <text>,</text>
              <reference id="gadV3YsYDjlGX+64Rtiz4S+QD4A=">has_authority</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="encoded_authority" exception-spec="noexcept" id="Ww04vLA2k7BwctuyNeP3KwoNr4M=">
          <file path="boost/url/url_view_base.hpp" line="551"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the authority.</text>
            </para>
            <para>
              <text>If present, this function returns a</text>
              <text>        string representing the authority (which</text>
              <text>        may be empty).</text>
              <text>        Otherwise it returns an empty string.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;file://Network%20Drive/My%2DFiles&quot; ).encoded_authority() == &quot;Network%20Drive&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        authority   = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2">3.2. Authority (rfc3986)</link>
            </listitem>
            <see>
              <reference id="v5/R9LI0iKJDiBrNUt7k8qrVBdM=">authority</reference>
              <text>,</text>
              <reference id="gadV3YsYDjlGX+64Rtiz4S+QD4A=">has_authority</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="has_userinfo" exception-spec="noexcept" id="i/v5Vfq44OnlLbuKgQ2KvgWgZqo=">
          <file path="boost/url/url_view_base.hpp" line="597"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if a userinfo is present</text>
            </para>
            <para>
              <text>This function returns true if this</text>
              <text>        contains a userinfo.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://jane%2Ddoe:pass@example.com&quot; ).has_userinfo() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        userinfo    = user [ &quot;:&quot; [ password ] ]</text>
              <text></text>
              <text>        authority   = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="9JACnsebk8tFsoryabfDxE8VpnA=">has_password</reference>
              <text>,</text>
              <reference id="W9oZv0BM5z4XAggQPbNAKIM7/ro=">encoded_password</reference>
              <text>,</text>
              <reference id="oYwrnXcglhO4tlvhkxLGfFCYbAk=">encoded_user</reference>
              <text>,</text>
              <reference id="yzkq+uCmbTlXrfDuyd1fT0Zu6xw=">encoded_userinfo</reference>
              <text>,</text>
              <reference id="+ZB55yb2DeVYG+/eYqlMcGcedVE=">password</reference>
              <text>,</text>
              <reference id="/oa6wZJEG852J9Yi1LQlnq1n1tM=">user</reference>
              <text>,</text>
              <reference id="S9yd7MVhXxF+598Xy2/+jwnCZzc=">userinfo</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="has_password" exception-spec="noexcept" id="9JACnsebk8tFsoryabfDxE8VpnA=">
          <file path="boost/url/url_view_base.hpp" line="638"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if a password is present</text>
            </para>
            <para>
              <text>This function returns true if the</text>
              <text>        userinfo is present and contains</text>
              <text>        a password.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://jane%2Ddoe:pass@example.com&quot; ).has_password() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        userinfo    = user [ &quot;:&quot; [ password ] ]</text>
              <text></text>
              <text>        user        = *( unreserved / pct-encoded / sub-delims )</text>
              <text>        password    = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="i/v5Vfq44OnlLbuKgQ2KvgWgZqo=">has_userinfo</reference>
              <text>,</text>
              <reference id="W9oZv0BM5z4XAggQPbNAKIM7/ro=">encoded_password</reference>
              <text>,</text>
              <reference id="oYwrnXcglhO4tlvhkxLGfFCYbAk=">encoded_user</reference>
              <text>,</text>
              <reference id="yzkq+uCmbTlXrfDuyd1fT0Zu6xw=">encoded_userinfo</reference>
              <text>,</text>
              <reference id="+ZB55yb2DeVYG+/eYqlMcGcedVE=">password</reference>
              <text>,</text>
              <reference id="/oa6wZJEG852J9Yi1LQlnq1n1tM=">user</reference>
              <text>,</text>
              <reference id="S9yd7MVhXxF+598Xy2/+jwnCZzc=">userinfo</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="userinfo" id="S9yd7MVhXxF+598Xy2/+jwnCZzc=">
            <file path="boost/url/url_view_base.hpp" line="696" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the userinfo</text>
              </para>
              <para>
                <text>If present, this function returns a</text>
                <text>        string representing the userinfo (which</text>
                <text>        may be empty).</text>
                <text>        Otherwise it returns an empty string.</text>
                <text>        Any percent-escapes in the string are</text>
                <text>        decoded first.</text>
              </para>
              <para class="note">
                <text>This function uses the string token</text>
                <text>        return type customization. Depending on</text>
                <text>        the token passed, the return type and</text>
                <text>        behavior of the function can be different.</text>
                <text>        See</text>
                <reference id="GWBKUkbD4IrRJar4y/nirsWA6jM=">string_token::return_string</reference>
                <text>        for more information.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        assert( url_view( &quot;http://jane%2Ddoe:pass@example.com&quot; ).userinfo() == &quot;jane-doe:pass&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;userinfo().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
              </para>
              <returns>
                <text>When called with no arguments,</text>
                <text>        a value of type `std::string` is</text>
                <text>        returned. Otherwise, the return type</text>
                <text>        and meaning depends on the string token</text>
                <text>        passed to the function.</text>
              </returns>
              <head>BNF</head>
              <code>
                <text>        userinfo    = user [ &quot;:&quot; [ password ] ]</text>
                <text></text>
                <text>        authority   = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
              </code>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">3.2.1. User Information (rfc3986)</link>
              </listitem>
              <see>
                <reference id="9JACnsebk8tFsoryabfDxE8VpnA=">has_password</reference>
                <text>,</text>
                <reference id="i/v5Vfq44OnlLbuKgQ2KvgWgZqo=">has_userinfo</reference>
                <text>,</text>
                <reference id="W9oZv0BM5z4XAggQPbNAKIM7/ro=">encoded_password</reference>
                <text>,</text>
                <reference id="oYwrnXcglhO4tlvhkxLGfFCYbAk=">encoded_user</reference>
                <text>,</text>
                <reference id="yzkq+uCmbTlXrfDuyd1fT0Zu6xw=">encoded_userinfo</reference>
                <text>,</text>
                <reference id="+ZB55yb2DeVYG+/eYqlMcGcedVE=">password</reference>
                <text>,</text>
                <reference id="/oa6wZJEG852J9Yi1LQlnq1n1tM=">user</reference>
                <text>.</text>
              </see>
            </doc>
          </function>
        </template>
        <function name="encoded_userinfo" exception-spec="noexcept" id="yzkq+uCmbTlXrfDuyd1fT0Zu6xw=">
          <file path="boost/url/url_view_base.hpp" line="746"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the userinfo</text>
            </para>
            <para>
              <text>If present, this function returns a</text>
              <text>        string representing the userinfo (which</text>
              <text>        may be empty).</text>
              <text>        Otherwise it returns an empty string.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://jane%2Ddoe:pass@example.com&quot; ).encoded_userinfo() == &quot;jane%2Ddoe:pass&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        userinfo    = user [ &quot;:&quot; [ password ] ]</text>
              <text></text>
              <text>        authority   = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="9JACnsebk8tFsoryabfDxE8VpnA=">has_password</reference>
              <text>,</text>
              <reference id="i/v5Vfq44OnlLbuKgQ2KvgWgZqo=">has_userinfo</reference>
              <text>,</text>
              <reference id="W9oZv0BM5z4XAggQPbNAKIM7/ro=">encoded_password</reference>
              <text>,</text>
              <reference id="oYwrnXcglhO4tlvhkxLGfFCYbAk=">encoded_user</reference>
              <text>,</text>
              <reference id="+ZB55yb2DeVYG+/eYqlMcGcedVE=">password</reference>
              <text>,</text>
              <reference id="/oa6wZJEG852J9Yi1LQlnq1n1tM=">user</reference>
              <text>,</text>
              <reference id="S9yd7MVhXxF+598Xy2/+jwnCZzc=">userinfo</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="user" id="/oa6wZJEG852J9Yi1LQlnq1n1tM=">
            <file path="boost/url/url_view_base.hpp" line="793" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the user</text>
              </para>
              <para>
                <text>If present, this function returns a</text>
                <text>        string representing the user (which</text>
                <text>        may be empty).</text>
                <text>        Otherwise it returns an empty string.</text>
                <text>        Any percent-escapes in the string are</text>
                <text>        decoded first.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        assert( url_view( &quot;http://jane%2Ddoe:pass@example.com&quot; ).user() == &quot;jane-doe&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;user().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
              </para>
              <head>BNF</head>
              <code>
                <text>        userinfo    = user [ &quot;:&quot; [ password ] ]</text>
                <text></text>
                <text>        user        = *( unreserved / pct-encoded / sub-delims )</text>
                <text>        password    = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
              </code>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">3.2.1. User Information (rfc3986)</link>
              </listitem>
              <see>
                <reference id="9JACnsebk8tFsoryabfDxE8VpnA=">has_password</reference>
                <text>,</text>
                <reference id="i/v5Vfq44OnlLbuKgQ2KvgWgZqo=">has_userinfo</reference>
                <text>,</text>
                <reference id="W9oZv0BM5z4XAggQPbNAKIM7/ro=">encoded_password</reference>
                <text>,</text>
                <reference id="oYwrnXcglhO4tlvhkxLGfFCYbAk=">encoded_user</reference>
                <text>,</text>
                <reference id="yzkq+uCmbTlXrfDuyd1fT0Zu6xw=">encoded_userinfo</reference>
                <text>,</text>
                <reference id="+ZB55yb2DeVYG+/eYqlMcGcedVE=">password</reference>
                <text>,</text>
                <reference id="S9yd7MVhXxF+598Xy2/+jwnCZzc=">userinfo</reference>
                <text>.</text>
              </see>
            </doc>
          </function>
        </template>
        <function name="encoded_user" exception-spec="noexcept" id="oYwrnXcglhO4tlvhkxLGfFCYbAk=">
          <file path="boost/url/url_view_base.hpp" line="844"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the user</text>
            </para>
            <para>
              <text>If present, this function returns a</text>
              <text>        string representing the user (which</text>
              <text>        may be empty).</text>
              <text>        Otherwise it returns an empty string.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://jane%2Ddoe:pass@example.com&quot; ).encoded_user() == &quot;jane%2Ddoe&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        userinfo    = user [ &quot;:&quot; [ password ] ]</text>
              <text></text>
              <text>        user        = *( unreserved / pct-encoded / sub-delims )</text>
              <text>        password    = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="9JACnsebk8tFsoryabfDxE8VpnA=">has_password</reference>
              <text>,</text>
              <reference id="i/v5Vfq44OnlLbuKgQ2KvgWgZqo=">has_userinfo</reference>
              <text>,</text>
              <reference id="W9oZv0BM5z4XAggQPbNAKIM7/ro=">encoded_password</reference>
              <text>,</text>
              <reference id="yzkq+uCmbTlXrfDuyd1fT0Zu6xw=">encoded_userinfo</reference>
              <text>,</text>
              <reference id="+ZB55yb2DeVYG+/eYqlMcGcedVE=">password</reference>
              <text>,</text>
              <reference id="/oa6wZJEG852J9Yi1LQlnq1n1tM=">user</reference>
              <text>,</text>
              <reference id="S9yd7MVhXxF+598Xy2/+jwnCZzc=">userinfo</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="password" id="+ZB55yb2DeVYG+/eYqlMcGcedVE=">
            <file path="boost/url/url_view_base.hpp" line="889" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the password</text>
              </para>
              <para>
                <text>If present, this function returns a</text>
                <text>        string representing the password (which</text>
                <text>        may be an empty string).</text>
                <text>        Otherwise it returns an empty string.</text>
                <text>        Any percent-escapes in the string are</text>
                <text>        decoded first.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        assert( url_view( &quot;http://jane%2Ddoe:pass@example.com&quot; ).password() == &quot;pass&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;password().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
              </para>
              <head>BNF</head>
              <code>
                <text>        userinfo    = user [ &quot;:&quot; [ password ] ]</text>
                <text></text>
                <text>        user        = *( unreserved / pct-encoded / sub-delims )</text>
                <text>        password    = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
              </code>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">3.2.1. User Information (rfc3986)</link>
              </listitem>
              <see>
                <reference id="9JACnsebk8tFsoryabfDxE8VpnA=">has_password</reference>
                <text>,</text>
                <reference id="i/v5Vfq44OnlLbuKgQ2KvgWgZqo=">has_userinfo</reference>
                <text>,</text>
                <reference id="W9oZv0BM5z4XAggQPbNAKIM7/ro=">encoded_password</reference>
                <text>,</text>
                <reference id="oYwrnXcglhO4tlvhkxLGfFCYbAk=">encoded_user</reference>
                <text>,</text>
                <reference id="yzkq+uCmbTlXrfDuyd1fT0Zu6xw=">encoded_userinfo</reference>
                <text>,</text>
                <reference id="/oa6wZJEG852J9Yi1LQlnq1n1tM=">user</reference>
                <text>,</text>
                <reference id="S9yd7MVhXxF+598Xy2/+jwnCZzc=">userinfo</reference>
                <text>.</text>
              </see>
            </doc>
          </function>
        </template>
        <function name="encoded_password" exception-spec="noexcept" id="W9oZv0BM5z4XAggQPbNAKIM7/ro=">
          <file path="boost/url/url_view_base.hpp" line="936"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the password</text>
            </para>
            <para>
              <text>This function returns the password portion</text>
              <text>        of the userinfo as a percent-encoded string.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://jane%2Ddoe:pass@example.com&quot; ).encoded_password() == &quot;pass&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        userinfo    = user [ &quot;:&quot; [ password ] ]</text>
              <text></text>
              <text>        user        = *( unreserved / pct-encoded / sub-delims )</text>
              <text>        password    = *( unreserved / pct-encoded / sub-delims / &quot;:&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1">3.2.1. User Information (rfc3986)</link>
            </listitem>
            <see>
              <reference id="9JACnsebk8tFsoryabfDxE8VpnA=">has_password</reference>
              <text>,</text>
              <reference id="i/v5Vfq44OnlLbuKgQ2KvgWgZqo=">has_userinfo</reference>
              <text>,</text>
              <reference id="oYwrnXcglhO4tlvhkxLGfFCYbAk=">encoded_user</reference>
              <text>,</text>
              <reference id="yzkq+uCmbTlXrfDuyd1fT0Zu6xw=">encoded_userinfo</reference>
              <text>,</text>
              <reference id="+ZB55yb2DeVYG+/eYqlMcGcedVE=">password</reference>
              <text>,</text>
              <reference id="/oa6wZJEG852J9Yi1LQlnq1n1tM=">user</reference>
              <text>,</text>
              <reference id="S9yd7MVhXxF+598Xy2/+jwnCZzc=">userinfo</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="host_type" exception-spec="noexcept" id="Nv9Emy6spILLI/mqyIz2uRNBJhU=">
          <file path="boost/url/url_view_base.hpp" line="975" class="def"/>
          <attr id="is-const"/>
          <return>
            <type id="YLHFVyAYZGSFQe18DPGjn6XsAMs=" name="urls::host_type"/>
          </return>
          <doc>
            <para>
              <text>Return the host type</text>
            </para>
            <para>
              <text>This function returns one of the</text>
              <text>        following constants representing the</text>
              <text>        type of host present.</text>
            </para>
            <listitem>
              <reference id="49F64dAiji9HVbP6MxLQiqot7AY=">host_type::ipv4</reference>
            </listitem>
            <listitem>
              <reference id="jTh/N5N+Bz51cZo2Mwmh6tzxPOc=">host_type::ipv6</reference>
            </listitem>
            <listitem>
              <reference id="TcYJaTwDFsx+0S2CkvHHARcCqWc=">host_type::ipvfuture</reference>
            </listitem>
            <listitem>
              <reference id="HUq75uZ3LBPW3yvUAfpdNzqcfjc=">host_type::name</reference>
            </listitem>
            <listitem>
              <reference id="QyoMTu07h232/Sxqovu2mGoPgTo=">host_type::none</reference>
            </listitem>
            <para>
              <text>When </text>
              <reference id="gadV3YsYDjlGX+64Rtiz4S+QD4A=">has_authority</reference>
              <text> is false, the</text>
              <text>        host type is</text>
              <reference id="QyoMTu07h232/Sxqovu2mGoPgTo=">host_type::none</reference>
              <text>.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;https://192.168.0.1/local.htm&quot; ).host_type() == host_type::ipv4 );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="host" id="ICcovOIyqnxhSMU6MuEekYg2z+E=">
            <file path="boost/url/url_view_base.hpp" line="1014" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the host</text>
              </para>
              <para>
                <text>This function returns the host portion</text>
                <text>        of the authority as a string, or the</text>
                <text>        empty string if there is no authority.</text>
                <text>        Any percent-escapes in the string are</text>
                <text>        decoded first.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        assert( url_view( &quot;https://www%2droot.example.com/&quot; ).host() == &quot;www-root.example.com&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;host().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
              </para>
              <head>BNF</head>
              <code>
                <text>        host        = IP-literal / IPv4address / reg-name</text>
                <text></text>
                <text>        IP-literal  = &quot;[&quot; ( IPv6address / IPvFuture  ) &quot;]&quot;</text>
                <text></text>
                <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
              </code>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
              </listitem>
            </doc>
          </function>
        </template>
        <function name="encoded_host" exception-spec="noexcept" id="EcGxt+esOtVfjloInubXUYLy5GY=">
          <file path="boost/url/url_view_base.hpp" line="1056"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the host</text>
            </para>
            <para>
              <text>This function returns the host portion</text>
              <text>        of the authority as a string, or the</text>
              <text>        empty string if there is no authority.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;https://www%2droot.example.com/&quot; ).encoded_host() == &quot;www%2droot.example.com&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        host        = IP-literal / IPv4address / reg-name</text>
              <text></text>
              <text>        IP-literal  = &quot;[&quot; ( IPv6address / IPvFuture  ) &quot;]&quot;</text>
              <text></text>
              <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="host_address" id="F0RYzLwUP8ied6l3zmKvomgFHag=">
            <file path="boost/url/url_view_base.hpp" line="1109" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the host</text>
              </para>
              <para>
                <text>The value returned by this function</text>
                <text>        depends on the type of host returned</text>
                <text>        from the function</text>
                <reference id="Nv9Emy6spILLI/mqyIz2uRNBJhU=">host_type</reference>
                <text>.</text>
              </para>
              <listitem>
                <text>If the type is </text>
                <reference id="49F64dAiji9HVbP6MxLQiqot7AY=">host_type::ipv4</reference>
                <text>,        then the IPv4 address string is returned.</text>
              </listitem>
              <listitem>
                <text>If the type is </text>
                <reference id="jTh/N5N+Bz51cZo2Mwmh6tzxPOc=">host_type::ipv6</reference>
                <text>,        then the IPv6 address string is returned,</text>
                <text>        without any enclosing brackets.</text>
              </listitem>
              <listitem>
                <text>If the type is </text>
                <reference id="TcYJaTwDFsx+0S2CkvHHARcCqWc=">host_type::ipvfuture</reference>
                <text>,        then the IPvFuture address string is returned,</text>
                <text>        without any enclosing brackets.</text>
              </listitem>
              <listitem>
                <text>If the type is </text>
                <reference id="HUq75uZ3LBPW3yvUAfpdNzqcfjc=">host_type::name</reference>
                <text>,        then the host name string is returned.</text>
                <text>        Any percent-escapes in the string are</text>
                <text>        decoded first.</text>
              </listitem>
              <listitem>
                <text>If the type is </text>
                <reference id="QyoMTu07h232/Sxqovu2mGoPgTo=">host_type::none</reference>
                <text>,        then an empty string is returned.</text>
              </listitem>
              <head>Example</head>
              <code>
                <text>        assert( url_view( &quot;https://[1::6:c0a8:1]/&quot; ).host_address() == &quot;1::6:c0a8:1&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;host_address().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
              </para>
              <head>BNF</head>
              <code>
                <text>        host        = IP-literal / IPv4address / reg-name</text>
                <text></text>
                <text>        IP-literal  = &quot;[&quot; ( IPv6address / IPvFuture  ) &quot;]&quot;</text>
                <text></text>
                <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
              </code>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
              </listitem>
            </doc>
          </function>
        </template>
        <function name="encoded_host_address" exception-spec="noexcept" id="yXsUZRbi+wInLqaUUVy9b7nIIBo=">
          <file path="boost/url/url_view_base.hpp" line="1170"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the host</text>
            </para>
            <para>
              <text>The value returned by this function</text>
              <text>        depends on the type of host returned</text>
              <text>        from the function</text>
              <reference id="Nv9Emy6spILLI/mqyIz2uRNBJhU=">host_type</reference>
              <text>.</text>
            </para>
            <listitem>
              <text>If the type is </text>
              <reference id="49F64dAiji9HVbP6MxLQiqot7AY=">host_type::ipv4</reference>
              <text>,        then the IPv4 address string is returned.</text>
            </listitem>
            <listitem>
              <text>If the type is </text>
              <reference id="jTh/N5N+Bz51cZo2Mwmh6tzxPOc=">host_type::ipv6</reference>
              <text>,        then the IPv6 address string is returned,</text>
              <text>        without any enclosing brackets.</text>
            </listitem>
            <listitem>
              <text>If the type is </text>
              <reference id="TcYJaTwDFsx+0S2CkvHHARcCqWc=">host_type::ipvfuture</reference>
              <text>,        then the IPvFuture address string is returned,</text>
              <text>        without any enclosing brackets.</text>
            </listitem>
            <listitem>
              <text>If the type is </text>
              <reference id="HUq75uZ3LBPW3yvUAfpdNzqcfjc=">host_type::name</reference>
              <text>,        then the host name string is returned.</text>
              <text>        Any percent-escapes in the string are</text>
              <text>        decoded first.</text>
            </listitem>
            <listitem>
              <text>If the type is </text>
              <reference id="QyoMTu07h232/Sxqovu2mGoPgTo=">host_type::none</reference>
              <text>,        then an empty string is returned.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </listitem>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;https://www%2droot.example.com/&quot; ).encoded_host_address() == &quot;www%2droot.example.com&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        host        = IP-literal / IPv4address / reg-name</text>
              <text></text>
              <text>        IP-literal  = &quot;[&quot; ( IPv6address / IPvFuture  ) &quot;]&quot;</text>
              <text></text>
              <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <function name="host_ipv4_address" exception-spec="noexcept" id="KL8F3KYxyzpC1e6fqoJy3B8IHhw=">
          <file path="boost/url/url_view_base.hpp" line="1209"/>
          <attr id="is-const"/>
          <return>
            <type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address"/>
          </return>
          <doc>
            <para>
              <text>Return the host IPv4 address</text>
            </para>
            <para>
              <text>If the host type is </text>
              <reference id="49F64dAiji9HVbP6MxLQiqot7AY=">host_type::ipv4</reference>
              <text>,        this function returns the address as</text>
              <text>        a value of type</text>
              <reference id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=">ipv4_address</reference>
              <text>.        Otherwise, if the host type is not an IPv4</text>
              <text>        address, it returns a default-constructed</text>
              <text>        value which is equal to the unspecified</text>
              <text>        address &quot;0.0.0.0&quot;.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://127.0.0.1/index.htm?user=win95&quot; ).host_ipv4_address() == ipv4_address( &quot;127.0.0.1&quot; ) );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        IPv4address = dec-octet &quot;.&quot; dec-octet &quot;.&quot; dec-octet &quot;.&quot; dec-octet</text>
              <text></text>
              <text>        dec-octet   = DIGIT                 ; 0-9</text>
              <text>                    / %x31-39 DIGIT         ; 10-99</text>
              <text>                    / &quot;1&quot; 2DIGIT            ; 100-199</text>
              <text>                    / &quot;2&quot; %x30-34 DIGIT     ; 200-249</text>
              <text>                    / &quot;25&quot; %x30-35          ; 250-255</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <function name="host_ipv6_address" exception-spec="noexcept" id="CvoRh2IpWg4QixngVwDjSKoeQVY=">
          <file path="boost/url/url_view_base.hpp" line="1256"/>
          <attr id="is-const"/>
          <return>
            <type id="dhMSRVBIIIItY0URHSc8rwHcdTQ=" name="ipv6_address"/>
          </return>
          <doc>
            <para>
              <text>Return the host IPv6 address</text>
            </para>
            <para>
              <text>If the host type is </text>
              <reference id="jTh/N5N+Bz51cZo2Mwmh6tzxPOc=">host_type::ipv6</reference>
              <text>,        this function returns the address as</text>
              <text>        a value of type</text>
              <reference id="dhMSRVBIIIItY0URHSc8rwHcdTQ=">ipv6_address</reference>
              <text>.        Otherwise, if the host type is not an IPv6</text>
              <text>        address, it returns a default-constructed</text>
              <text>        value which is equal to the unspecified</text>
              <text>        address &quot;0:0:0:0:0:0:0:0&quot;.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;ftp://[::1]/&quot; ).host_ipv6_address() == ipv6_address( &quot;::1&quot; ) );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        IPv6address =                            6( h16 &quot;:&quot; ) ls32</text>
              <text>                    /                       &quot;::&quot; 5( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [               h16 ] &quot;::&quot; 4( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [ *1( h16 &quot;:&quot; ) h16 ] &quot;::&quot; 3( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [ *2( h16 &quot;:&quot; ) h16 ] &quot;::&quot; 2( h16 &quot;:&quot; ) ls32</text>
              <text>                    / [ *3( h16 &quot;:&quot; ) h16 ] &quot;::&quot;    h16 &quot;:&quot;   ls32</text>
              <text>                    / [ *4( h16 &quot;:&quot; ) h16 ] &quot;::&quot;              ls32</text>
              <text>                    / [ *5( h16 &quot;:&quot; ) h16 ] &quot;::&quot;              h16</text>
              <text>                    / [ *6( h16 &quot;:&quot; ) h16 ] &quot;::&quot;</text>
              <text></text>
              <text>        ls32        = ( h16 &quot;:&quot; h16 ) / IPv4address</text>
              <text>                    ; least-significant 32 bits of address</text>
              <text></text>
              <text>        h16         = 1*4HEXDIG</text>
              <text>                    ; 16 bits of address represented in hexadecimal</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <function name="host_ipvfuture" exception-spec="noexcept" id="55Yh68uToEiKy+IDTpyctuK/T3g=">
          <file path="boost/url/url_view_base.hpp" line="1288"/>
          <attr id="is-const"/>
          <return>
            <type name="core::string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the host IPvFuture address</text>
            </para>
            <para>
              <text>If the host type is </text>
              <reference id="TcYJaTwDFsx+0S2CkvHHARcCqWc=">host_type::ipvfuture</reference>
              <text>,        this function returns the address as</text>
              <text>        a string.</text>
              <text>        Otherwise, if the host type is not an</text>
              <text>        IPvFuture address, it returns an</text>
              <text>        empty string.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://[v1fe.d:9]/index.htm&quot; ).host_ipvfuture() == &quot;v1fe.d:9&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        IPvFuture  = &quot;v&quot; 1*HEXDIG &quot;.&quot; 1*( unreserved / sub-delims / &quot;:&quot; )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="host_name" id="AhPhrC4hmBsZgd/ztqbkAuOkbBM=">
            <file path="boost/url/url_view_base.hpp" line="1324" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the host name</text>
              </para>
              <para>
                <text>If the host type is </text>
                <reference id="HUq75uZ3LBPW3yvUAfpdNzqcfjc=">host_type::name</reference>
                <text>,        this function returns the name as</text>
                <text>        a string. Otherwise an empty string is returned.</text>
                <text>        Any percent-escapes in the string are</text>
                <text>        decoded first.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        assert( url_view( &quot;https://www%2droot.example.com/&quot; ).host_name() == &quot;www-root.example.com&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;host_name().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
              </para>
              <head>BNF</head>
              <code>
                <text>        host        = IP-literal / IPv4address / reg-name</text>
                <text></text>
                <text>        IP-literal  = &quot;[&quot; ( IPv6address / IPvFuture  ) &quot;]&quot;</text>
                <text></text>
                <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
              </code>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
              </listitem>
            </doc>
          </function>
        </template>
        <function name="encoded_host_name" exception-spec="noexcept" id="4URKnuP+gvIUVjIkywv/pXeFjv4=">
          <file path="boost/url/url_view_base.hpp" line="1368"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the host name</text>
            </para>
            <para>
              <text>If the host type is </text>
              <reference id="HUq75uZ3LBPW3yvUAfpdNzqcfjc=">host_type::name</reference>
              <text>,        this function returns the name as</text>
              <text>        a string.</text>
              <text>        Otherwise, if the host type is not an</text>
              <text>        name, it returns an empty string.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;https://www%2droot.example.com/&quot; ).encoded_host_name() == &quot;www%2droot.example.com&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        host        = IP-literal / IPv4address / reg-name</text>
              <text></text>
              <text>        IP-literal  = &quot;[&quot; ( IPv6address / IPvFuture  ) &quot;]&quot;</text>
              <text></text>
              <text>        reg-name    = *( unreserved / pct-encoded / &quot;-&quot; / &quot;.&quot;)</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2. Host (rfc3986)</link>
            </listitem>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="zone_id" id="rN6p9/aLARL9S9gn02k+M+j21q8=">
            <file path="boost/url/url_view_base.hpp" line="1406" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the IPv6 Zone ID</text>
              </para>
              <para>
                <text>If the host type is </text>
                <reference id="jTh/N5N+Bz51cZo2Mwmh6tzxPOc=">host_type::ipv6</reference>
                <text>,        this function returns the Zone ID as</text>
                <text>        a string. Otherwise an empty string is returned.</text>
                <text>        Any percent-escapes in the string are</text>
                <text>        decoded first.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        assert( url_view( &quot;http://[fe80::1%25eth0]/&quot; ).zone_id() == &quot;eth0&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;encoded_zone_id().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
              </para>
              <head>BNF</head>
              <code>
                <text>        host        = IP-literal / IPv4address / reg-name</text>
                <text></text>
                <text>        IP-literal = &quot;[&quot; ( IPv6address / IPv6addrz / IPvFuture  ) &quot;]&quot;</text>
                <text></text>
                <text>        ZoneID = 1*( unreserved / pct-encoded )</text>
                <text></text>
                <text>        IPv6addrz = IPv6address &quot;%25&quot; ZoneID</text>
              </code>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc6874">Representing IPv6 Zone Identifiers in Address Literals and Uniform Resource Identifiers</link>
              </listitem>
            </doc>
          </function>
        </template>
        <function name="encoded_zone_id" exception-spec="noexcept" id="5M2smbXDaSa2d/li//A+GmlDgDU=">
          <file path="boost/url/url_view_base.hpp" line="1450"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the IPv6 Zone ID</text>
            </para>
            <para>
              <text>If the host type is </text>
              <reference id="jTh/N5N+Bz51cZo2Mwmh6tzxPOc=">host_type::ipv6</reference>
              <text>,        this function returns the Zone ID as</text>
              <text>        a string. Otherwise an empty string is returned.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://[fe80::1%25eth0]/&quot; ).encoded_zone_id() == &quot;eth0&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        host        = IP-literal / IPv4address / reg-name</text>
              <text></text>
              <text>        IP-literal = &quot;[&quot; ( IPv6address / IPv6addrz / IPvFuture  ) &quot;]&quot;</text>
              <text></text>
              <text>        ZoneID = 1*( unreserved / pct-encoded )</text>
              <text></text>
              <text>        IPv6addrz = IPv6address &quot;%25&quot; ZoneID</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc6874">Representing IPv6 Zone Identifiers in Address Literals and Uniform Resource Identifiers</link>
            </listitem>
          </doc>
        </function>
        <function name="has_port" exception-spec="noexcept" id="5V5uOhRsy00O+TSEAkIb7uFoN2U=">
          <file path="boost/url/url_view_base.hpp" line="1491"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if a port is present</text>
            </para>
            <para>
              <text>This function returns true if an</text>
              <text>        authority is present and contains a port.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;wss://www.example.com:443&quot; ).has_port() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        authority   = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
              <text></text>
              <text>        port        = *DIGIT</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.3">3.2.3. Port (rfc3986)</link>
            </listitem>
            <see>
              <reference id="9ptIMbwWSNtVv+KAUpHCO3bmTWg=">encoded_host_and_port</reference>
              <text>,</text>
              <reference id="OlWcRIIUl1cq5Ab9fLXGPyhYCfI=">port</reference>
              <text>,</text>
              <reference id="lctXu8FITJWg0+Y+yZVt5iv7QDM=">port_number</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="port" exception-spec="noexcept" id="OlWcRIIUl1cq5Ab9fLXGPyhYCfI=">
          <file path="boost/url/url_view_base.hpp" line="1526"/>
          <attr id="is-const"/>
          <return>
            <type name="core::string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the port</text>
            </para>
            <para>
              <text>If present, this function returns a</text>
              <text>        string representing the port (which</text>
              <text>        may be empty).</text>
              <text>        Otherwise it returns an empty string.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://localhost.com:8080&quot; ).port() == &quot;8080&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        port        = *DIGIT</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.3">3.2.3. Port (rfc3986)</link>
            </listitem>
            <see>
              <reference id="9ptIMbwWSNtVv+KAUpHCO3bmTWg=">encoded_host_and_port</reference>
              <text>,</text>
              <reference id="5V5uOhRsy00O+TSEAkIb7uFoN2U=">has_port</reference>
              <text>,</text>
              <reference id="lctXu8FITJWg0+Y+yZVt5iv7QDM=">port_number</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="port_number" exception-spec="noexcept" id="lctXu8FITJWg0+Y+yZVt5iv7QDM=">
          <file path="boost/url/url_view_base.hpp" line="1561"/>
          <attr id="is-const"/>
          <return>
            <type name="std::uint16_t"/>
          </return>
          <doc>
            <para>
              <text>Return the port</text>
            </para>
            <para>
              <text>If a port is present and the numerical</text>
              <text>        value is representable, it is returned</text>
              <text>        as an unsigned integer. Otherwise, the</text>
              <text>        number zero is returned.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://localhost.com:8080&quot; ).port_number() == 8080 );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        port        = *DIGIT</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.3">3.2.3. Port (rfc3986)</link>
            </listitem>
            <see>
              <reference id="9ptIMbwWSNtVv+KAUpHCO3bmTWg=">encoded_host_and_port</reference>
              <text>,</text>
              <reference id="5V5uOhRsy00O+TSEAkIb7uFoN2U=">has_port</reference>
              <text>,</text>
              <reference id="OlWcRIIUl1cq5Ab9fLXGPyhYCfI=">port</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="is_path_absolute" exception-spec="noexcept" id="eh5BeHbLjL3BuEY7ao3tbEAZnTw=">
          <file path="boost/url/url_view_base.hpp" line="1611" class="def"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if the path is absolute</text>
            </para>
            <para>
              <text>This function returns true if the path</text>
              <text>        begins with a forward slash (&apos;/&apos;).</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;/path/to/file.txt&quot; ).is_path_absolute() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        path          = path-abempty    ; begins with &quot;/&quot; or is empty</text>
              <text>                      / path-absolute   ; begins with &quot;/&quot; but not &quot;//&quot;</text>
              <text>                      / path-noscheme   ; begins with a non-colon segment</text>
              <text>                      / path-rootless   ; begins with a segment</text>
              <text>                      / path-empty      ; zero characters</text>
              <text></text>
              <text>        path-abempty  = *( &quot;/&quot; segment )</text>
              <text>        path-absolute = &quot;/&quot; [ segment-nz *( &quot;/&quot; segment ) ]</text>
              <text>        path-noscheme = segment-nz-nc *( &quot;/&quot; segment )</text>
              <text>        path-rootless = segment-nz *( &quot;/&quot; segment )</text>
              <text>        path-empty    = 0&lt;pchar&gt;</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.3">3.3.  Path (rfc3986)</link>
            </listitem>
            <see>
              <reference id="GNlqbV0MSxGIA/gSjlOb2rfSHhU=">encoded_path</reference>
              <text>,</text>
              <reference id="xDk467Vs74WMTJdzZiv8izTuGQo=">encoded_segments</reference>
              <text>.</text>
              <reference id="Q5NVO+d/+BmZ5v3/ogNb2XpUTKs=">path</reference>
              <text>,</text>
              <reference id="txoybJuonJpAdGVWgiAsiI45+ok=">segments</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="path" id="Q5NVO+d/+BmZ5v3/ogNb2XpUTKs=">
            <file path="boost/url/url_view_base.hpp" line="1663" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the path</text>
              </para>
              <para>
                <text>This function returns the path as a</text>
                <text>        string. The path may be empty.</text>
                <text>        Any percent-escapes in the string are</text>
                <text>        decoded first.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        assert( url_view( &quot;file:///Program%20Files/Games/config.ini&quot; ).path() == &quot;/Program Files/Games/config.ini&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;path().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
              </para>
              <head>BNF</head>
              <code>
                <text>        path          = path-abempty    ; begins with &quot;/&quot; or is empty</text>
                <text>                      / path-absolute   ; begins with &quot;/&quot; but not &quot;//&quot;</text>
                <text>                      / path-noscheme   ; begins with a non-colon segment</text>
                <text>                      / path-rootless   ; begins with a segment</text>
                <text>                      / path-empty      ; zero characters</text>
                <text></text>
                <text>        path-abempty  = *( &quot;/&quot; segment )</text>
                <text>        path-absolute = &quot;/&quot; [ segment-nz *( &quot;/&quot; segment ) ]</text>
                <text>        path-noscheme = segment-nz-nc *( &quot;/&quot; segment )</text>
                <text>        path-rootless = segment-nz *( &quot;/&quot; segment )</text>
                <text>        path-empty    = 0&lt;pchar&gt;</text>
              </code>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.3">3.3. Path (rfc3986)</link>
              </listitem>
              <see>
                <reference id="eh5BeHbLjL3BuEY7ao3tbEAZnTw=">is_path_absolute</reference>
                <text>,</text>
                <reference id="GNlqbV0MSxGIA/gSjlOb2rfSHhU=">encoded_path</reference>
                <text>,</text>
                <reference id="xDk467Vs74WMTJdzZiv8izTuGQo=">encoded_segments</reference>
                <text>.</text>
                <reference id="txoybJuonJpAdGVWgiAsiI45+ok=">segments</reference>
                <text>.</text>
              </see>
            </doc>
          </function>
        </template>
        <function name="encoded_path" exception-spec="noexcept" id="GNlqbV0MSxGIA/gSjlOb2rfSHhU=">
          <file path="boost/url/url_view_base.hpp" line="1716"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the path</text>
            </para>
            <para>
              <text>This function returns the path as a</text>
              <text>        string. The path may be empty.</text>
              <text>        Any percent-escapes in the string are</text>
              <text>        decoded first.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;file:///Program%20Files/Games/config.ini&quot; ).encoded_path() == &quot;/Program%20Files/Games/config.ini&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        path          = path-abempty    ; begins with &quot;/&quot; or is empty</text>
              <text>                      / path-absolute   ; begins with &quot;/&quot; but not &quot;//&quot;</text>
              <text>                      / path-noscheme   ; begins with a non-colon segment</text>
              <text>                      / path-rootless   ; begins with a segment</text>
              <text>                      / path-empty      ; zero characters</text>
              <text></text>
              <text>        path-abempty  = *( &quot;/&quot; segment )</text>
              <text>        path-absolute = &quot;/&quot; [ segment-nz *( &quot;/&quot; segment ) ]</text>
              <text>        path-noscheme = segment-nz-nc *( &quot;/&quot; segment )</text>
              <text>        path-rootless = segment-nz *( &quot;/&quot; segment )</text>
              <text>        path-empty    = 0&lt;pchar&gt;</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.3">3.3. Path (rfc3986)</link>
            </listitem>
            <see>
              <reference id="eh5BeHbLjL3BuEY7ao3tbEAZnTw=">is_path_absolute</reference>
              <text>,</text>
              <reference id="xDk467Vs74WMTJdzZiv8izTuGQo=">encoded_segments</reference>
              <text>.</text>
              <reference id="Q5NVO+d/+BmZ5v3/ogNb2XpUTKs=">path</reference>
              <text>,</text>
              <reference id="txoybJuonJpAdGVWgiAsiI45+ok=">segments</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="segments" exception-spec="noexcept" id="txoybJuonJpAdGVWgiAsiI45+ok=">
          <file path="boost/url/url_view_base.hpp" line="1756"/>
          <attr id="is-const"/>
          <return>
            <type id="ZNJOLZ4RhCB2A2ooiNo7KxZJHrA=" name="segments_view"/>
          </return>
          <doc>
            <para>
              <text>Return the path as a container of segments</text>
            </para>
            <para>
              <text>This function returns a bidirectional</text>
              <text>        view of strings over the path.</text>
              <text>        The returned view references the same</text>
              <text>        underlying character buffer; ownership</text>
              <text>        is not transferred.</text>
              <text>        Any percent-escapes in strings returned</text>
              <text>        when iterating the view are decoded first.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        segments_view sv = url_view( &quot;/path/to/file.txt&quot; ).segments();</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        path          = [ &quot;/&quot; ] segment *( &quot;/&quot; segment )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.3">3.3. Path (rfc3986)</link>
            </listitem>
            <see>
              <reference id="eh5BeHbLjL3BuEY7ao3tbEAZnTw=">is_path_absolute</reference>
              <text>,</text>
              <reference id="GNlqbV0MSxGIA/gSjlOb2rfSHhU=">encoded_path</reference>
              <text>,</text>
              <reference id="xDk467Vs74WMTJdzZiv8izTuGQo=">encoded_segments</reference>
              <text>.</text>
              <reference id="Q5NVO+d/+BmZ5v3/ogNb2XpUTKs=">path</reference>
              <text>,</text>
              <reference id="ZNJOLZ4RhCB2A2ooiNo7KxZJHrA=">segments_view</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="encoded_segments" exception-spec="noexcept" id="xDk467Vs74WMTJdzZiv8izTuGQo=">
          <file path="boost/url/url_view_base.hpp" line="1806"/>
          <attr id="is-const"/>
          <return>
            <type id="EvaX3SmNTAtai2Kf6Kma3fUkTkQ=" name="segments_encoded_view"/>
          </return>
          <doc>
            <para>
              <text>Return the path as a container of segments</text>
            </para>
            <para>
              <text>This function returns a bidirectional</text>
              <text>        view of strings over the path.</text>
              <text>        The returned view references the same</text>
              <text>        underlying character buffer; ownership</text>
              <text>        is not transferred.</text>
              <text>        Strings returned when iterating the</text>
              <text>        range may contain percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        segments_encoded_view sv = url_view( &quot;/path/to/file.txt&quot; ).encoded_segments();</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        path          = path-abempty    ; begins with &quot;/&quot; or is empty</text>
              <text>                      / path-absolute   ; begins with &quot;/&quot; but not &quot;//&quot;</text>
              <text>                      / path-noscheme   ; begins with a non-colon segment</text>
              <text>                      / path-rootless   ; begins with a segment</text>
              <text>                      / path-empty      ; zero characters</text>
              <text></text>
              <text>        path-abempty  = *( &quot;/&quot; segment )</text>
              <text>        path-absolute = &quot;/&quot; [ segment-nz *( &quot;/&quot; segment ) ]</text>
              <text>        path-noscheme = segment-nz-nc *( &quot;/&quot; segment )</text>
              <text>        path-rootless = segment-nz *( &quot;/&quot; segment )</text>
              <text>        path-empty    = 0&lt;pchar&gt;</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.3">3.3. Path (rfc3986)</link>
            </listitem>
            <see>
              <reference id="eh5BeHbLjL3BuEY7ao3tbEAZnTw=">is_path_absolute</reference>
              <text>,</text>
              <reference id="GNlqbV0MSxGIA/gSjlOb2rfSHhU=">encoded_path</reference>
              <text>,</text>
              <reference id="Q5NVO+d/+BmZ5v3/ogNb2XpUTKs=">path</reference>
              <text>,</text>
              <reference id="txoybJuonJpAdGVWgiAsiI45+ok=">segments</reference>
              <text>,</text>
              <reference id="EvaX3SmNTAtai2Kf6Kma3fUkTkQ=">segments_encoded_view</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="has_query" exception-spec="noexcept" id="SLiWca6gUGmTh+r/BbU40NrICW8=">
          <file path="boost/url/url_view_base.hpp" line="1852"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if a query is present</text>
            </para>
            <para>
              <text>This function returns true if this</text>
              <text>        contains a query. An empty query is</text>
              <text>        distinct from having no query.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;/sql?id=42&amp;col=name&amp;page-size=20&quot; ).has_query() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        query           = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
              <text></text>
              <text>        query-param     = key [ &quot;=&quot; value ]</text>
              <text>        query-params    = [ query-param ] *( &quot;&amp;&quot; query-param )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4
            &gt;3.4.  Query (rfc3986)&lt;/a&gt;
        @li &lt;a href=">://en.wikipedia.org/wiki/Query_string&quot;            &gt;Query string (Wikipedia)</link>
            </listitem>
            <see>
              <reference id="YdRpQ6mNNA/rw8PqzTxP08VgNnY=">encoded_params</reference>
              <text>,</text>
              <reference id="suU4/MiRITTTYf61BFw2aI6WxdI=">encoded_query</reference>
              <text>,</text>
              <reference id="V3u1IzKjTvUUsoIglN4qUAzgD4k=">params</reference>
              <text>,</text>
              <reference id="4epyMikskiBx2Gu+S87oAhrM/ZY=">query</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="query" id="4epyMikskiBx2Gu+S87oAhrM/ZY=">
            <file path="boost/url/url_view_base.hpp" line="1901" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the query</text>
              </para>
              <para>
                <text>If this contains a query, it is returned</text>
                <text>        as a string (which may be empty).</text>
                <text>        Otherwise, an empty string is returned.</text>
                <text>        Any percent-escapes in the string are</text>
                <text>        decoded first.</text>
                <text></text>
                <text>        When plus signs appear in the query</text>
                <text>        portion of the url, they are converted</text>
                <text>        to spaces automatically upon decoding.</text>
                <text>        This behavior can be changed by setting</text>
                <text>        decode options.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        assert( url_view( &quot;/sql?id=42&amp;name=jane%2Ddoe&amp;page+size=20&quot; ).query() == &quot;id=42&amp;name=jane-doe&amp;page size=20&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;query().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
              </para>
              <head>BNF</head>
              <code>
                <text>        query           = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
                <text></text>
                <text>        query-param     = key [ &quot;=&quot; value ]</text>
                <text>        query-params    = [ query-param ] *( &quot;&amp;&quot; query-param )</text>
              </code>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4
            &gt;3.4.  Query (rfc3986)&lt;/a&gt;
        @li &lt;a href=">://en.wikipedia.org/wiki/Query_string&quot;            &gt;Query string (Wikipedia)</link>
              </listitem>
              <see>
                <reference id="YdRpQ6mNNA/rw8PqzTxP08VgNnY=">encoded_params</reference>
                <text>,</text>
                <reference id="suU4/MiRITTTYf61BFw2aI6WxdI=">encoded_query</reference>
                <text>,</text>
                <reference id="SLiWca6gUGmTh+r/BbU40NrICW8=">has_query</reference>
                <text>,</text>
                <reference id="V3u1IzKjTvUUsoIglN4qUAzgD4k=">params</reference>
                <text>.</text>
              </see>
            </doc>
          </function>
        </template>
        <function name="encoded_query" exception-spec="noexcept" id="suU4/MiRITTTYf61BFw2aI6WxdI=">
          <file path="boost/url/url_view_base.hpp" line="1953"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the query</text>
            </para>
            <para>
              <text>If this contains a query, it is returned</text>
              <text>        as a string (which may be empty).</text>
              <text>        Otherwise, an empty string is returned.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;/sql?id=42&amp;name=jane%2Ddoe&amp;page+size=20&quot; ).encoded_query() == &quot;id=42&amp;name=jane%2Ddoe&amp;page+size=20&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        query           = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
              <text></text>
              <text>        query-param     = key [ &quot;=&quot; value ]</text>
              <text>        query-params    = [ query-param ] *( &quot;&amp;&quot; query-param )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4
            &gt;3.4.  Query (rfc3986)&lt;/a&gt;
        @li &lt;a href=">://en.wikipedia.org/wiki/Query_string&quot;            &gt;Query string (Wikipedia)</link>
            </listitem>
            <see>
              <reference id="YdRpQ6mNNA/rw8PqzTxP08VgNnY=">encoded_params</reference>
              <text>,</text>
              <reference id="SLiWca6gUGmTh+r/BbU40NrICW8=">has_query</reference>
              <text>,</text>
              <reference id="V3u1IzKjTvUUsoIglN4qUAzgD4k=">params</reference>
              <text>,</text>
              <reference id="4epyMikskiBx2Gu+S87oAhrM/ZY=">query</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="params" exception-spec="noexcept" id="aUkcvLp4jz3VpXI6WKSgga7G2XE=">
          <file path="boost/url/url_view_base.hpp" line="1997"/>
          <attr id="is-const"/>
          <return>
            <type id="DzqMpaJX2O25vPFxEN5EDTyU6uw=" name="params_view"/>
          </return>
          <doc>
            <para>
              <text>Return the query as a container of parameters</text>
            </para>
            <para>
              <text>This function returns a bidirectional</text>
              <text>        view of key/value pairs over the query.</text>
              <text>        The returned view references the same</text>
              <text>        underlying character buffer; ownership</text>
              <text>        is not transferred.</text>
              <text>        Any percent-escapes in strings returned</text>
              <text>        when iterating the view are decoded first.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        params_view pv = url_view( &quot;/sql?id=42&amp;name=jane%2Ddoe&amp;page+size=20&quot; ).params();</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        query           = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
              <text></text>
              <text>        query-param     = key [ &quot;=&quot; value ]</text>
              <text>        query-params    = [ query-param ] *( &quot;&amp;&quot; query-param )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4
            &gt;3.4.  Query (rfc3986)&lt;/a&gt;
        @li &lt;a href=">://en.wikipedia.org/wiki/Query_string&quot;            &gt;Query string (Wikipedia)</link>
            </listitem>
            <see>
              <reference id="YdRpQ6mNNA/rw8PqzTxP08VgNnY=">encoded_params</reference>
              <text>,</text>
              <reference id="suU4/MiRITTTYf61BFw2aI6WxdI=">encoded_query</reference>
              <text>,</text>
              <reference id="SLiWca6gUGmTh+r/BbU40NrICW8=">has_query</reference>
              <text>,</text>
              <reference id="4epyMikskiBx2Gu+S87oAhrM/ZY=">query</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="params" exception-spec="noexcept" id="V3u1IzKjTvUUsoIglN4qUAzgD4k=">
          <file path="boost/url/url_view_base.hpp" line="2000"/>
          <attr id="is-const"/>
          <return>
            <type id="DzqMpaJX2O25vPFxEN5EDTyU6uw=" name="params_view"/>
          </return>
          <param name="opt">
            <type id="Bb04pNwExynJkzlY9a9GCeeB13k=" name="encoding_opts"/>
          </param>
        </function>
        <function name="encoded_params" exception-spec="noexcept" id="YdRpQ6mNNA/rw8PqzTxP08VgNnY=">
          <file path="boost/url/url_view_base.hpp" line="2048"/>
          <attr id="is-const"/>
          <return>
            <type id="0nSfM4mK92fIx58KtzdWGiHuq2w=" name="params_encoded_view"/>
          </return>
          <doc>
            <para>
              <text>Return the query as a container of parameters</text>
            </para>
            <para>
              <text>This function returns a bidirectional</text>
              <text>        view of key/value pairs over the query.</text>
              <text>        The returned view references the same</text>
              <text>        underlying character buffer; ownership</text>
              <text>        is not transferred.</text>
              <text>        Strings returned when iterating the</text>
              <text>        range may contain percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        params_encoded_view pv = url_view( &quot;/sql?id=42&amp;name=jane%2Ddoe&amp;page+size=20&quot; ).encoded_params();</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4">3.4. Query (rfc3986)</link>
            </listitem>
            <head>BNF</head>
            <code>
              <text>        query           = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
              <text></text>
              <text>        query-param     = key [ &quot;=&quot; value ]</text>
              <text>        query-params    = [ query-param ] *( &quot;&amp;&quot; query-param )</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4
            &gt;3.4.  Query (rfc3986)&lt;/a&gt;
        @li &lt;a href=">://en.wikipedia.org/wiki/Query_string&quot;            &gt;Query string (Wikipedia)</link>
            </listitem>
            <see>
              <reference id="suU4/MiRITTTYf61BFw2aI6WxdI=">encoded_query</reference>
              <text>,</text>
              <reference id="SLiWca6gUGmTh+r/BbU40NrICW8=">has_query</reference>
              <text>,</text>
              <reference id="V3u1IzKjTvUUsoIglN4qUAzgD4k=">params</reference>
              <text>,</text>
              <reference id="4epyMikskiBx2Gu+S87oAhrM/ZY=">query</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="has_fragment" exception-spec="noexcept" id="ZiWsQaQCAif94KdP6GXH9+F5GmM=">
          <file path="boost/url/url_view_base.hpp" line="2090"/>
          <attr id="is-const"/>
          <return>
            <type name="bool"/>
          </return>
          <doc>
            <para>
              <text>Return true if a fragment is present</text>
            </para>
            <para>
              <text>This function returns true if the url</text>
              <text>        contains a fragment.</text>
              <text>        An empty fragment is distinct from</text>
              <text>        no fragment.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://www.example.com/index.htm#anchor&quot; ).has_fragment() );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        URI           = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
              <text></text>
              <text>        relative-ref  = relative-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.5">3.5. Fragment (rfc3986)</link>
            </listitem>
            <see>
              <reference id="M7+OzewsxChMvecRSytXqTCqKrY=">encoded_fragment</reference>
              <text>,</text>
              <reference id="aA1Q9NAW4/TnG3SXhe4k1mNB5nk=">fragment</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <template>
          <tparam name="StringToken" class="type" default="string_token::return_string"/>
          <function name="fragment" id="aA1Q9NAW4/TnG3SXhe4k1mNB5nk=">
            <file path="boost/url/url_view_base.hpp" line="2149" class="def"/>
            <attr id="is-const"/>
            <return>
              <type name="StringToken::result_type"/>
            </return>
            <param name="token">
              <type class="rvalue-reference">
                <pointee-type name="StringToken"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Return the fragment</text>
              </para>
              <para>
                <text>This function calculates the fragment</text>
                <text>        of the url, with percent escapes decoded</text>
                <text>        and without the leading pound sign (&apos;#&apos;)</text>
                <text>        whose presence indicates that the url</text>
                <text>        contains a fragment.</text>
              </para>
              <para>
                <text></text>
              </para>
              <para>
                <text>This function accepts an optional</text>
                <italic>StringToken</italic>
                <text> parameter which</text>
                <text>        controls the return type and behavior</text>
                <text>        of the function:</text>
              </para>
              <listitem>
                <text>When called with no arguments,</text>
                <text>        the return type of the function is</text>
                <text>        `std::string`. Otherwise</text>
              </listitem>
              <listitem>
                <text>When called with a string token,</text>
                <text>        the behavior and return type of the</text>
                <text>        function depends on the type of string</text>
                <text>        token being passed.</text>
              </listitem>
              <head>Example</head>
              <code>
                <text>        assert( url_view( &quot;http://www.example.com/index.htm#a%2D1&quot; ).fragment() == &quot;a-1&quot; );</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `this-&gt;fragment().size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Calls to allocate may throw.</text>
                <text>        String tokens may throw exceptions.</text>
              </para>
              <param name="token">
                <text>An optional string token to</text>
                <text>        use. If this parameter is omitted, the</text>
                <text>        function returns a new `std::string`.</text>
              </param>
              <head>BNF</head>
              <code>
                <text>        fragment        = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
                <text></text>
                <text>        fragment-part   = [ &quot;#&quot; fragment ]</text>
              </code>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.5">3.5. Fragment (rfc3986)</link>
              </listitem>
              <see>
                <reference id="M7+OzewsxChMvecRSytXqTCqKrY=">encoded_fragment</reference>
                <text>,</text>
                <reference id="ZiWsQaQCAif94KdP6GXH9+F5GmM=">has_fragment</reference>
                <text>.</text>
              </see>
            </doc>
          </function>
        </template>
        <function name="encoded_fragment" exception-spec="noexcept" id="M7+OzewsxChMvecRSytXqTCqKrY=">
          <file path="boost/url/url_view_base.hpp" line="2194"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the fragment</text>
            </para>
            <para>
              <text>This function returns the fragment as a</text>
              <text>        string with percent-escapes.</text>
              <text>        Ownership is not transferred; the</text>
              <text>        string returned references the underlying</text>
              <text>        character buffer, which must remain valid</text>
              <text>        or else undefined behavior occurs.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://www.example.com/index.htm#a%2D1&quot; ).encoded_fragment() == &quot;a%2D1&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        fragment        = *( pchar / &quot;/&quot; / &quot;?&quot; )</text>
              <text></text>
              <text>        pchar           = unreserved / pct-encoded / sub-delims / &quot;:&quot; / &quot;@&quot;</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.5">3.5. Fragment (rfc3986)</link>
            </listitem>
            <see>
              <reference id="aA1Q9NAW4/TnG3SXhe4k1mNB5nk=">fragment</reference>
              <text>,</text>
              <reference id="ZiWsQaQCAif94KdP6GXH9+F5GmM=">has_fragment</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="encoded_host_and_port" exception-spec="noexcept" id="9ptIMbwWSNtVv+KAUpHCO3bmTWg=">
          <file path="boost/url/url_view_base.hpp" line="2239"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the host and port</text>
            </para>
            <para>
              <text>If an authority is present, this</text>
              <text>        function returns the host and optional</text>
              <text>        port as a string, which may be empty.</text>
              <text>        Otherwise it returns an empty string.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://www.example.com:8080/index.htm&quot; ).encoded_host_and_port() == &quot;www.example.com:8080&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        authority   = [ userinfo &quot;@&quot; ] host [ &quot;:&quot; port ]</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2">3.2.2.  Host (rfc3986)</link>
            </listitem>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.3">3.2.3. Port (rfc3986)</link>
            </listitem>
            <see>
              <reference id="5V5uOhRsy00O+TSEAkIb7uFoN2U=">has_port</reference>
              <text>,</text>
              <reference id="OlWcRIIUl1cq5Ab9fLXGPyhYCfI=">port</reference>
              <text>,</text>
              <reference id="lctXu8FITJWg0+Y+yZVt5iv7QDM=">port_number</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="encoded_origin" exception-spec="noexcept" id="wG6ey1727HIj10Wh+OD/s8kuOjo=">
          <file path="boost/url/url_view_base.hpp" line="2267"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the origin</text>
            </para>
            <para>
              <text>If an authority is present, this</text>
              <text>        function returns the scheme and</text>
              <text>        authority portion of the url.</text>
              <text>        Otherwise, an empty string is</text>
              <text>        returned.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://www.example.com:8080/index.htm?text=none#h1&quot; ).encoded_origin() == &quot;http://www.example.com:8080&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <see>
              <reference id="yLMNPjiW4s31xcLN4xOiqVySYLA=">encoded_resource</reference>
              <text>,</text>
              <reference id="IcodRek43l5Zc13Z67L74PlhG0U=">encoded_target</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="encoded_resource" exception-spec="noexcept" id="yLMNPjiW4s31xcLN4xOiqVySYLA=">
          <file path="boost/url/url_view_base.hpp" line="2299"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the resource</text>
            </para>
            <para>
              <text>This function returns the resource, which</text>
              <text>        is the portion of the url that includes</text>
              <text>        only the path, query, and fragment.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://www.example.com/index.html?query#frag&quot; ).encoded_resource() == &quot;/index.html?query#frag&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.3">3.3. Path (rfc3986)</link>
            </listitem>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4">3.4. Query (rfc3986)</link>
            </listitem>
            <see>
              <reference id="wG6ey1727HIj10Wh+OD/s8kuOjo=">encoded_origin</reference>
              <text>,</text>
              <reference id="IcodRek43l5Zc13Z67L74PlhG0U=">encoded_target</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="encoded_target" exception-spec="noexcept" id="IcodRek43l5Zc13Z67L74PlhG0U=">
          <file path="boost/url/url_view_base.hpp" line="2331"/>
          <attr id="is-const"/>
          <return>
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </return>
          <doc>
            <para>
              <text>Return the target</text>
            </para>
            <para>
              <text>This function returns the target, which</text>
              <text>        is the portion of the url that includes</text>
              <text>        only the path and query.</text>
              <text>        The returned string may contain</text>
              <text>        percent escapes.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        assert( url_view( &quot;http://www.example.com/index.html?query#frag&quot; ).encoded_target() == &quot;/index.html?query&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.3">3.3. Path (rfc3986)</link>
            </listitem>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4">3.4. Query (rfc3986)</link>
            </listitem>
            <see>
              <reference id="wG6ey1727HIj10Wh+OD/s8kuOjo=">encoded_origin</reference>
              <text>,</text>
              <reference id="yLMNPjiW4s31xcLN4xOiqVySYLA=">encoded_resource</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
        <function name="compare" exception-spec="noexcept" id="p+2L2asXUGpE7eey1ouRvFXKD1g=">
          <file path="boost/url/url_view_base.hpp" line="2359"/>
          <attr id="is-const"/>
          <return>
            <type name="int"/>
          </return>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Return the result of comparing this with another url</text>
            </para>
            <para>
              <text>This function compares two URLs</text>
              <text>        according to Syntax-Based comparison</text>
              <text>        algorithm.</text>
            </para>
            <head>Complexity</head>
            <para>
              <text>        Linear in `min( u0.size(), u1.size() )`</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
            </listitem>
            <returns>
              <text>-1 if `*this &lt; other`, 0 if</text>
              <text>            `this == other`, and 1 if `this &gt; other`.</text>
            </returns>
          </doc>
        </function>
        <friend id="fEwlgbsdOYRtA+MkZ6SnvmmZdaQ=">
          <file path="boost/url/url_view_base.hpp" line="2413" class="def"/>
          <doc>
            <para>
              <text>Return the result of comparing two URLs</text>
            </para>
            <para>
              <text>The URLs are compared component by</text>
              <text>        component as if they were first</text>
              <text>        normalized.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url_view u0( &quot;http://www.a.com/index.htm&quot; );</text>
              <text>        url_view u1( &quot;http://www.a.com/index.htm&quot; );</text>
              <text>        assert( u0 == u1 );</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        url a(u0);</text>
              <text>        a.normalize();</text>
              <text>        url b(u1);</text>
              <text>        b.normalize();</text>
              <text>        return std::make_tuple(</text>
              <text>                   a.scheme(),</text>
              <text>                   a.user(),</text>
              <text>                   a.password(),</text>
              <text>                   a.host(),</text>
              <text>                   a.port(),</text>
              <text>                   a.path(),</text>
              <text>                   a.query(),</text>
              <text>                   a.fragment()) ==</text>
              <text>               std::make_tuple(</text>
              <text>                   b.scheme(),</text>
              <text>                   b.user(),</text>
              <text>                   b.password(),</text>
              <text>                   b.host(),</text>
              <text>                   b.port(),</text>
              <text>                   b.path(),</text>
              <text>                   b.query(),</text>
              <text>                   b.fragment());</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `min( u0.size(), u1.size() )`</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
            <returns>
              <text>`true` if `u0 == u1`</text>
            </returns>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
            </listitem>
          </doc>
          <befriended id="E2+0o+/H5dWqJ1IkTzJ6aHTaMHE="/>
        </friend>
        <friend id="JaBY9t4rGPspJ8YYTwIzEpnoZdg=">
          <file path="boost/url/url_view_base.hpp" line="2473" class="def"/>
          <doc>
            <para>
              <text>Return the result of comparing two URLs</text>
            </para>
            <para>
              <text>The URLs are compared component by</text>
              <text>        component as if they were first</text>
              <text>        normalized.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url_view u0( &quot;http://www.a.com/index.htm&quot; );</text>
              <text>        url_view u1( &quot;http://www.b.com/index.htm&quot; );</text>
              <text>        assert( u0 != u1 );</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        url a(u0);</text>
              <text>        a.normalize();</text>
              <text>        url b(u1);</text>
              <text>        b.normalize();</text>
              <text>        return std::make_tuple(</text>
              <text>                   a.scheme(),</text>
              <text>                   a.user(),</text>
              <text>                   a.password(),</text>
              <text>                   a.host(),</text>
              <text>                   a.port(),</text>
              <text>                   a.path(),</text>
              <text>                   a.query(),</text>
              <text>                   a.fragment()) !=</text>
              <text>               std::make_tuple(</text>
              <text>                   b.scheme(),</text>
              <text>                   b.user(),</text>
              <text>                   b.password(),</text>
              <text>                   b.host(),</text>
              <text>                   b.port(),</text>
              <text>                   b.path(),</text>
              <text>                   b.query(),</text>
              <text>                   b.fragment());</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `min( u0.size(), u1.size() )`</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
            <returns>
              <text>`true` if `u0 != u1`</text>
            </returns>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
            </listitem>
          </doc>
          <befriended id="QA2q/R+XvrJl2j8UnJwv+lnhdDA="/>
        </friend>
        <friend id="WK0gUwJ073k3oDGd9YKXIFuMcq0=">
          <file path="boost/url/url_view_base.hpp" line="2533" class="def"/>
          <doc>
            <para>
              <text>Return the result of comparing two URLs</text>
            </para>
            <para>
              <text>The URLs are compared component by</text>
              <text>        component as if they were first</text>
              <text>        normalized.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url_view u0( &quot;http://www.a.com/index.htm&quot; );</text>
              <text>        url_view u1( &quot;http://www.b.com/index.htm&quot; );</text>
              <text>        assert( u0 &lt; u1 );</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        url a(u0);</text>
              <text>        a.normalize();</text>
              <text>        url b(u1);</text>
              <text>        b.normalize();</text>
              <text>        return std::make_tuple(</text>
              <text>                   a.scheme(),</text>
              <text>                   a.user(),</text>
              <text>                   a.password(),</text>
              <text>                   a.host(),</text>
              <text>                   a.port(),</text>
              <text>                   a.path(),</text>
              <text>                   a.query(),</text>
              <text>                   a.fragment()) &lt;</text>
              <text>               std::make_tuple(</text>
              <text>                   b.scheme(),</text>
              <text>                   b.user(),</text>
              <text>                   b.password(),</text>
              <text>                   b.host(),</text>
              <text>                   b.port(),</text>
              <text>                   b.path(),</text>
              <text>                   b.query(),</text>
              <text>                   b.fragment());</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `min( u0.size(), u1.size() )`</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
            <returns>
              <text>`true` if `u0 &lt; u1`</text>
            </returns>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
            </listitem>
          </doc>
          <befriended id="Si07vh35lnvnJy8tpXUIpiFEjGM="/>
        </friend>
        <friend id="SoI3U+Up7JndmROPa9FmFzIvup8=">
          <file path="boost/url/url_view_base.hpp" line="2593" class="def"/>
          <doc>
            <para>
              <text>Return the result of comparing two URLs</text>
            </para>
            <para>
              <text>The URLs are compared component by</text>
              <text>        component as if they were first</text>
              <text>        normalized.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url_view u0( &quot;http://www.b.com/index.htm&quot; );</text>
              <text>        url_view u1( &quot;http://www.b.com/index.htm&quot; );</text>
              <text>        assert( u0 &lt;= u1 );</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        url a(u0);</text>
              <text>        a.normalize();</text>
              <text>        url b(u1);</text>
              <text>        b.normalize();</text>
              <text>        return std::make_tuple(</text>
              <text>                   a.scheme(),</text>
              <text>                   a.user(),</text>
              <text>                   a.password(),</text>
              <text>                   a.host(),</text>
              <text>                   a.port(),</text>
              <text>                   a.path(),</text>
              <text>                   a.query(),</text>
              <text>                   a.fragment()) &lt;=</text>
              <text>               std::make_tuple(</text>
              <text>                   b.scheme(),</text>
              <text>                   b.user(),</text>
              <text>                   b.password(),</text>
              <text>                   b.host(),</text>
              <text>                   b.port(),</text>
              <text>                   b.path(),</text>
              <text>                   b.query(),</text>
              <text>                   b.fragment());</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `min( u0.size(), u1.size() )`</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
            <returns>
              <text>`true` if `u0 &lt;= u1`</text>
            </returns>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
            </listitem>
          </doc>
          <befriended id="rRCHC/6GEaVZrjzAeFDlvaCydi0="/>
        </friend>
        <friend id="c2lEBvlcqnZ8ibbkLOV66iwT0uw=">
          <file path="boost/url/url_view_base.hpp" line="2653" class="def"/>
          <doc>
            <para>
              <text>Return the result of comparing two URLs</text>
            </para>
            <para>
              <text>The URLs are compared component by</text>
              <text>        component as if they were first</text>
              <text>        normalized.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url_view u0( &quot;http://www.b.com/index.htm&quot; );</text>
              <text>        url_view u1( &quot;http://www.a.com/index.htm&quot; );</text>
              <text>        assert( u0 &gt; u1 );</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        url a(u0);</text>
              <text>        a.normalize();</text>
              <text>        url b(u1);</text>
              <text>        b.normalize();</text>
              <text>        return std::make_tuple(</text>
              <text>                   a.scheme(),</text>
              <text>                   a.user(),</text>
              <text>                   a.password(),</text>
              <text>                   a.host(),</text>
              <text>                   a.port(),</text>
              <text>                   a.path(),</text>
              <text>                   a.query(),</text>
              <text>                   a.fragment()) &gt;</text>
              <text>               std::make_tuple(</text>
              <text>                   b.scheme(),</text>
              <text>                   b.user(),</text>
              <text>                   b.password(),</text>
              <text>                   b.host(),</text>
              <text>                   b.port(),</text>
              <text>                   b.path(),</text>
              <text>                   b.query(),</text>
              <text>                   b.fragment());</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `min( u0.size(), u1.size() )`</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
            <returns>
              <text>`true` if `u0 &gt; u1`</text>
            </returns>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
            </listitem>
          </doc>
          <befriended id="ngGy21anUjaZiQQJidHT5lvOC2w="/>
        </friend>
        <friend id="Zp+QckHH5VUPNUJSx/pvk2Awk+I=">
          <file path="boost/url/url_view_base.hpp" line="2713" class="def"/>
          <doc>
            <para>
              <text>Return the result of comparing two URLs</text>
            </para>
            <para>
              <text>The URLs are compared component by</text>
              <text>        component as if they were first</text>
              <text>        normalized.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url_view u0( &quot;http://www.a.com/index.htm&quot; );</text>
              <text>        url_view u1( &quot;http://www.a.com/index.htm&quot; );</text>
              <text>        assert( u0 &gt;= u1 );</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        url a(u0);</text>
              <text>        a.normalize();</text>
              <text>        url b(u1);</text>
              <text>        b.normalize();</text>
              <text>        return std::make_tuple(</text>
              <text>                   a.scheme(),</text>
              <text>                   a.user(),</text>
              <text>                   a.password(),</text>
              <text>                   a.host(),</text>
              <text>                   a.port(),</text>
              <text>                   a.path(),</text>
              <text>                   a.query(),</text>
              <text>                   a.fragment()) &gt;=</text>
              <text>               std::make_tuple(</text>
              <text>                   b.scheme(),</text>
              <text>                   b.user(),</text>
              <text>                   b.password(),</text>
              <text>                   b.host(),</text>
              <text>                   b.port(),</text>
              <text>                   b.path(),</text>
              <text>                   b.query(),</text>
              <text>                   b.fragment());</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `min( u0.size(), u1.size() )`</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
            <returns>
              <text>`true` if `u0 &gt;= u1`</text>
            </returns>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
            </listitem>
          </doc>
          <befriended id="AdXFp/RvPKHF4rljfa5/5yBmyfs="/>
        </friend>
        <friend id="MbJ+lOKBGSFOwfJwK4BCTV1clyU=">
          <file path="boost/url/url_view_base.hpp" line="2722" class="def"/>
          <befriended id="VQ8wN5VmWJfoSxg1rKYLnwDRsjU="/>
        </friend>
      </class>
      <function name="operator==" exception-spec="noexcept" id="E2+0o+/H5dWqJ1IkTzJ6aHTaMHE=">
        <file path="boost/url/url_view_base.hpp" line="2413" class="def"/>
        <attr id="operator" name="eq" value="30"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="u0">
          <type class="lvalue-reference">
            <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="u1">
          <type class="lvalue-reference">
            <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Return the result of comparing two URLs</text>
          </para>
          <para>
            <text>The URLs are compared component by</text>
            <text>        component as if they were first</text>
            <text>        normalized.</text>
          </para>
          <head>Example</head>
          <code>
            <text>        url_view u0( &quot;http://www.a.com/index.htm&quot; );</text>
            <text>        url_view u1( &quot;http://www.a.com/index.htm&quot; );</text>
            <text>        assert( u0 == u1 );</text>
          </code>
          <head>Effects</head>
          <code>
            <text>        url a(u0);</text>
            <text>        a.normalize();</text>
            <text>        url b(u1);</text>
            <text>        b.normalize();</text>
            <text>        return std::make_tuple(</text>
            <text>                   a.scheme(),</text>
            <text>                   a.user(),</text>
            <text>                   a.password(),</text>
            <text>                   a.host(),</text>
            <text>                   a.port(),</text>
            <text>                   a.path(),</text>
            <text>                   a.query(),</text>
            <text>                   a.fragment()) ==</text>
            <text>               std::make_tuple(</text>
            <text>                   b.scheme(),</text>
            <text>                   b.user(),</text>
            <text>                   b.password(),</text>
            <text>                   b.host(),</text>
            <text>                   b.port(),</text>
            <text>                   b.path(),</text>
            <text>                   b.query(),</text>
            <text>                   b.fragment());</text>
          </code>
          <head>Complexity</head>
          <para>
            <text>        Linear in `min( u0.size(), u1.size() )`</text>
          </para>
          <head>Exception Safety</head>
          <para>
            <text>        Throws nothing</text>
          </para>
          <returns>
            <text>`true` if `u0 == u1`</text>
          </returns>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
          </listitem>
        </doc>
      </function>
      <function name="operator!=" exception-spec="noexcept" id="QA2q/R+XvrJl2j8UnJwv+lnhdDA=">
        <file path="boost/url/url_view_base.hpp" line="2473" class="def"/>
        <attr id="operator" name="not_eq" value="31"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="u0">
          <type class="lvalue-reference">
            <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="u1">
          <type class="lvalue-reference">
            <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Return the result of comparing two URLs</text>
          </para>
          <para>
            <text>The URLs are compared component by</text>
            <text>        component as if they were first</text>
            <text>        normalized.</text>
          </para>
          <head>Example</head>
          <code>
            <text>        url_view u0( &quot;http://www.a.com/index.htm&quot; );</text>
            <text>        url_view u1( &quot;http://www.b.com/index.htm&quot; );</text>
            <text>        assert( u0 != u1 );</text>
          </code>
          <head>Effects</head>
          <code>
            <text>        url a(u0);</text>
            <text>        a.normalize();</text>
            <text>        url b(u1);</text>
            <text>        b.normalize();</text>
            <text>        return std::make_tuple(</text>
            <text>                   a.scheme(),</text>
            <text>                   a.user(),</text>
            <text>                   a.password(),</text>
            <text>                   a.host(),</text>
            <text>                   a.port(),</text>
            <text>                   a.path(),</text>
            <text>                   a.query(),</text>
            <text>                   a.fragment()) !=</text>
            <text>               std::make_tuple(</text>
            <text>                   b.scheme(),</text>
            <text>                   b.user(),</text>
            <text>                   b.password(),</text>
            <text>                   b.host(),</text>
            <text>                   b.port(),</text>
            <text>                   b.path(),</text>
            <text>                   b.query(),</text>
            <text>                   b.fragment());</text>
          </code>
          <head>Complexity</head>
          <para>
            <text>        Linear in `min( u0.size(), u1.size() )`</text>
          </para>
          <head>Exception Safety</head>
          <para>
            <text>        Throws nothing</text>
          </para>
          <returns>
            <text>`true` if `u0 != u1`</text>
          </returns>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
          </listitem>
        </doc>
      </function>
      <function name="operator&lt;" exception-spec="noexcept" id="Si07vh35lnvnJy8tpXUIpiFEjGM=">
        <file path="boost/url/url_view_base.hpp" line="2533" class="def"/>
        <attr id="operator" name="lt" value="16"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="u0">
          <type class="lvalue-reference">
            <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="u1">
          <type class="lvalue-reference">
            <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Return the result of comparing two URLs</text>
          </para>
          <para>
            <text>The URLs are compared component by</text>
            <text>        component as if they were first</text>
            <text>        normalized.</text>
          </para>
          <head>Example</head>
          <code>
            <text>        url_view u0( &quot;http://www.a.com/index.htm&quot; );</text>
            <text>        url_view u1( &quot;http://www.b.com/index.htm&quot; );</text>
            <text>        assert( u0 &lt; u1 );</text>
          </code>
          <head>Effects</head>
          <code>
            <text>        url a(u0);</text>
            <text>        a.normalize();</text>
            <text>        url b(u1);</text>
            <text>        b.normalize();</text>
            <text>        return std::make_tuple(</text>
            <text>                   a.scheme(),</text>
            <text>                   a.user(),</text>
            <text>                   a.password(),</text>
            <text>                   a.host(),</text>
            <text>                   a.port(),</text>
            <text>                   a.path(),</text>
            <text>                   a.query(),</text>
            <text>                   a.fragment()) &lt;</text>
            <text>               std::make_tuple(</text>
            <text>                   b.scheme(),</text>
            <text>                   b.user(),</text>
            <text>                   b.password(),</text>
            <text>                   b.host(),</text>
            <text>                   b.port(),</text>
            <text>                   b.path(),</text>
            <text>                   b.query(),</text>
            <text>                   b.fragment());</text>
          </code>
          <head>Complexity</head>
          <para>
            <text>        Linear in `min( u0.size(), u1.size() )`</text>
          </para>
          <head>Exception Safety</head>
          <para>
            <text>        Throws nothing</text>
          </para>
          <returns>
            <text>`true` if `u0 &lt; u1`</text>
          </returns>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
          </listitem>
        </doc>
      </function>
      <function name="operator&lt;=" exception-spec="noexcept" id="rRCHC/6GEaVZrjzAeFDlvaCydi0=">
        <file path="boost/url/url_view_base.hpp" line="2593" class="def"/>
        <attr id="operator" name="le" value="32"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="u0">
          <type class="lvalue-reference">
            <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="u1">
          <type class="lvalue-reference">
            <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Return the result of comparing two URLs</text>
          </para>
          <para>
            <text>The URLs are compared component by</text>
            <text>        component as if they were first</text>
            <text>        normalized.</text>
          </para>
          <head>Example</head>
          <code>
            <text>        url_view u0( &quot;http://www.b.com/index.htm&quot; );</text>
            <text>        url_view u1( &quot;http://www.b.com/index.htm&quot; );</text>
            <text>        assert( u0 &lt;= u1 );</text>
          </code>
          <head>Effects</head>
          <code>
            <text>        url a(u0);</text>
            <text>        a.normalize();</text>
            <text>        url b(u1);</text>
            <text>        b.normalize();</text>
            <text>        return std::make_tuple(</text>
            <text>                   a.scheme(),</text>
            <text>                   a.user(),</text>
            <text>                   a.password(),</text>
            <text>                   a.host(),</text>
            <text>                   a.port(),</text>
            <text>                   a.path(),</text>
            <text>                   a.query(),</text>
            <text>                   a.fragment()) &lt;=</text>
            <text>               std::make_tuple(</text>
            <text>                   b.scheme(),</text>
            <text>                   b.user(),</text>
            <text>                   b.password(),</text>
            <text>                   b.host(),</text>
            <text>                   b.port(),</text>
            <text>                   b.path(),</text>
            <text>                   b.query(),</text>
            <text>                   b.fragment());</text>
          </code>
          <head>Complexity</head>
          <para>
            <text>        Linear in `min( u0.size(), u1.size() )`</text>
          </para>
          <head>Exception Safety</head>
          <para>
            <text>        Throws nothing</text>
          </para>
          <returns>
            <text>`true` if `u0 &lt;= u1`</text>
          </returns>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
          </listitem>
        </doc>
      </function>
      <function name="operator&gt;" exception-spec="noexcept" id="ngGy21anUjaZiQQJidHT5lvOC2w=">
        <file path="boost/url/url_view_base.hpp" line="2653" class="def"/>
        <attr id="operator" name="gt" value="17"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="u0">
          <type class="lvalue-reference">
            <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="u1">
          <type class="lvalue-reference">
            <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Return the result of comparing two URLs</text>
          </para>
          <para>
            <text>The URLs are compared component by</text>
            <text>        component as if they were first</text>
            <text>        normalized.</text>
          </para>
          <head>Example</head>
          <code>
            <text>        url_view u0( &quot;http://www.b.com/index.htm&quot; );</text>
            <text>        url_view u1( &quot;http://www.a.com/index.htm&quot; );</text>
            <text>        assert( u0 &gt; u1 );</text>
          </code>
          <head>Effects</head>
          <code>
            <text>        url a(u0);</text>
            <text>        a.normalize();</text>
            <text>        url b(u1);</text>
            <text>        b.normalize();</text>
            <text>        return std::make_tuple(</text>
            <text>                   a.scheme(),</text>
            <text>                   a.user(),</text>
            <text>                   a.password(),</text>
            <text>                   a.host(),</text>
            <text>                   a.port(),</text>
            <text>                   a.path(),</text>
            <text>                   a.query(),</text>
            <text>                   a.fragment()) &gt;</text>
            <text>               std::make_tuple(</text>
            <text>                   b.scheme(),</text>
            <text>                   b.user(),</text>
            <text>                   b.password(),</text>
            <text>                   b.host(),</text>
            <text>                   b.port(),</text>
            <text>                   b.path(),</text>
            <text>                   b.query(),</text>
            <text>                   b.fragment());</text>
          </code>
          <head>Complexity</head>
          <para>
            <text>        Linear in `min( u0.size(), u1.size() )`</text>
          </para>
          <head>Exception Safety</head>
          <para>
            <text>        Throws nothing</text>
          </para>
          <returns>
            <text>`true` if `u0 &gt; u1`</text>
          </returns>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
          </listitem>
        </doc>
      </function>
      <function name="operator&gt;=" exception-spec="noexcept" id="AdXFp/RvPKHF4rljfa5/5yBmyfs=">
        <file path="boost/url/url_view_base.hpp" line="2713" class="def"/>
        <attr id="operator" name="ge" value="33"/>
        <return>
          <type name="bool"/>
        </return>
        <param name="u0">
          <type class="lvalue-reference">
            <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="u1">
          <type class="lvalue-reference">
            <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Return the result of comparing two URLs</text>
          </para>
          <para>
            <text>The URLs are compared component by</text>
            <text>        component as if they were first</text>
            <text>        normalized.</text>
          </para>
          <head>Example</head>
          <code>
            <text>        url_view u0( &quot;http://www.a.com/index.htm&quot; );</text>
            <text>        url_view u1( &quot;http://www.a.com/index.htm&quot; );</text>
            <text>        assert( u0 &gt;= u1 );</text>
          </code>
          <head>Effects</head>
          <code>
            <text>        url a(u0);</text>
            <text>        a.normalize();</text>
            <text>        url b(u1);</text>
            <text>        b.normalize();</text>
            <text>        return std::make_tuple(</text>
            <text>                   a.scheme(),</text>
            <text>                   a.user(),</text>
            <text>                   a.password(),</text>
            <text>                   a.host(),</text>
            <text>                   a.port(),</text>
            <text>                   a.path(),</text>
            <text>                   a.query(),</text>
            <text>                   a.fragment()) &gt;=</text>
            <text>               std::make_tuple(</text>
            <text>                   b.scheme(),</text>
            <text>                   b.user(),</text>
            <text>                   b.password(),</text>
            <text>                   b.host(),</text>
            <text>                   b.port(),</text>
            <text>                   b.path(),</text>
            <text>                   b.query(),</text>
            <text>                   b.fragment());</text>
          </code>
          <head>Complexity</head>
          <para>
            <text>        Linear in `min( u0.size(), u1.size() )`</text>
          </para>
          <head>Exception Safety</head>
          <para>
            <text>        Throws nothing</text>
          </para>
          <returns>
            <text>`true` if `u0 &gt;= u1`</text>
          </returns>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2">6.2.2 Syntax-Based Normalization (rfc3986)</link>
          </listitem>
        </doc>
      </function>
      <function name="operator&lt;&lt;" id="VQ8wN5VmWJfoSxg1rKYLnwDRsjU=">
        <file path="boost/url/url_view_base.hpp" line="2722" class="def"/>
        <file path="boost/url/url_view_base.hpp" line="2778"/>
        <attr id="operator" name="lshift" value="26"/>
        <return>
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </return>
        <param name="os">
          <type class="lvalue-reference">
            <pointee-type name="std::ostream"/>
          </type>
        </param>
        <param name="u">
          <type class="lvalue-reference">
            <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Format the url to the output stream</text>
          </para>
          <para>
            <text>This function serializes the url to</text>
            <text>    the specified output stream. Any</text>
            <text>    percent-escapes are emitted as-is;</text>
            <text>    no decoding is performed.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    url_view u( &quot;http://www.example.com/index.htm&quot; );</text>
            <text>    std::stringstream ss;</text>
            <text>    ss &lt;&lt; u;</text>
            <text>    assert( ss.str() == &quot;http://www.example.com/index.htm&quot; );</text>
          </code>
          <head>Effects</head>
          <code>
            <text>    return os &lt;&lt; u.buffer();</text>
          </code>
          <head>Complexity</head>
          <para>
            <text>    Linear in `u.buffer().size()`</text>
          </para>
          <head>Exception Safety</head>
          <para>
            <text>    Basic guarantee.</text>
          </para>
          <returns>
            <text>A reference to the output stream, for chaining</text>
          </returns>
          <param name="os">
            <text>The output stream to write to.</text>
          </param>
          <param name="u">
            <text>The url to write.</text>
          </param>
        </doc>
      </function>
      <function name="resolve" id="/6zWjIFN5df0PBj9zFsfNUjNY6s=">
        <file path="boost/url/url_base.hpp" line="2904" class="def"/>
        <file path="boost/url/url_base.hpp" line="2753"/>
        <return>
          <type name="system::result&lt;void&gt;"/>
        </return>
        <param name="base">
          <type class="lvalue-reference">
            <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="ref">
          <type class="lvalue-reference">
            <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
          </type>
        </param>
        <param name="dest">
          <type class="lvalue-reference">
            <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Resolve a URL reference against a base URL</text>
          </para>
          <para>
            <text>This function attempts to resolve a URL</text>
            <text>    reference `ref` against the base URL `base`</text>
            <text>    in a manner similar to that of a web browser</text>
            <text>    resolving an anchor tag.</text>
          </para>
          <para>
            <text>The base URL must satisfy the </text>
            <italic>URI</italic>
            <text>    grammar. In other words, it must contain</text>
            <text>    a scheme.</text>
          </para>
          <para>
            <text>Relative references are only usable when</text>
            <text>    in the context of a base absolute URI.</text>
            <text>    This process of resolving a relative</text>
            <italic>reference</italic>
            <text> within the context of</text>
            <text>    a</text>
            <italic>base</italic>
            <text> URI is defined in detail</text>
            <text>    in rfc3986 (see below).</text>
          </para>
          <para>
            <text>The resolution process works as if the</text>
            <text>    relative reference is appended to the base</text>
            <text>    URI and the result is normalized.</text>
          </para>
          <para>
            <text>Given the input base URL, this function</text>
            <text>    resolves the relative reference</text>
            <text>    as if performing the following steps:</text>
          </para>
          <listitem>
            <text>Ensure the base URI has at least a scheme</text>
          </listitem>
          <listitem>
            <text>Normalizing the reference path</text>
          </listitem>
          <listitem>
            <text>Merge base and reference paths</text>
          </listitem>
          <listitem>
            <text>Normalize the merged path</text>
          </listitem>
          <para>
            <text>This function places the result of the</text>
            <text>    resolution into `dest`, which can be</text>
            <text>    any of the url containers that inherit</text>
            <text>    from</text>
            <reference id="aHkFCWJbYb0t+7FT+A5gCI0krpU=">url_base</reference>
            <text>.</text>
          </para>
          <para>
            <text>If an error occurs, the contents of</text>
            <text>    `dest` is unspecified and `ec` is set.</text>
          </para>
          <para class="note">
            <text>Abnormal hrefs where the number of &quot;..&quot;</text>
            <text>    segments exceeds the number of segments in</text>
            <text>    the base path are handled by including the</text>
            <text>    unmatched &quot;..&quot; segments in the result, as described</text>
            <text>    in</text>
            <link href="https://www.rfc-editor.org/errata/eid4547">Errata 4547</link>
            <text>.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    url dest;</text>
            <text>    system::error_code ec;</text>
            <text></text>
            <text>    resolve(&quot;/one/two/three&quot;, &quot;four&quot;, dest, ec);</text>
            <text>    assert( dest.str() == &quot;/one/two/four&quot; );</text>
            <text></text>
            <text>    resolve(&quot;http://example.com/&quot;, &quot;/one&quot;, dest, ec);</text>
            <text>    assert( dest.str() == &quot;http://example.com/one&quot; );</text>
            <text></text>
            <text>    resolve(&quot;http://example.com/one&quot;, &quot;/two&quot;, dest, ec);</text>
            <text>    assert( dest.str() == &quot;http://example.com/two&quot; );</text>
            <text></text>
            <text>    resolve(&quot;http://a/b/c/d;p?q&quot;, &quot;g#s&quot;, dest, ec);</text>
            <text>    assert( dest.str() == &quot;http://a/b/c/g#s&quot; );</text>
          </code>
          <head>BNF</head>
          <code>
            <text>    absolute-URI  = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ]</text>
          </code>
          <head>Exception Safety</head>
          <para>
            <text>    Basic guarantee.</text>
            <text>    Calls to allocate may throw.</text>
          </para>
          <returns>
            <text>An empty </text>
            <reference>result</reference>
            <text> upon success,</text>
            <text>    otherwise an error code if `!base.has_scheme()`.</text>
          </returns>
          <param name="base">
            <text>The base URL to resolve against.</text>
          </param>
          <param name="ref">
            <text>The URL reference to resolve.</text>
          </param>
          <param name="dest">
            <text>The container where the result</text>
            <text>    is written, upon success.</text>
          </param>
          <head>Specification</head>
          <para>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-5">5. Reference Resolution (rfc3986)</link>
          </para>
          <see>
            <reference id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=">url</reference>
            <text>,</text>
            <reference id="wh3UbUToX9YDmRmnpcoM9EUEZo8=">url_view</reference>
            <text>.</text>
          </see>
        </doc>
      </function>
      <class name="url" id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=">
        <file path="boost/url/url.hpp" line="63" class="def"/>
        <base>
          <type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
        </base>
        <doc>
          <para>
            <text>A modifiable container for a URL.</text>
          </para>
          <para>
            <text>This container owns a url, represented</text>
            <text>    by a null-terminated character buffer</text>
            <text>    which is managed by performing dymamic</text>
            <text>    memory allocations as needed.</text>
            <text>    The contents may be inspected and modified,</text>
            <text>    and the implementation maintains a useful</text>
            <text>    invariant: changes to the url always</text>
            <text>    leave it in a valid state.</text>
          </para>
          <head>Exception Safety</head>
          <listitem>
            <text>Functions marked `noexcept` provide the</text>
            <text>    no-throw guarantee, otherwise:</text>
          </listitem>
          <listitem>
            <text>Functions which throw offer the strong</text>
            <text>    exception safety guarantee.</text>
          </listitem>
          <head>BNF</head>
          <code>
            <text>    URI-reference = URI / relative-ref</text>
            <text></text>
            <text>    URI           = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
            <text></text>
            <text>    relative-ref  = relative-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
            <text></text>
            <text>    absolute-URI  = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ]</text>
          </code>
          <head>Specification</head>
          <listitem>
            <link href="https://tools.ietf.org/html/rfc3986">Uniform Resource Identifier (URI): Generic Syntax (rfc3986)</link>
          </listitem>
          <see>
            <reference id="U3CVElRbcTcbg1JzOqhBCd5RSzM=">parse_absolute_uri</reference>
            <text>,</text>
            <reference id="QFzcl8vSLEeKOEO6w3mv1zGqX3k=">parse_relative_ref</reference>
            <text>,</text>
            <reference id="f+9kR517VGSM5ZPoS7g/RFb0g/0=">parse_uri</reference>
            <text>,</text>
            <reference id="7d2b1xVBWJPgL/+PWFdoBaZJvMA=">parse_uri_reference</reference>
            <text>,</text>
            <reference id="3Pi5l1khAbVAQHD3fWi5GoHEr5E=">resolve</reference>
            <text>.</text>
          </see>
        </doc>
        <function class="destructor" name="~url" id="8gjwLQiwQO+79ahc+7KjA0ZXvN8=">
          <file path="boost/url/url.hpp" line="85"/>
          <attr id="is-virtual-as-written"/>
          <doc>
            <para>
              <text>Destructor</text>
            </para>
            <para>
              <text>Any params, segments, iterators, or</text>
              <text>        views which reference this object are</text>
              <text>        invalidated. The underlying character</text>
              <text>        buffer is destroyed, invalidating all</text>
              <text>        references to it.</text>
            </para>
          </doc>
        </function>
        <function class="constructor" name="url" exception-spec="noexcept" id="8Ih0d9yHn5x6rDTW+0U44b+zHcQ=">
          <file path="boost/url/url.hpp" line="120"/>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>Default constructed urls contain</text>
              <text>        a zero-length string. This matches</text>
              <text>        the grammar for a relative-ref with</text>
              <text>        an empty path and no query or</text>
              <text>        fragment.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u;</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;empty() == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <head>BNF</head>
            <code>
              <text>        relative-ref  = relative-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
            </code>
            <head>Specification</head>
            <para>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.2">4.2. Relative Reference (rfc3986)</link>
            </para>
          </doc>
        </function>
        <function class="constructor" name="url" explicit-spec="explicit" id="AmJe7CtsMMZmoh30mytIyGKwIe8=">
          <file path="boost/url/url.hpp" line="169"/>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>This function constructs a URL from</text>
              <text>        the string `s`, which must contain a</text>
              <text>        valid</text>
              <italic>URI</italic>
              <text> or</text>
              <italic>relative-ref</italic>
              <text>        or else an exception is thrown.</text>
              <text>        The new url retains ownership by</text>
              <text>        allocating a copy of the passed string.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u( &quot;https://www.example.com&quot; );</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        return url( parse_uri_reference( s ).value() );</text>
            </code>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer().data() != s.data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `s.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Calls to allocate may throw.</text>
              <text>        Exceptions thrown on invalid input.</text>
            </para>
            <throws>
              <text>        The input does not contain a valid url.</text>
            </throws>
            <param name="s">
              <text>The string to parse.</text>
            </param>
            <head>BNF</head>
            <code>
              <text>        URI           = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
              <text></text>
              <text>        relative-ref  = relative-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.1">4.1. URI Reference</link>
            </listitem>
          </doc>
        </function>
        <function class="constructor" name="url" exception-spec="noexcept" id="Eh0hD4ukhWXmI/0dX74NQsJFfzk=">
          <file path="boost/url/url.hpp" line="194"/>
          <param name="u">
            <type class="rvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>The contents of `u` are transferred</text>
              <text>        to the newly constructed object,</text>
              <text>        which includes the underlying</text>
              <text>        character buffer.</text>
              <text>        After construction, the moved-from</text>
              <text>        object is as if default constructed.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        u.empty() == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <param name="u">
              <text>The url to move from.</text>
            </param>
          </doc>
        </function>
        <function class="constructor" name="url" id="AWfbGWiWXIba/qYHse33W1kHUnY=">
          <file path="boost/url/url.hpp" line="217" class="def"/>
          <param name="u">
            <type class="lvalue-reference">
              <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>The newly constructed object</text>
              <text>        contains a copy of `u`.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer() == u.buffer() &amp;&amp; this-&gt;buffer().data() != u.buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `u.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <throws>
              <text>`u.size() &gt; max_size()`.</text>
            </throws>
            <param name="u">
              <text>The url to copy.</text>
            </param>
          </doc>
        </function>
        <function class="constructor" name="url" id="9wzWC4EmGwmpV2rTLilCJLj94RA=">
          <file path="boost/url/url.hpp" line="243" class="def"/>
          <param name="u">
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Constructor</text>
            </para>
            <para>
              <text>The newly constructed object</text>
              <text>        contains a copy of `u`.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer() == u.buffer() &amp;&amp; this-&gt;buffer().data() != u.buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `u.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <throws>
              <text>`u.size() &gt; max_size()`.</text>
            </throws>
            <param name="u">
              <text>The url to copy.</text>
            </param>
          </doc>
        </function>
        <function name="operator=" exception-spec="noexcept" id="krgrzyss3MdRjIlMP8Ne+a6k3V0=">
          <file path="boost/url/url.hpp" line="271"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="u">
            <type class="rvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>The contents of `u` are transferred to</text>
              <text>        `this`, including the underlying</text>
              <text>        character buffer. The previous contents</text>
              <text>        of `this` are destroyed.</text>
              <text>        After assignment, the moved-from</text>
              <text>        object is as if default constructed.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        u.empty() == true</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <param name="u">
              <text>The url to assign from.</text>
            </param>
          </doc>
        </function>
        <function name="operator=" id="t1NUH4ftJ7Uw9eCFLD3V2tCUmGk=">
          <file path="boost/url/url.hpp" line="297" class="def"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="u">
            <type class="lvalue-reference">
              <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>The contents of `u` are copied and</text>
              <text>        the previous contents of `this` are</text>
              <text>        destroyed.</text>
              <text>        Capacity is preserved, or increases.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer() == u.buffer() &amp;&amp; this-&gt;buffer().data() != u.buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `u.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <throws>
              <text>`u.size() &gt; max_size()`.</text>
            </throws>
            <param name="u">
              <text>The url to copy.</text>
            </param>
          </doc>
        </function>
        <function name="operator=" id="Y4IyJrOqprrb8HaheI5+ycWOhTU=">
          <file path="boost/url/url.hpp" line="326" class="def"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="u">
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Assignment</text>
            </para>
            <para>
              <text>The contents of `u` are copied and</text>
              <text>        the previous contents of `this` are</text>
              <text>        destroyed.</text>
              <text>        Capacity is preserved, or increases.</text>
            </para>
            <head>Postconditions</head>
            <code>
              <text>        this-&gt;buffer() == u.buffer() &amp;&amp; this-&gt;buffer().data() != u.buffer().data()</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Linear in `u.size()`.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Strong guarantee.</text>
              <text>        Calls to allocate may throw.</text>
            </para>
            <param name="u">
              <text>The url to copy.</text>
            </param>
          </doc>
        </function>
        <function name="swap" exception-spec="noexcept" id="iZ1eWw5IAl1ilQ72KPrht00pGzU=">
          <file path="boost/url/url.hpp" line="360"/>
          <param name="other">
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Swap the contents.</text>
            </para>
            <para>
              <text>Exchanges the contents of this url with another</text>
              <text>        url. All views, iterators and references remain valid.</text>
            </para>
            <para>
              <text>If `this == &amp;other`, this function call has no effect.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u1( &quot;https://www.example.com&quot; );</text>
              <text>        url u2( &quot;https://www.boost.org&quot; );</text>
              <text>        u1.swap(u2);</text>
              <text>        assert(u1 == &quot;https://www.boost.org&quot; );</text>
              <text>        assert(u2 == &quot;https://www.example.com&quot; );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing.</text>
            </para>
            <param name="other">
              <text>The object to swap with</text>
            </param>
          </doc>
        </function>
        <friend id="zYAIRH3798z6tmEMoFWKfmFOcyg=">
          <file path="boost/url/url.hpp" line="396" class="def"/>
          <doc>
            <para>
              <text>Swap</text>
            </para>
            <para>
              <text>Exchanges the contents of `v0` with another `v1`.</text>
              <text>        All views, iterators and references remain</text>
              <text>        valid.</text>
            </para>
            <para>
              <text>If `&amp;v0 ==&amp;v1`, this function call has no effect.</text>
            </para>
            <head>Example</head>
            <code>
              <text>        url u1( &quot;https://www.example.com&quot; );</text>
              <text>        url u2( &quot;https://www.boost.org&quot; );</text>
              <text>        std::swap(u1, u2);</text>
              <text>        assert(u1 == &quot;https://www.boost.org&quot; );</text>
              <text>        assert(u2 == &quot;https://www.example.com&quot; );</text>
            </code>
            <head>Effects</head>
            <code>
              <text>        v0.swap( v1 );</text>
            </code>
            <head>Complexity</head>
            <para>
              <text>        Constant</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>        Throws nothing</text>
            </para>
            <param name="v0,">
              <text>v1 The objects to swap</text>
            </param>
            <see>
              <reference id="iZ1eWw5IAl1ilQ72KPrht00pGzU=">url::swap</reference>
            </see>
          </doc>
          <befriended id="r+2jsv/V/6eYTTn9n6oVkgy6U/Y="/>
        </friend>
        <function name="set_scheme" id="l5PbLvVICdt8q5T3JPg6iGiNsQw=">
          <file path="boost/url/url.hpp" line="409" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="rKQfFZ6dfzeuSqZL+PgPNpIFQ5g=">url_base::set_scheme</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_scheme_id" id="rOaH2oJeKO+BU3TB90QiuF0FRCw=">
          <file path="boost/url/url.hpp" line="411" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="id">
            <type id="P7uOjuAMILimKGOcbjDUSpMAL/U=" name="urls::scheme"/>
          </param>
          <doc>
            <para>
              <copydoc id="iuTF0vS1Knzl0Hxr4iVhx35Fzdk=">url_base::set_scheme_id</copydoc>
            </para>
          </doc>
        </function>
        <function name="remove_scheme" id="xoEDWd6f1PiR0V17DuoUOwC8MtA=">
          <file path="boost/url/url.hpp" line="413" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <doc>
            <para>
              <copydoc id="1N2Tt1DokczwHdRgAZiZzhPQr4E=">url_base::remove_scheme</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_encoded_authority" id="vE7KhYOtypUWNHBo2RGCbzuduNc=">
          <file path="boost/url/url.hpp" line="416" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="VTO/x6AChJRFyjVKxhaqmIAvYFI=">url_base::set_encoded_authority</copydoc>
            </para>
          </doc>
        </function>
        <function name="remove_authority" id="uEUUViG9fk8nPLVDhOEq0ZwSt4k=">
          <file path="boost/url/url.hpp" line="418" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <doc>
            <para>
              <copydoc id="cjTKMEM0IWRzDexmJAiWOj6P+ZI=">url_base::remove_authority</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_userinfo" id="tbHsdn3vwHk6vomi64efnJApwUQ=">
          <file path="boost/url/url.hpp" line="421" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="s+5EFNaQxZ6HMzMRElE8AAODpm8=">url_base::set_userinfo</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_encoded_userinfo" id="ZR2L8oYjRtrb4ZxwO002IH7YyPQ=">
          <file path="boost/url/url.hpp" line="423" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="MLv0mdC6EhrEgdnFiOF+W8sw0/c=">url_base::set_encoded_userinfo</copydoc>
            </para>
          </doc>
        </function>
        <function name="remove_userinfo" exception-spec="noexcept" id="H68DAna577ehzNnUHjAoRKLb1Lo=">
          <file path="boost/url/url.hpp" line="425" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <doc>
            <para>
              <copydoc id="PjTTglJlJuEwKHuRXGByi7wW8W8=">url_base::remove_userinfo</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_user" id="bdwdrMSefiuKM7oY4Cga3Q9MJp4=">
          <file path="boost/url/url.hpp" line="427" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="GWy3y66sOX4ov+Eh3hxNRVsAEwY=">url_base::set_user</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_encoded_user" id="FVik3N3tY4odaRANj5Yd7ryYKbM=">
          <file path="boost/url/url.hpp" line="429" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="YNLJGohUXCdL6mo1PM3ms9pRQyE=">url_base::set_encoded_user</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_password" id="RT+5kxvCEY+rBBTsbgzooRi73rM=">
          <file path="boost/url/url.hpp" line="431" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="blkDquwzHtk7o5mJf/hdeY15zWg=">url_base::set_password</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_encoded_password" id="d6h7pMb0CVly+yxJA3qTA9oUkyg=">
          <file path="boost/url/url.hpp" line="433" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="qF7dDBIf4KkHxSuysLw1EJNSh2Y=">url_base::set_encoded_password</copydoc>
            </para>
          </doc>
        </function>
        <function name="remove_password" exception-spec="noexcept" id="8csn1QWMkOmUIhniJ0RUu0RZwG4=">
          <file path="boost/url/url.hpp" line="435" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <doc>
            <para>
              <copydoc id="M5RIQPf9vzlN+m4Qn0PDNFKy8ak=">url_base::remove_password</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_host" id="NV17VD5RB4tRGVitD/ItS62klWA=">
          <file path="boost/url/url.hpp" line="438" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="lhYybwvylnG/ieiGmyVfyExN3dw=">url_base::set_host</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_encoded_host" id="QqGtJJ8cl1csXN2HqSLBxfqqw8I=">
          <file path="boost/url/url.hpp" line="440" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="OgEcjvMpUkw5cqqrotx6BNVfYuA=">url_base::set_encoded_host</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_host_address" id="RcbCWApESayzhWcmWzKY7sLRW3I=">
          <file path="boost/url/url.hpp" line="442" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="ut25mVfVRShtv19Mg+nvS5jVATc=">url_base::set_host_address</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_encoded_host_address" id="8vNpsCqkIshI8Vwi9MI/QwEbWNE=">
          <file path="boost/url/url.hpp" line="444" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="51fvhkKEd4+UZEBsnLd4vUL/Svw=">url_base::set_encoded_host_address</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_host_ipv4" id="j1vvfyYzdHeOi3rAip91G6UwdI4=">
          <file path="boost/url/url.hpp" line="446" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="addr">
            <type class="lvalue-reference">
              <pointee-type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <copydoc id="Cn5GM3RJyUENDJ/d6LnYVW+gkA4=">url_base::set_host_ipv4</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_host_ipv6" id="JXOJMhugDCIztmyysqXCpJe4+6Q=">
          <file path="boost/url/url.hpp" line="448" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="addr">
            <type class="lvalue-reference">
              <pointee-type id="dhMSRVBIIIItY0URHSc8rwHcdTQ=" name="ipv6_address" cv-qualifiers="const"/>
            </type>
          </param>
          <doc>
            <para>
              <copydoc id="BryTExdDEUoZs6riyC1Qi0/NtPE=">url_base::set_host_ipv6</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_host_ipvfuture" id="FAvM0R9wWtIopo0UEVBu36r+rLs=">
          <file path="boost/url/url.hpp" line="450" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="BQxPHhB2Uv0OyVbWf3e7/seXVX8=">url_base::set_host_ipvfuture</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_host_name" id="WX0WCadEsealUT2/UWMRohJ83A8=">
          <file path="boost/url/url.hpp" line="452" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="Pt4icJRgJxULgQjbXV6yzBigNl8=">url_base::set_host_name</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_encoded_host_name" id="x6Se85PURXLDVUkc0nIMfry4QWk=">
          <file path="boost/url/url.hpp" line="454" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="Lz8KFSebh4YuJuAAf0STYQ/VPqk=">url_base::set_encoded_host_name</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_port_number" id="Ap8PBa2tnaS+9s4pC2/HSbsJ2W8=">
          <file path="boost/url/url.hpp" line="456" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="n">
            <type name="std::uint16_t"/>
          </param>
          <doc>
            <para>
              <copydoc id="4bptcCq14NmzqKQvnx54lE+28F0=">url_base::set_port_number</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_port" id="ThaNWrwh5iKGzqCX2N+LX3KLHhE=">
          <file path="boost/url/url.hpp" line="458" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="p1q1Ba+a+naWvTDfBuMPt0DJw2A=">url_base::set_port</copydoc>
            </para>
          </doc>
        </function>
        <function name="remove_port" exception-spec="noexcept" id="odPyefMzS7RR8SxYOkeOFWrJWCo=">
          <file path="boost/url/url.hpp" line="460" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <doc>
            <para>
              <copydoc id="ADa0xIsiS8APEAdL3+s0LoNowA8=">url_base::remove_port</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_path" id="8Nou0ZhJ8DhQBDRFYHX+OQrxd1g=">
          <file path="boost/url/url.hpp" line="465" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="0VMn4mT6ruiabbTCXyOFe+JATBg=">url_base::set_path</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_encoded_path" id="tlGS2xlooVieoE1F6taSONIunW8=">
          <file path="boost/url/url.hpp" line="467" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="GQGd+Ne+D3eTy4fe+x1cpa5zefU=">url_base::set_encoded_path</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_query" id="28viuAEHui7vd0hJTnE+g+nEWPM=">
          <file path="boost/url/url.hpp" line="470" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="99/QTSBQGLrNj3zGdw5VzYlqfnI=">url_base::set_query</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_encoded_query" id="FfxhA5mBZ2/8cwSUixtcx3WcR/k=">
          <file path="boost/url/url.hpp" line="472" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="QcQ13DUh8M8TR/zj/LDG3N/+i3c=">url_base::set_encoded_query</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_params" id="WpnbbKk4mWLnWqT6kYXKipZJyN4=">
          <file path="boost/url/url.hpp" line="474" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="ps">
            <type name="std::initializer_list&lt;param_view&gt;"/>
          </param>
          <doc>
            <para>
              <copydoc id="U1ygsjkWTkeLBPHM3iUMUjFUpv8=">url_base::set_params</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_encoded_params" id="1EkZhuzR+KSDgGVlnI0A/GdR6Fs=">
          <file path="boost/url/url.hpp" line="476" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="ps">
            <type name="std::initializer_list&lt;param_pct_view&gt;"/>
          </param>
          <doc>
            <para>
              <copydoc id="S9fyQqerhxu7yBt8GhsEJ9RKJl8=">url_base::set_encoded_params</copydoc>
            </para>
          </doc>
        </function>
        <function name="remove_query" exception-spec="noexcept" id="lqzeYddpaDdNhabYJKbZcKVR1sc=">
          <file path="boost/url/url.hpp" line="478" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <doc>
            <para>
              <copydoc id="ZZWEzCK7DguUxc3TvUfizoGKplE=">url_base::remove_query</copydoc>
            </para>
          </doc>
        </function>
        <function name="remove_fragment" exception-spec="noexcept" id="N46BFrejgcAWK9LoZJfnmCFfOQo=">
          <file path="boost/url/url.hpp" line="481" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <doc>
            <para>
              <copydoc id="aGhIz5PP9XtdztICzhAvM4n92Sg=">url_base::remove_fragment</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_fragment" id="l0wVo04A61xkHZCraU8BRdp8FT0=">
          <file path="boost/url/url.hpp" line="483" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type name="core::string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="VHh7zoCWGsviuG3lWYA54cKWneU=">url_base::set_fragment</copydoc>
            </para>
          </doc>
        </function>
        <function name="set_encoded_fragment" id="Q/h1CpdR46KA14VnTvzSNYO/Z9M=">
          <file path="boost/url/url.hpp" line="485" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <param name="s">
            <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
          </param>
          <doc>
            <para>
              <copydoc id="ebU9NPxh5c4VwDAaQA1CXRWbSKk=">url_base::set_encoded_fragment</copydoc>
            </para>
          </doc>
        </function>
        <function name="remove_origin" id="m11SsNcuMK9xjCcQTH9YgmTOKU0=">
          <file path="boost/url/url.hpp" line="488" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <doc>
            <para>
              <copydoc id="OqDHBYUjGSW4mGYuSUu09xFSlEc=">url_base::remove_origin</copydoc>
            </para>
          </doc>
        </function>
        <function name="normalize" id="uS6MtOtZL4NwRPb31WtogBq7xTA=">
          <file path="boost/url/url.hpp" line="491" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <doc>
            <para>
              <copydoc id="ldUmQToJNGQ58j33Mti85clcGbM=">url_base::normalize</copydoc>
            </para>
          </doc>
        </function>
        <function name="normalize_scheme" id="yw8gEO2DarlIt76PCQf2ychq86M=">
          <file path="boost/url/url.hpp" line="493" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <doc>
            <para>
              <copydoc id="iyO2AawtEbzXMJkvSocn7BpBBrI=">url_base::normalize_scheme</copydoc>
            </para>
          </doc>
        </function>
        <function name="normalize_authority" id="V/k59YOgEYnss8lWiKPRddPXTrM=">
          <file path="boost/url/url.hpp" line="495" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <doc>
            <para>
              <copydoc id="j2lB1y9ywFNpGt8xXYkZZuJbs30=">url_base::normalize_authority</copydoc>
            </para>
          </doc>
        </function>
        <function name="normalize_path" id="yqEPQDxp1rFnCl0FANFNlHq7di4=">
          <file path="boost/url/url.hpp" line="497" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <doc>
            <para>
              <copydoc id="pjVn3eVVaWNAixzkPBECE+lKByQ=">url_base::normalize_path</copydoc>
            </para>
          </doc>
        </function>
        <function name="normalize_query" id="ewBqUnH0R6CY50UChPClD5/LPh4=">
          <file path="boost/url/url.hpp" line="499" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <doc>
            <para>
              <copydoc id="4CZ8ebKgivCQbRJoYD78PmOko2U=">url_base::normalize_query</copydoc>
            </para>
          </doc>
        </function>
        <function name="normalize_fragment" id="1V2arTLLdHjeX3t8BPS00NhUbuw=">
          <file path="boost/url/url.hpp" line="501" class="def"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
            </type>
          </return>
          <doc>
            <para>
              <copydoc id="R2y0tPa5JiRRSTNXgUjKdMoCOcA=">url_base::normalize_fragment</copydoc>
            </para>
          </doc>
        </function>
      </class>
      <function name="swap" exception-spec="noexcept" id="r+2jsv/V/6eYTTn9n6oVkgy6U/Y=">
        <file path="boost/url/url.hpp" line="396" class="def"/>
        <param name="v0">
          <type class="lvalue-reference">
            <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
          </type>
        </param>
        <param name="v1">
          <type class="lvalue-reference">
            <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
          </type>
        </param>
        <doc>
          <para>
            <text>Swap</text>
          </para>
          <para>
            <text>Exchanges the contents of `v0` with another `v1`.</text>
            <text>        All views, iterators and references remain</text>
            <text>        valid.</text>
          </para>
          <para>
            <text>If `&amp;v0 ==&amp;v1`, this function call has no effect.</text>
          </para>
          <head>Example</head>
          <code>
            <text>        url u1( &quot;https://www.example.com&quot; );</text>
            <text>        url u2( &quot;https://www.boost.org&quot; );</text>
            <text>        std::swap(u1, u2);</text>
            <text>        assert(u1 == &quot;https://www.boost.org&quot; );</text>
            <text>        assert(u2 == &quot;https://www.example.com&quot; );</text>
          </code>
          <head>Effects</head>
          <code>
            <text>        v0.swap( v1 );</text>
          </code>
          <head>Complexity</head>
          <para>
            <text>        Constant</text>
          </para>
          <head>Exception Safety</head>
          <para>
            <text>        Throws nothing</text>
          </para>
          <param name="v0,">
            <text>v1 The objects to swap</text>
          </param>
          <see>
            <reference id="iZ1eWw5IAl1ilQ72KPrht00pGzU=">url::swap</reference>
          </see>
        </doc>
      </function>
      <struct name="ipv4_address_rule_t" id="ThFeztzCwOZfGy7pbVtTF+ss63E=">
        <file path="boost/url/rfc/ipv4_address_rule.hpp" line="58" class="def"/>
        <alias name="value_type" id="JuyKu8bFB5ZoiRLo93lUeRfGIsw=">
          <file path="boost/url/rfc/ipv4_address_rule.hpp" line="60" class="def"/>
          <type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address"/>
        </alias>
        <function name="parse" exception-spec="noexcept" id="A2pdRtzxeVrvm3rHEiEpzyQtVio=">
          <file path="boost/url/rfc/ipv4_address_rule.hpp" line="64"/>
          <attr id="has-trailing-return"/>
          <attr id="is-const"/>
          <return>
            <type name="system::result&lt;ipv4_address&gt;"/>
          </return>
          <param name="it">
            <type class="lvalue-reference">
              <pointee-type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </pointee-type>
            </type>
          </param>
          <param name="end">
            <type class="pointer">
              <pointee-type name="char" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </struct>
      <variable name="ipv4_address_rule" id="M9SQbDZx89d7w32vLj4LMkyNHYI=">
        <file path="boost/url/rfc/ipv4_address_rule.hpp" line="72" class="def"/>
        <attr id="constexpr-kind" name="constexpr" value="1"/>
        <type id="ThFeztzCwOZfGy7pbVtTF+ss63E=" name="ipv4_address_rule_t" cv-qualifiers="const"/>
      </variable>
      <struct name="ipv6_address_rule_t" id="XpgtbwkWzg+FF4XWMbK3rTcjWtI=">
        <file path="boost/url/rfc/ipv6_address_rule.hpp" line="66" class="def"/>
        <alias name="value_type" id="4WdRm/Z6pWNt3W8f0i+br2EzppM=">
          <file path="boost/url/rfc/ipv6_address_rule.hpp" line="68" class="def"/>
          <type id="dhMSRVBIIIItY0URHSc8rwHcdTQ=" name="ipv6_address"/>
        </alias>
        <function name="parse" exception-spec="noexcept" id="+EbaMiYPq6jpYUcswJEVvp3qJj8=">
          <file path="boost/url/rfc/ipv6_address_rule.hpp" line="72"/>
          <attr id="has-trailing-return"/>
          <attr id="is-const"/>
          <return>
            <type name="system::result&lt;ipv6_address&gt;"/>
          </return>
          <param name="it">
            <type class="lvalue-reference">
              <pointee-type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </pointee-type>
            </type>
          </param>
          <param name="end">
            <type class="pointer">
              <pointee-type name="char" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </struct>
      <variable name="ipv6_address_rule" id="HNlbMWgGFyUa8zfk9rDcguyMilg=">
        <file path="boost/url/rfc/ipv6_address_rule.hpp" line="80" class="def"/>
        <attr id="constexpr-kind" name="constexpr" value="1"/>
        <type id="XpgtbwkWzg+FF4XWMbK3rTcjWtI=" name="ipv6_address_rule_t" cv-qualifiers="const"/>
      </variable>
      <function name="parse_absolute_uri" id="U3CVElRbcTcbg1JzOqhBCd5RSzM=">
        <file path="boost/url/parse.hpp" line="65"/>
        <return>
          <type name="system::result&lt;url_view&gt;"/>
        </return>
        <param name="s">
          <type name="core::string_view"/>
        </param>
        <doc>
          <para>
            <text>Return a reference to a parsed URL string</text>
          </para>
          <para>
            <text>This function parses a string according</text>
            <text>    to the grammar below and returns a view</text>
            <text>    referencing the passed string upon success,</text>
            <text>    else returns an error.</text>
            <text>    Ownership of the string is not transferred;</text>
            <text>    the caller is responsible for ensuring that</text>
            <text>    the lifetime of the character buffer extends</text>
            <text>    until the view is no longer being accessed.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    system::result&lt; url_view &gt; rv = parse_absolute_uri( &quot;http://example.com/index.htm?id=1&quot; );</text>
          </code>
          <head>BNF</head>
          <code>
            <text>    absolute-URI    = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ]</text>
            <text></text>
            <text>    hier-part       = &quot;//&quot; authority path-abempty</text>
            <text>                    / path-absolute</text>
            <text>                    / path-rootless</text>
            <text>                    / path-empty</text>
          </code>
          <throws>
            <text>`s.size() &gt; url_view::max_size`</text>
          </throws>
          <returns>
            <text>A </text>
            <reference>result</reference>
            <text> containing a value or an error</text>
          </returns>
          <param name="s">
            <text>The string to parse</text>
          </param>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.3">4.3. Absolute URI (rfc3986)</link>
          </listitem>
          <see>
            <reference id="J4f05lEg7oi89R2SkpRaYiBhCIQ=">parse_origin_form</reference>
            <text>,</text>
            <reference id="QFzcl8vSLEeKOEO6w3mv1zGqX3k=">parse_relative_ref</reference>
            <text>,</text>
            <reference id="f+9kR517VGSM5ZPoS7g/RFb0g/0=">parse_uri</reference>
            <text>,</text>
            <reference id="7d2b1xVBWJPgL/+PWFdoBaZJvMA=">parse_uri_reference</reference>
            <text>,</text>
            <reference id="wh3UbUToX9YDmRmnpcoM9EUEZo8=">url_view</reference>
            <text>.</text>
          </see>
        </doc>
      </function>
      <function name="parse_origin_form" id="J4f05lEg7oi89R2SkpRaYiBhCIQ=">
        <file path="boost/url/parse.hpp" line="112"/>
        <return>
          <type name="system::result&lt;url_view&gt;"/>
        </return>
        <param name="s">
          <type name="core::string_view"/>
        </param>
        <doc>
          <para>
            <text>Return a reference to a parsed URL string</text>
          </para>
          <para>
            <text>This function parses a string according</text>
            <text>    to the grammar below and returns a view</text>
            <text>    referencing the passed string upon success,</text>
            <text>    else returns an error.</text>
            <text>    Ownership of the string is not transferred;</text>
            <text>    the caller is responsible for ensuring that</text>
            <text>    the lifetime of the character buffer extends</text>
            <text>    until the view is no longer being accessed.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    system::result&lt; url_view &gt; = parse_origin_form( &quot;/index.htm?layout=mobile&quot; );</text>
          </code>
          <head>BNF</head>
          <code>
            <text>    origin-form    = absolute-path [ &quot;?&quot; query ]</text>
            <text></text>
            <text>    absolute-path = 1*( &quot;/&quot; segment )</text>
          </code>
          <throws>
            <text>`s.size() &gt; url_view::max_size`</text>
          </throws>
          <returns>
            <text>A </text>
            <reference>result</reference>
            <text> containing a value or an error</text>
          </returns>
          <param name="s">
            <text>The string to parse</text>
          </param>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc7230#section-5.3.1">5.3.1.  origin-form (rfc7230)</link>
          </listitem>
          <see>
            <reference id="U3CVElRbcTcbg1JzOqhBCd5RSzM=">parse_absolute_uri</reference>
            <text>,</text>
            <reference id="QFzcl8vSLEeKOEO6w3mv1zGqX3k=">parse_relative_ref</reference>
            <text>,</text>
            <reference id="f+9kR517VGSM5ZPoS7g/RFb0g/0=">parse_uri</reference>
            <text>,</text>
            <reference id="7d2b1xVBWJPgL/+PWFdoBaZJvMA=">parse_uri_reference</reference>
            <text>,</text>
            <reference id="wh3UbUToX9YDmRmnpcoM9EUEZo8=">url_view</reference>
            <text>.</text>
          </see>
        </doc>
      </function>
      <function name="parse_relative_ref" id="QFzcl8vSLEeKOEO6w3mv1zGqX3k=">
        <file path="boost/url/parse.hpp" line="165"/>
        <return>
          <type name="system::result&lt;url_view&gt;"/>
        </return>
        <param name="s">
          <type name="core::string_view"/>
        </param>
        <doc>
          <para>
            <text>Return a reference to a parsed URL string</text>
          </para>
          <para>
            <text>This function parses a string according</text>
            <text>    to the grammar below and returns a view</text>
            <text>    referencing the passed string upon success,</text>
            <text>    else returns an error.</text>
            <text>    Ownership of the string is not transferred;</text>
            <text>    the caller is responsible for ensuring that</text>
            <text>    the lifetime of the character buffer extends</text>
            <text>    until the view is no longer being accessed.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    system::result&lt; url_view &gt; = parse_relative_ref( &quot;images/dot.gif?v=hide#a&quot; );</text>
          </code>
          <head>BNF</head>
          <code>
            <text>    relative-ref  = relative-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
            <text></text>
            <text>    relative-part = &quot;//&quot; authority path-abempty</text>
            <text>                  / path-absolute</text>
            <text>                  / path-noscheme</text>
            <text>                  / path-abempty</text>
            <text>                  / path-empty</text>
          </code>
          <returns>
            <text>A </text>
            <reference>result</reference>
            <text> containing a value or an error</text>
          </returns>
          <param name="s">
            <text>The string to parse</text>
          </param>
          <throws>
            <text>`s.size() &gt; url_view::max_size`</text>
          </throws>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.2">4.2. Relative Reference (rfc3986)</link>
          </listitem>
          <listitem>
            <link href="https://www.rfc-editor.org/errata/eid5428">Errata ID: 5428 (rfc3986)</link>
          </listitem>
          <see>
            <reference id="U3CVElRbcTcbg1JzOqhBCd5RSzM=">parse_absolute_uri</reference>
            <text>,</text>
            <reference id="J4f05lEg7oi89R2SkpRaYiBhCIQ=">parse_origin_form</reference>
            <text>,</text>
            <reference id="f+9kR517VGSM5ZPoS7g/RFb0g/0=">parse_uri</reference>
            <text>,</text>
            <reference id="7d2b1xVBWJPgL/+PWFdoBaZJvMA=">parse_uri_reference</reference>
            <text>,</text>
            <reference id="wh3UbUToX9YDmRmnpcoM9EUEZo8=">url_view</reference>
            <text>.</text>
          </see>
        </doc>
      </function>
      <function name="parse_uri" id="f+9kR517VGSM5ZPoS7g/RFb0g/0=">
        <file path="boost/url/parse.hpp" line="215"/>
        <return>
          <type name="system::result&lt;url_view&gt;"/>
        </return>
        <param name="s">
          <type name="core::string_view"/>
        </param>
        <doc>
          <para>
            <text>Return a reference to a parsed URL string</text>
          </para>
          <para>
            <text>This function parses a string according</text>
            <text>    to the grammar below and returns a view</text>
            <text>    referencing the passed string upon success,</text>
            <text>    else returns an error.</text>
            <text>    Ownership of the string is not transferred;</text>
            <text>    the caller is responsible for ensuring that</text>
            <text>    the lifetime of the character buffer extends</text>
            <text>    until the view is no longer being accessed.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    system::result&lt; url_view &gt; = parse_uri( &quot;https://www.example.com/index.htm?id=guest#s1&quot; );</text>
          </code>
          <head>BNF</head>
          <code>
            <text>    URI           = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
            <text></text>
            <text>    hier-part     = &quot;//&quot; authority path-abempty</text>
            <text>                  / path-absolute</text>
            <text>                  / path-rootless</text>
            <text>                  / path-empty</text>
          </code>
          <throws>
            <text>`s.size() &gt; url_view::max_size`</text>
          </throws>
          <returns>
            <text>A </text>
            <reference>result</reference>
            <text> containing a value or an error</text>
          </returns>
          <param name="s">
            <text>The string to parse</text>
          </param>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-3">3. Syntax Components (rfc3986)</link>
          </listitem>
          <see>
            <reference id="U3CVElRbcTcbg1JzOqhBCd5RSzM=">parse_absolute_uri</reference>
            <text>,</text>
            <reference id="J4f05lEg7oi89R2SkpRaYiBhCIQ=">parse_origin_form</reference>
            <text>,</text>
            <reference id="QFzcl8vSLEeKOEO6w3mv1zGqX3k=">parse_relative_ref</reference>
            <text>,</text>
            <reference id="7d2b1xVBWJPgL/+PWFdoBaZJvMA=">parse_uri_reference</reference>
            <text>,</text>
            <reference id="wh3UbUToX9YDmRmnpcoM9EUEZo8=">url_view</reference>
            <text>.</text>
          </see>
        </doc>
      </function>
      <function name="parse_uri_reference" id="7d2b1xVBWJPgL/+PWFdoBaZJvMA=">
        <file path="boost/url/parse.hpp" line="277"/>
        <return>
          <type name="system::result&lt;url_view&gt;"/>
        </return>
        <param name="s">
          <type name="core::string_view"/>
        </param>
        <doc>
          <para>
            <text>Return a reference to a parsed URL string</text>
          </para>
          <para>
            <text>This function parses a string according</text>
            <text>    to the grammar below and returns a view</text>
            <text>    referencing the passed string upon success,</text>
            <text>    else returns an error.</text>
            <text>    Ownership of the string is not transferred;</text>
            <text>    the caller is responsible for ensuring that</text>
            <text>    the lifetime of the character buffer extends</text>
            <text>    until the view is no longer being accessed.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    system::result&lt; url_view &gt; = parse_uri_reference( &quot;ws://echo.example.com/?name=boost#demo&quot; );</text>
          </code>
          <head>BNF</head>
          <code>
            <text>    URI-reference = URI / relative-ref</text>
            <text></text>
            <text>    URI           = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
            <text></text>
            <text>    relative-ref  = relative-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
            <text></text>
            <text>    hier-part     = &quot;//&quot; authority path-abempty</text>
            <text>                  / path-absolute</text>
            <text>                  / path-rootless</text>
            <text>                  / path-empty</text>
            <text></text>
            <text>    relative-part = &quot;//&quot; authority path-abempty</text>
            <text>                  / path-absolute</text>
            <text>                  / path-noscheme</text>
            <text>                  / path-abempty</text>
            <text>                  / path-empty</text>
          </code>
          <throws>
            <text>`s.size() &gt; url_view::max_size`</text>
          </throws>
          <returns>
            <text>A </text>
            <reference>result</reference>
            <text> containing a value or an error</text>
          </returns>
          <param name="s">
            <text>The string to parse</text>
          </param>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.1">4.1. URI Reference (rfc3986)</link>
          </listitem>
          <listitem>
            <link href="https://www.rfc-editor.org/errata/eid5428">Errata ID: 5428 (rfc3986)</link>
          </listitem>
          <see>
            <reference id="U3CVElRbcTcbg1JzOqhBCd5RSzM=">parse_absolute_uri</reference>
            <text>,</text>
            <reference id="J4f05lEg7oi89R2SkpRaYiBhCIQ=">parse_origin_form</reference>
            <text>,</text>
            <reference id="QFzcl8vSLEeKOEO6w3mv1zGqX3k=">parse_relative_ref</reference>
            <text>,</text>
            <reference id="f+9kR517VGSM5ZPoS7g/RFb0g/0=">parse_uri</reference>
            <text>,</text>
            <reference id="wh3UbUToX9YDmRmnpcoM9EUEZo8=">url_view</reference>
            <text>.</text>
          </see>
        </doc>
      </function>
      <struct name="absolute_uri_rule_t" id="lRxL4R5AeGIHLXytWgIi3Rng0C4=">
        <file path="boost/url/rfc/absolute_uri_rule.hpp" line="55" class="def"/>
        <alias name="value_type" id="TiS11Gc9Y/xFDlxDXippekiO0lA=">
          <file path="boost/url/rfc/absolute_uri_rule.hpp" line="57" class="def"/>
          <type id="wh3UbUToX9YDmRmnpcoM9EUEZo8=" name="url_view"/>
        </alias>
        <function name="parse" exception-spec="noexcept" id="ZsQhB0BnxSXkTz4VVl01oiG/fN8=">
          <file path="boost/url/rfc/absolute_uri_rule.hpp" line="60"/>
          <attr id="has-trailing-return"/>
          <attr id="is-const"/>
          <return>
            <type name="system::result&lt;value_type&gt;"/>
          </return>
          <param name="it">
            <type class="lvalue-reference">
              <pointee-type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </pointee-type>
            </type>
          </param>
          <param name="end">
            <type class="pointer">
              <pointee-type name="char" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </struct>
      <variable name="absolute_uri_rule" id="Dl44f5krTs6Rv9eZ3O7a3LrSC7Q=">
        <file path="boost/url/rfc/absolute_uri_rule.hpp" line="68" class="def"/>
        <attr id="constexpr-kind" name="constexpr" value="1"/>
        <type id="lRxL4R5AeGIHLXytWgIi3Rng0C4=" name="absolute_uri_rule_t" cv-qualifiers="const"/>
      </variable>
      <struct name="relative_ref_rule_t" id="oxwlfzMfXp8tArQErvhPnGK092U=">
        <file path="boost/url/rfc/relative_ref_rule.hpp" line="50" class="def"/>
        <alias name="value_type" id="oxztOF15ZJVE/D60Rl/DI3AC/Zs=">
          <file path="boost/url/rfc/relative_ref_rule.hpp" line="52" class="def"/>
          <type id="wh3UbUToX9YDmRmnpcoM9EUEZo8=" name="url_view"/>
        </alias>
        <function name="parse" exception-spec="noexcept" id="P5mQmRqtRBzKD2tV4HKEggPgBI0=">
          <file path="boost/url/rfc/relative_ref_rule.hpp" line="55"/>
          <attr id="has-trailing-return"/>
          <attr id="is-const"/>
          <return>
            <type name="system::result&lt;value_type&gt;"/>
          </return>
          <param name="it">
            <type class="lvalue-reference">
              <pointee-type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </pointee-type>
            </type>
          </param>
          <param name="end">
            <type class="pointer">
              <pointee-type name="char" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </struct>
      <variable name="relative_ref_rule" id="SMHCvo8zmYWXaMRwpIb2LkyRmJE=">
        <file path="boost/url/rfc/relative_ref_rule.hpp" line="63" class="def"/>
        <attr id="constexpr-kind" name="constexpr" value="1"/>
        <type id="oxwlfzMfXp8tArQErvhPnGK092U=" name="relative_ref_rule_t" cv-qualifiers="const"/>
      </variable>
      <struct name="uri_rule_t" id="glfqfqHgwGDyWfZ23RTLpYjc2mg=">
        <file path="boost/url/rfc/uri_rule.hpp" line="50" class="def"/>
        <alias name="value_type" id="HvXVZ7F1CIIoth5YViGpXGdo13I=">
          <file path="boost/url/rfc/uri_rule.hpp" line="52" class="def"/>
          <type id="wh3UbUToX9YDmRmnpcoM9EUEZo8=" name="url_view"/>
        </alias>
        <function name="parse" exception-spec="noexcept" id="4fx6gWBo7XT/+U8sjH3zI9Cruqs=">
          <file path="boost/url/rfc/uri_rule.hpp" line="55"/>
          <attr id="has-trailing-return"/>
          <attr id="is-const"/>
          <return>
            <type name="system::result&lt;value_type&gt;"/>
          </return>
          <param name="it">
            <type class="lvalue-reference">
              <pointee-type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </pointee-type>
            </type>
          </param>
          <param name="end">
            <type class="pointer" cv-qualifiers="const">
              <pointee-type name="char" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </struct>
      <variable name="uri_rule" id="AL2wo0R+80Md4UIYeUHuHTClsvI=">
        <file path="boost/url/rfc/uri_rule.hpp" line="63" class="def"/>
        <attr id="constexpr-kind" name="constexpr" value="1"/>
        <type id="glfqfqHgwGDyWfZ23RTLpYjc2mg=" name="uri_rule_t" cv-qualifiers="const"/>
      </variable>
      <struct name="uri_reference_rule_t" id="ZiuWQeshVm8qLQcd+8RLwlH/hWI=">
        <file path="boost/url/rfc/uri_reference_rule.hpp" line="53" class="def"/>
        <alias name="value_type" id="TWWA98ZX5Mq4EX2GEVlmO12N3aE=">
          <file path="boost/url/rfc/uri_reference_rule.hpp" line="55" class="def"/>
          <type id="wh3UbUToX9YDmRmnpcoM9EUEZo8=" name="url_view"/>
        </alias>
        <function name="parse" exception-spec="noexcept" id="r+OPINLYERDw014ZtsEAhjJYh+o=">
          <file path="boost/url/rfc/uri_reference_rule.hpp" line="58"/>
          <attr id="has-trailing-return"/>
          <attr id="is-const"/>
          <return>
            <type name="system::result&lt;value_type&gt;"/>
          </return>
          <param name="it">
            <type class="lvalue-reference">
              <pointee-type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </pointee-type>
            </type>
          </param>
          <param name="end">
            <type class="pointer">
              <pointee-type name="char" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </struct>
      <variable name="uri_reference_rule" id="S1qIdty2BzQiH3cIDwP1tc/RJzM=">
        <file path="boost/url/rfc/uri_reference_rule.hpp" line="66" class="def"/>
        <attr id="constexpr-kind" name="constexpr" value="1"/>
        <type id="ZiuWQeshVm8qLQcd+8RLwlH/hWI=" name="uri_reference_rule_t" cv-qualifiers="const"/>
      </variable>
      <struct name="origin_form_rule_t" id="aaJphowS2GKb+IoU5cwsbTri2mc=">
        <file path="boost/url/rfc/origin_form_rule.hpp" line="53" class="def"/>
        <alias name="value_type" id="2WFBzHJTNlgvxBjqEVSYr69PGUE=">
          <file path="boost/url/rfc/origin_form_rule.hpp" line="55" class="def"/>
          <type id="wh3UbUToX9YDmRmnpcoM9EUEZo8=" name="url_view"/>
        </alias>
        <function name="parse" exception-spec="noexcept" id="ngdpuXpD7TEpWtT6m13zuG9ilJE=">
          <file path="boost/url/rfc/origin_form_rule.hpp" line="59"/>
          <attr id="is-const"/>
          <return>
            <type name="system::result&lt;value_type&gt;"/>
          </return>
          <param name="it">
            <type class="lvalue-reference">
              <pointee-type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </pointee-type>
            </type>
          </param>
          <param name="end">
            <type class="pointer">
              <pointee-type name="char" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </struct>
      <variable name="origin_form_rule" id="OcsMoOaveJYE4BsIULPH99xoV2w=">
        <file path="boost/url/rfc/origin_form_rule.hpp" line="66" class="def"/>
        <attr id="constexpr-kind" name="constexpr" value="1"/>
        <type id="aaJphowS2GKb+IoU5cwsbTri2mc=" name="origin_form_rule_t" cv-qualifiers="const"/>
      </variable>
      <struct name="query_rule_t" id="4LQeWkU+lXGc3aKgoN9zMoQACoM=">
        <file path="boost/url/rfc/query_rule.hpp" line="60" class="def"/>
        <alias name="value_type" id="s6BoEeC4pcWL9vqhxcvvBawBrmE=">
          <file path="boost/url/rfc/query_rule.hpp" line="62" class="def"/>
          <type id="0nSfM4mK92fIx58KtzdWGiHuq2w=" name="params_encoded_view"/>
        </alias>
        <function name="parse" exception-spec="noexcept" id="ANM70kjSHnpNz83UAlu7NTlYPaA=">
          <file path="boost/url/rfc/query_rule.hpp" line="65"/>
          <attr id="is-const"/>
          <return>
            <type name="system::result&lt;value_type&gt;"/>
          </return>
          <param name="it">
            <type class="lvalue-reference">
              <pointee-type class="pointer">
                <pointee-type name="char" cv-qualifiers="const"/>
              </pointee-type>
            </type>
          </param>
          <param name="end">
            <type class="pointer">
              <pointee-type name="char" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </struct>
      <variable name="query_rule" id="6a/9GskAZnBXlwr4d3UtNR0aCNQ=">
        <file path="boost/url/rfc/query_rule.hpp" line="72" class="def"/>
        <attr id="constexpr-kind" name="constexpr" value="1"/>
        <type id="4LQeWkU+lXGc3aKgoN9zMoQACoM=" name="query_rule_t" cv-qualifiers="const"/>
      </variable>
      <template>
        <tparam name="Capacity" class="non-type" type="std::size_t"/>
        <class name="static_url" id="4HBDcnMjZthTXFnhpS7z+UhDNjA=">
          <file path="boost/url/static_url.hpp" line="107" class="def"/>
          <file path="boost/url/static_url.hpp" line="24"/>
          <base>
            <type id="dmsqdje8dXFRFgNB9wxOs9Y5nb8=" name="static_url_base"/>
          </base>
          <doc>
            <para>
              <text>A modifiable container for a URL.</text>
            </para>
            <para>
              <text>This container owns a url, represented</text>
              <text>    by an inline, null-terminated character</text>
              <text>    buffer with fixed capacity.</text>
              <text>    The contents may be inspected and modified,</text>
              <text>    and the implementation maintains a useful</text>
              <text>    invariant: changes to the url always</text>
              <text>    leave it in a valid state.</text>
            </para>
            <head>Example</head>
            <code>
              <text>    static_url&lt; 1024 &gt; u( &quot;https://www.example.com&quot; );</text>
            </code>
            <head>Invariants</head>
            <code>
              <text>    this-&gt;capacity() == Capacity + 1</text>
            </code>
            <tparam name="Capacity">
              <text>The maximum capacity</text>
              <text>    in characters, not including the</text>
              <text>    null terminator.</text>
            </tparam>
            <see>
              <reference id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=">url</reference>
              <text>,</text>
              <reference id="wh3UbUToX9YDmRmnpcoM9EUEZo8=">url_view</reference>
              <text>.</text>
            </see>
          </doc>
          <function class="destructor" name="~static_url" id="UJqneUQSMdwOiE39fVUkGksoIMI=">
            <file path="boost/url/static_url.hpp" line="130" class="def"/>
            <attr id="is-defaulted"/>
            <attr id="is-explicitly-defaulted"/>
            <doc>
              <para>
                <text>Destructor</text>
              </para>
              <para>
                <text>Any params, segments, iterators, or</text>
                <text>        views which reference this object are</text>
                <text>        invalidated. The underlying character</text>
                <text>        buffer is destroyed, invalidating all</text>
                <text>        references to it.</text>
              </para>
            </doc>
          </function>
          <function class="constructor" name="static_url" exception-spec="noexcept" id="mEkgYHAc/HYClOyXcF9nTEfpbP4=">
            <file path="boost/url/static_url.hpp" line="165" class="def"/>
            <doc>
              <para>
                <text>Constructor</text>
              </para>
              <para>
                <text>Default constructed urls contain</text>
                <text>        a zero-length string. This matches</text>
                <text>        the grammar for a relative-ref with</text>
                <text>        an empty path and no query or</text>
                <text>        fragment.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        static_url&lt; 1024 &gt; u;</text>
              </code>
              <head>Postconditions</head>
              <code>
                <text>        this-&gt;empty() == true</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Constant.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Throws nothing.</text>
              </para>
              <head>BNF</head>
              <code>
                <text>        relative-ref  = relative-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
              </code>
              <head>Specification</head>
              <para>
                <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.2">4.2. Relative Reference (rfc3986)</link>
              </para>
            </doc>
          </function>
          <function class="constructor" name="static_url" explicit-spec="explicit" id="ggZkLD7wiXC1v7fr28mqgIniaL0=">
            <file path="boost/url/static_url.hpp" line="217" class="def"/>
            <param name="s">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <text>Constructor</text>
              </para>
              <para>
                <text>This function constructs a url from</text>
                <text>        the string `s`, which must contain a</text>
                <text>        valid</text>
                <italic>URI</italic>
                <text> or</text>
                <italic>relative-ref</italic>
                <text>        or else an exception is thrown.</text>
                <text>        The new url retains ownership by</text>
                <text>        making a copy of the passed string.</text>
              </para>
              <head>Example</head>
              <code>
                <text>        static_url&lt; 1024 &gt; u( &quot;https://www.example.com&quot; );</text>
              </code>
              <head>Effects</head>
              <code>
                <text>        return static_url( parse_uri_reference( s ).value() );</text>
              </code>
              <head>Postconditions</head>
              <code>
                <text>        this-&gt;buffer().data() != s.data()</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `s.size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Exceptions thrown on invalid input.</text>
              </para>
              <throws>
                <text>        The input does not contain a valid url.</text>
              </throws>
              <param name="s">
                <text>The string to parse.</text>
              </param>
              <head>BNF</head>
              <code>
                <text>        URI           = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
                <text></text>
                <text>        relative-ref  = relative-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]</text>
              </code>
              <head>Specification</head>
              <listitem>
                <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.1">4.1. URI Reference</link>
              </listitem>
            </doc>
          </function>
          <function class="constructor" name="static_url" exception-spec="noexcept" id="n2/to9j8CotfITBMUa6mO/VikSc=">
            <file path="boost/url/static_url.hpp" line="243" class="def"/>
            <param name="u">
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Constructor</text>
              </para>
              <para>
                <text>The newly constructed object contains</text>
                <text>        a copy of `u`.</text>
              </para>
              <head>Postconditions</head>
              <code>
                <text>        this-&gt;buffer() == u.buffer() &amp;&amp; this-&gt;buffer.data() != u.buffer().data()</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `u.size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Exception thrown if maximum size exceeded.</text>
              </para>
              <param name="u">
                <text>The url to copy.</text>
              </param>
            </doc>
          </function>
          <function class="constructor" name="static_url" id="vNUaO1bY7ac8xTQ7BeZb6STvikU=">
            <file path="boost/url/static_url.hpp" line="271" class="def"/>
            <param name="u">
              <type class="lvalue-reference">
                <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Constructor</text>
              </para>
              <para>
                <text>The newly constructed object contains</text>
                <text>        a copy of `u`.</text>
              </para>
              <head>Postconditions</head>
              <code>
                <text>        this-&gt;buffer() == u.buffer() &amp;&amp; this-&gt;buffer.data() != u.buffer().data()</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `u.size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Exception thrown if capacity exceeded.</text>
              </para>
              <throws>
                <text>        Capacity would be exceeded.</text>
              </throws>
              <param name="u">
                <text>The url to copy.</text>
              </param>
            </doc>
          </function>
          <function name="operator=" exception-spec="noexcept" id="ZbZVVtfA1JKtM1dcN2cV7GcXCZY=">
            <file path="boost/url/static_url.hpp" line="298" class="def"/>
            <attr id="operator" name="assign" value="15"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="u">
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Assignment</text>
              </para>
              <para>
                <text>The contents of `u` are copied and</text>
                <text>        the previous contents of `this` are</text>
                <text>        discarded.</text>
                <text>        Capacity remains unchanged.</text>
              </para>
              <head>Postconditions</head>
              <code>
                <text>        this-&gt;buffer() == u.buffer() &amp;&amp; this-&gt;buffer().data() != u.buffer().data()</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `u.size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Throws nothing.</text>
              </para>
              <param name="u">
                <text>The url to copy.</text>
              </param>
            </doc>
          </function>
          <function name="operator=" id="xHg0bhQF0gPax0+KtdpIwbK2efA=">
            <file path="boost/url/static_url.hpp" line="330" class="def"/>
            <attr id="operator" name="assign" value="15"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="u">
              <type class="lvalue-reference">
                <pointee-type id="UEVNhDEjkZMXfjN1DxbtX0n2rCg=" name="url_view_base" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <text>Assignment</text>
              </para>
              <para>
                <text>The contents of `u` are copied and</text>
                <text>        the previous contents of `this` are</text>
                <text>        discarded.</text>
              </para>
              <head>Postconditions</head>
              <code>
                <text>        this-&gt;buffer() == u.buffer() &amp;&amp; this-&gt;buffer().data() != u.buffer().data()</text>
              </code>
              <head>Complexity</head>
              <para>
                <text>        Linear in `u.size()`.</text>
              </para>
              <head>Exception Safety</head>
              <para>
                <text>        Strong guarantee.</text>
                <text>        Exception thrown if capacity exceeded.</text>
              </para>
              <throws>
                <text>        Capacity would be exceeded.</text>
              </throws>
              <param name="u">
                <text>The url to copy.</text>
              </param>
            </doc>
          </function>
          <function name="set_scheme" id="Lc5XBzZs/ayxU18Djd6Q0BHFWv4=">
            <file path="boost/url/static_url.hpp" line="345" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="rKQfFZ6dfzeuSqZL+PgPNpIFQ5g=">url_base::set_scheme</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_scheme_id" id="rtAxCFit/TGmjKYS6TFVsrBNQEI=">
            <file path="boost/url/static_url.hpp" line="347" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="id">
              <type id="P7uOjuAMILimKGOcbjDUSpMAL/U=" name="urls::scheme"/>
            </param>
            <doc>
              <para>
                <copydoc id="iuTF0vS1Knzl0Hxr4iVhx35Fzdk=">url_base::set_scheme_id</copydoc>
              </para>
            </doc>
          </function>
          <function name="remove_scheme" id="RDtnbPaPAWgiqF4O91xaQbfnghQ=">
            <file path="boost/url/static_url.hpp" line="349" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <doc>
              <para>
                <copydoc id="1N2Tt1DokczwHdRgAZiZzhPQr4E=">url_base::remove_scheme</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_encoded_authority" id="vlMSELWXcWTwdf2/dZGlv0TYnHA=">
            <file path="boost/url/static_url.hpp" line="352" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="VTO/x6AChJRFyjVKxhaqmIAvYFI=">url_base::set_encoded_authority</copydoc>
              </para>
            </doc>
          </function>
          <function name="remove_authority" id="MPuGLe4mCyOKSSQn7S4dh3SMX90=">
            <file path="boost/url/static_url.hpp" line="354" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <doc>
              <para>
                <copydoc id="cjTKMEM0IWRzDexmJAiWOj6P+ZI=">url_base::remove_authority</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_userinfo" id="he1jodL9CeOuw4MBdmIdXvYfXMk=">
            <file path="boost/url/static_url.hpp" line="357" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="s+5EFNaQxZ6HMzMRElE8AAODpm8=">url_base::set_userinfo</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_encoded_userinfo" id="c4/wDJ3igTWJNUnNsXC3LS2Fazc=">
            <file path="boost/url/static_url.hpp" line="359" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="MLv0mdC6EhrEgdnFiOF+W8sw0/c=">url_base::set_encoded_userinfo</copydoc>
              </para>
            </doc>
          </function>
          <function name="remove_userinfo" exception-spec="noexcept" id="mFEIJCpzEh4h8vUKHZxjlOuZoao=">
            <file path="boost/url/static_url.hpp" line="361" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <doc>
              <para>
                <copydoc id="PjTTglJlJuEwKHuRXGByi7wW8W8=">url_base::remove_userinfo</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_user" id="C6kqHeeHWCV8aBfJIaZHzF3nxi4=">
            <file path="boost/url/static_url.hpp" line="363" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="GWy3y66sOX4ov+Eh3hxNRVsAEwY=">url_base::set_user</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_encoded_user" id="ScaSqMYZdNZbpN1CvNkkcKQ/mBY=">
            <file path="boost/url/static_url.hpp" line="365" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="YNLJGohUXCdL6mo1PM3ms9pRQyE=">url_base::set_encoded_user</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_password" id="sIGA8IQp3kSw3ip4pm7lmc1s9C4=">
            <file path="boost/url/static_url.hpp" line="367" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="blkDquwzHtk7o5mJf/hdeY15zWg=">url_base::set_password</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_encoded_password" id="mUCYlTgG9KMapdW4rMNGGyUC2eY=">
            <file path="boost/url/static_url.hpp" line="369" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="qF7dDBIf4KkHxSuysLw1EJNSh2Y=">url_base::set_encoded_password</copydoc>
              </para>
            </doc>
          </function>
          <function name="remove_password" exception-spec="noexcept" id="MQlcavJoBHnGjmgTMowtBTZ9n5A=">
            <file path="boost/url/static_url.hpp" line="371" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <doc>
              <para>
                <copydoc id="M5RIQPf9vzlN+m4Qn0PDNFKy8ak=">url_base::remove_password</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_host" id="c6/kyTU/r4vjSPQM1DnwtnTv3/o=">
            <file path="boost/url/static_url.hpp" line="374" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="lhYybwvylnG/ieiGmyVfyExN3dw=">url_base::set_host</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_encoded_host" id="WTVVGr7kT7qnFaI6e/getY73eAI=">
            <file path="boost/url/static_url.hpp" line="376" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="OgEcjvMpUkw5cqqrotx6BNVfYuA=">url_base::set_encoded_host</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_host_address" id="TGaSnQ4PS0WINemStJIm4VLR0rI=">
            <file path="boost/url/static_url.hpp" line="378" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="ut25mVfVRShtv19Mg+nvS5jVATc=">url_base::set_host_address</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_encoded_host_address" id="jlXXuOvH7OFDJ92kr+Ha02sixZY=">
            <file path="boost/url/static_url.hpp" line="380" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="51fvhkKEd4+UZEBsnLd4vUL/Svw=">url_base::set_encoded_host_address</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_host_ipv4" id="J2yY5s29/Vm0kL+xtvGZMflIdkI=">
            <file path="boost/url/static_url.hpp" line="382" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="addr">
              <type class="lvalue-reference">
                <pointee-type id="/Wpp3ZZDp3kUHzbULeDoaOEhnVs=" name="ipv4_address" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <copydoc id="Cn5GM3RJyUENDJ/d6LnYVW+gkA4=">url_base::set_host_ipv4</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_host_ipv6" id="Guwgs2WWqZMqTOkuQucJUI0fpO8=">
            <file path="boost/url/static_url.hpp" line="384" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="addr">
              <type class="lvalue-reference">
                <pointee-type id="dhMSRVBIIIItY0URHSc8rwHcdTQ=" name="ipv6_address" cv-qualifiers="const"/>
              </type>
            </param>
            <doc>
              <para>
                <copydoc id="BryTExdDEUoZs6riyC1Qi0/NtPE=">url_base::set_host_ipv6</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_host_ipvfuture" id="6YBmlxPZA2kZSlYjMb1sLD6KrGQ=">
            <file path="boost/url/static_url.hpp" line="386" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="BQxPHhB2Uv0OyVbWf3e7/seXVX8=">url_base::set_host_ipvfuture</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_host_name" id="UaE/Nbim4fGJNSgi8xJbANtFuso=">
            <file path="boost/url/static_url.hpp" line="388" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="Pt4icJRgJxULgQjbXV6yzBigNl8=">url_base::set_host_name</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_encoded_host_name" id="vyW7/09OitF6fXON1o2ftFzwX0Y=">
            <file path="boost/url/static_url.hpp" line="390" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="Lz8KFSebh4YuJuAAf0STYQ/VPqk=">url_base::set_encoded_host_name</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_port_number" id="vvvc+qpbS5HUTGzLHaY+KnnRbGQ=">
            <file path="boost/url/static_url.hpp" line="392" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="n">
              <type name="std::uint16_t"/>
            </param>
            <doc>
              <para>
                <copydoc id="4bptcCq14NmzqKQvnx54lE+28F0=">url_base::set_port_number</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_port" id="ay+XTyyJRSCsLBhW5JNwRtngbwo=">
            <file path="boost/url/static_url.hpp" line="394" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="p1q1Ba+a+naWvTDfBuMPt0DJw2A=">url_base::set_port</copydoc>
              </para>
            </doc>
          </function>
          <function name="remove_port" exception-spec="noexcept" id="0MEk6Ddnsq5FQhANarFWyfhL4/M=">
            <file path="boost/url/static_url.hpp" line="396" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <doc>
              <para>
                <copydoc id="ADa0xIsiS8APEAdL3+s0LoNowA8=">url_base::remove_port</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_path" id="VqDEXtjQm5PewYuAWxjhVpm2+MY=">
            <file path="boost/url/static_url.hpp" line="401" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="0VMn4mT6ruiabbTCXyOFe+JATBg=">url_base::set_path</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_encoded_path" id="ZtNFxErPLOzV+1Hgm4Z5rSqtm00=">
            <file path="boost/url/static_url.hpp" line="403" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="GQGd+Ne+D3eTy4fe+x1cpa5zefU=">url_base::set_encoded_path</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_query" id="4zoimIYzrVVdns97BxYUtHZkP8w=">
            <file path="boost/url/static_url.hpp" line="406" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="99/QTSBQGLrNj3zGdw5VzYlqfnI=">url_base::set_query</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_encoded_query" id="4AIKM/5iinX3DS4QhIO4XJUfuzw=">
            <file path="boost/url/static_url.hpp" line="408" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="QcQ13DUh8M8TR/zj/LDG3N/+i3c=">url_base::set_encoded_query</copydoc>
              </para>
            </doc>
          </function>
          <function name="remove_query" exception-spec="noexcept" id="IYZqU1YD/Yk8eV1APcJAB1m/E/M=">
            <file path="boost/url/static_url.hpp" line="410" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <doc>
              <para>
                <copydoc id="ZZWEzCK7DguUxc3TvUfizoGKplE=">url_base::remove_query</copydoc>
              </para>
            </doc>
          </function>
          <function name="remove_fragment" exception-spec="noexcept" id="vlLHNM13ymUzmjWB6UhixNSj74k=">
            <file path="boost/url/static_url.hpp" line="413" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <doc>
              <para>
                <copydoc id="aGhIz5PP9XtdztICzhAvM4n92Sg=">url_base::remove_fragment</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_fragment" id="+4IRFmcYy74cW/dNQ+7qmhQ1mdU=">
            <file path="boost/url/static_url.hpp" line="415" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type name="core::string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="VHh7zoCWGsviuG3lWYA54cKWneU=">url_base::set_fragment</copydoc>
              </para>
            </doc>
          </function>
          <function name="set_encoded_fragment" id="m72MkIEEYt8H1GVoxvQZHBwWY1A=">
            <file path="boost/url/static_url.hpp" line="417" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <param name="s">
              <type id="t9KlfUmMV/Lq0e5tGD9d/eCq+X0=" name="pct_string_view"/>
            </param>
            <doc>
              <para>
                <copydoc id="ebU9NPxh5c4VwDAaQA1CXRWbSKk=">url_base::set_encoded_fragment</copydoc>
              </para>
            </doc>
          </function>
          <function name="remove_origin" id="zpYwaJSR17hZMraeX0G0cTNJI68=">
            <file path="boost/url/static_url.hpp" line="420" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <doc>
              <para>
                <copydoc id="OqDHBYUjGSW4mGYuSUu09xFSlEc=">url_base::remove_origin</copydoc>
              </para>
            </doc>
          </function>
          <function name="normalize" id="L2Z21HVmwJtKqNOMTyQFY4JQ+1o=">
            <file path="boost/url/static_url.hpp" line="423" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <doc>
              <para>
                <copydoc id="ldUmQToJNGQ58j33Mti85clcGbM=">url_base::normalize</copydoc>
              </para>
            </doc>
          </function>
          <function name="normalize_scheme" id="QIsV9n6MWFnqA0MZenHn3zX9jt8=">
            <file path="boost/url/static_url.hpp" line="425" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <doc>
              <para>
                <copydoc id="iyO2AawtEbzXMJkvSocn7BpBBrI=">url_base::normalize_scheme</copydoc>
              </para>
            </doc>
          </function>
          <function name="normalize_authority" id="qk2f0tqyaZwxuSA2dS+0Zj9T+5w=">
            <file path="boost/url/static_url.hpp" line="427" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <doc>
              <para>
                <copydoc id="j2lB1y9ywFNpGt8xXYkZZuJbs30=">url_base::normalize_authority</copydoc>
              </para>
            </doc>
          </function>
          <function name="normalize_path" id="1gxbOWXXkNcHf0a7aqVLoeQbw4w=">
            <file path="boost/url/static_url.hpp" line="429" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <doc>
              <para>
                <copydoc id="pjVn3eVVaWNAixzkPBECE+lKByQ=">url_base::normalize_path</copydoc>
              </para>
            </doc>
          </function>
          <function name="normalize_query" id="bi805EoX8OTri5KIPxrlqmiZtE8=">
            <file path="boost/url/static_url.hpp" line="431" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <doc>
              <para>
                <copydoc id="4CZ8ebKgivCQbRJoYD78PmOko2U=">url_base::normalize_query</copydoc>
              </para>
            </doc>
          </function>
          <function name="normalize_fragment" id="9CJcPfVnJvVk0zBf34CB8xfETIg=">
            <file path="boost/url/static_url.hpp" line="433" class="def"/>
            <return>
              <type class="lvalue-reference">
                <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="static_url"/>
              </type>
            </return>
            <doc>
              <para>
                <copydoc id="R2y0tPa5JiRRSTNXgUjKdMoCOcA=">url_base::normalize_fragment</copydoc>
              </para>
            </doc>
          </function>
        </class>
      </template>
      <class name="static_url_base" id="dmsqdje8dXFRFgNB9wxOs9Y5nb8=">
        <file path="boost/url/static_url.hpp" line="52" class="def"/>
        <base>
          <type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
        </base>
        <doc>
          <para>
            <text>Common implementation for all static URLs</text>
          </para>
          <para>
            <text>This base class is used by the library</text>
            <text>    to provide common functionality for</text>
            <text>    static URLs. Users should not use this</text>
            <text>    class directly. Instead, construct an</text>
            <text>    instance of one of the containers</text>
            <text>    or call a parsing function.</text>
          </para>
          <head>Containers</head>
          <listitem>
            <reference id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=">url</reference>
          </listitem>
          <listitem>
            <reference id="wh3UbUToX9YDmRmnpcoM9EUEZo8=">url_view</reference>
          </listitem>
          <listitem>
            <reference id="4HBDcnMjZthTXFnhpS7z+UhDNjA=">static_url</reference>
          </listitem>
          <head>Parsing Functions</head>
          <listitem>
            <reference id="U3CVElRbcTcbg1JzOqhBCd5RSzM=">parse_absolute_uri</reference>
          </listitem>
          <listitem>
            <reference id="J4f05lEg7oi89R2SkpRaYiBhCIQ=">parse_origin_form</reference>
          </listitem>
          <listitem>
            <reference id="QFzcl8vSLEeKOEO6w3mv1zGqX3k=">parse_relative_ref</reference>
          </listitem>
          <listitem>
            <reference id="f+9kR517VGSM5ZPoS7g/RFb0g/0=">parse_uri</reference>
          </listitem>
          <listitem>
            <reference id="7d2b1xVBWJPgL/+PWFdoBaZJvMA=">parse_uri_reference</reference>
          </listitem>
        </doc>
      </class>
      <alias name="string_view" id="eTmWJVJVu1SBdk3eyejLHvdkz6o=">
        <file path="boost/url/string_view.hpp" line="45" class="def"/>
        <type name="boost::core::string_view"/>
        <doc>
          <para>
            <text>The type of string_view used by the library</text>
          </para>
          <para>
            <text>String views are used to pass character</text>
            <text>    buffers into or out of functions. Ownership</text>
            <text>    of the underlying character buffer is not</text>
            <text>    transferred; the caller is responsible for</text>
            <text>    ensuring that the lifetime of character</text>
            <text>    buffer extends until it is no longer</text>
            <text>    referenced.</text>
          </para>
          <para class="warning">
            <text>This alias is no longer supported and</text>
            <text>    should not be used in new code. Please use</text>
            <text>    `core::string_view` instead.</text>
          </para>
          <para>
            <text>This alias is included for backwards</text>
            <text>    compatibility with earlier versions of the</text>
            <text>    library.</text>
          </para>
          <para>
            <text>However, it will be removed in future releases,</text>
            <text>    and using it in new code is not recommended.</text>
          </para>
          <para>
            <text>Please use the updated version instead to</text>
            <text>    ensure compatibility with future versions of</text>
            <text>    the library.</text>
          </para>
        </doc>
      </alias>
      <template>
        <tparam name="Args" class="type"/>
        <function name="format" id="WRjsPLk/mxfEVUX/NFq2baquRAU=">
          <file path="boost/url/format.hpp" line="91" class="def"/>
          <return>
            <type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
          </return>
          <param name="fmt">
            <type name="core::string_view"/>
          </param>
          <param name="args">
            <type class="rvalue-reference" is-pack="1">
              <pointee-type name="Args"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Format arguments into a URL</text>
            </para>
            <para>
              <text>Format arguments according to the format</text>
              <text>    URL string into a</text>
              <reference id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=">url</reference>
              <text>.</text>
            </para>
            <para>
              <text>The rules for a format URL string are the same</text>
              <text>    as for a `std::format_string`, where replacement</text>
              <text>    fields are delimited by curly braces.</text>
            </para>
            <para>
              <text>The URL components to which replacement fields</text>
              <text>    belong are identified before replacement is</text>
              <text>    applied and any invalid characters for that</text>
              <text>    formatted argument are percent-escaped.</text>
            </para>
            <para>
              <text>Hence, the delimiters between URL components,</text>
              <text>    such as `:`, `//`, `?`, and `#`, should be</text>
              <text>    included in the URL format string. Likewise,</text>
              <text>    a format string with a single `&quot;{}&quot;` is</text>
              <text>    interpreted as a path and any replacement</text>
              <text>    characters invalid in this component will be</text>
              <text>    encoded to form a valid URL.</text>
            </para>
            <head>Example</head>
            <code>
              <text>    assert(format(&quot;{}&quot;, &quot;Hello world!&quot;).buffer() == &quot;Hello%20world%21&quot;);</text>
            </code>
            <head>Preconditions</head>
            <para>
              <text>    All replacement fields must be valid and the</text>
              <text>    resulting URL should be valid after arguments</text>
              <text>    are formatted into the URL.</text>
            </para>
            <para>
              <text>Because any invalid characters for a URL</text>
              <text>    component are encoded by this function, only</text>
              <text>    replacements in the scheme and port components</text>
              <text>    might be invalid, as these components do not</text>
              <text>    allow percent-encoding of arbitrary</text>
              <text>    characters.</text>
            </para>
            <returns>
              <text>A URL holding the formatted result.</text>
            </returns>
            <param name="fmt">
              <text>The format URL string.</text>
            </param>
            <param name="args">
              <text>Arguments to be formatted.</text>
            </param>
            <throws>
              <text>    `fmt` contains an invalid format string and</text>
              <text>    the result contains an invalid URL after</text>
              <text>    replacements are applied.</text>
            </throws>
            <head>BNF</head>
            <code>
              <text>    replacement_field ::=  &quot;{&quot; [arg_id] [&quot;:&quot; (format_spec | chrono_format_spec)] &quot;}&quot;</text>
              <text>    arg_id            ::=  integer | identifier</text>
              <text>    integer           ::=  digit+</text>
              <text>    digit             ::=  &quot;0&quot;...&quot;9&quot;</text>
              <text>    identifier        ::=  id_start id_continue*</text>
              <text>    id_start          ::=  &quot;a&quot;...&quot;z&quot; | &quot;A&quot;...&quot;Z&quot; | &quot;_&quot;</text>
              <text>    id_continue       ::=  id_start | digit</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://fmt.dev/latest/syntax.html">Format String Syntax</link>
            </listitem>
            <see>
              <reference id="ueXaMbO5jFzZWelOn6upDJcN55Y=">format_to</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
      </template>
      <template>
        <tparam name="Args" class="type"/>
        <function name="format_to" id="K7ofEKM2bNb4ZS9OFo0DX+7Ep9I=">
          <file path="boost/url/format.hpp" line="174" class="def"/>
          <param name="u">
            <type class="lvalue-reference">
              <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
            </type>
          </param>
          <param name="fmt">
            <type name="core::string_view"/>
          </param>
          <param name="args">
            <type class="rvalue-reference" is-pack="1">
              <pointee-type name="Args"/>
            </type>
          </param>
          <doc>
            <para>
              <text>Format arguments into a URL</text>
            </para>
            <para>
              <text>Format arguments according to the format</text>
              <text>    URL string into a</text>
              <reference id="aHkFCWJbYb0t+7FT+A5gCI0krpU=">url_base</reference>
              <text>.</text>
            </para>
            <para>
              <text>The rules for a format URL string are the same</text>
              <text>    as for a `std::format_string`, where replacement</text>
              <text>    fields are delimited by curly braces.</text>
            </para>
            <para>
              <text>The URL components to which replacement fields</text>
              <text>    belong are identified before replacement is</text>
              <text>    applied and any invalid characters for that</text>
              <text>    formatted argument are percent-escaped.</text>
            </para>
            <para>
              <text>Hence, the delimiters between URL components,</text>
              <text>    such as `:`, `//`, `?`, and `#`, should be</text>
              <text>    included in the URL format string. Likewise,</text>
              <text>    a format string with a single `&quot;{}&quot;` is</text>
              <text>    interpreted as a path and any replacement</text>
              <text>    characters invalid in this component will be</text>
              <text>    encoded to form a valid URL.</text>
            </para>
            <head>Example</head>
            <code>
              <text>    static_url&lt;30&gt; u;</text>
              <text>    format(u, &quot;{}&quot;, &quot;Hello world!&quot;);</text>
              <text>    assert(u.buffer() == &quot;Hello%20world%21&quot;);</text>
            </code>
            <head>Preconditions</head>
            <para>
              <text>    All replacement fields must be valid and the</text>
              <text>    resulting URL should be valid after arguments</text>
              <text>    are formatted into the URL.</text>
            </para>
            <para>
              <text>Because any invalid characters for a URL</text>
              <text>    component are encoded by this function, only</text>
              <text>    replacements in the scheme and port components</text>
              <text>    might be invalid, as these components do not</text>
              <text>    allow percent-encoding of arbitrary</text>
              <text>    characters.</text>
            </para>
            <head>Exception Safety</head>
            <para>
              <text>    Strong guarantee.</text>
            </para>
            <param name="u">
              <text>An object that derives from </text>
              <reference id="aHkFCWJbYb0t+7FT+A5gCI0krpU=">url_base</reference>
              <text>.</text>
            </param>
            <param name="fmt">
              <text>The format URL string.</text>
            </param>
            <param name="args">
              <text>Arguments to be formatted.</text>
            </param>
            <throws>
              <text>    `fmt` contains an invalid format string and</text>
              <text>    `u` contains an invalid URL after replacements</text>
              <text>    are applied.</text>
            </throws>
            <head>BNF</head>
            <code>
              <text>    replacement_field ::=  &quot;{&quot; [arg_id] [&quot;:&quot; (format_spec | chrono_format_spec)] &quot;}&quot;</text>
              <text>    arg_id            ::=  integer | identifier</text>
              <text>    integer           ::=  digit+</text>
              <text>    digit             ::=  &quot;0&quot;...&quot;9&quot;</text>
              <text>    identifier        ::=  id_start id_continue*</text>
              <text>    id_start          ::=  &quot;a&quot;...&quot;z&quot; | &quot;A&quot;...&quot;Z&quot; | &quot;_&quot;</text>
              <text>    id_continue       ::=  id_start | digit</text>
            </code>
            <head>Specification</head>
            <listitem>
              <link href="https://fmt.dev/latest/syntax.html">Format String Syntax</link>
            </listitem>
            <see>
              <reference id="LG7Qu14WVkSnLUAFX5+XlzESQwE=">format</reference>
              <text>.</text>
            </see>
          </doc>
        </function>
      </template>
      <function name="format" id="LG7Qu14WVkSnLUAFX5+XlzESQwE=">
        <file path="boost/url/format.hpp" line="262" class="def"/>
        <return>
          <type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="url"/>
        </return>
        <param name="fmt">
          <type name="core::string_view"/>
        </param>
        <param name="args">
          <type name="std::initializer_list&lt;detail::format_arg&gt;"/>
        </param>
        <doc>
          <para>
            <text>Format arguments into a URL</text>
          </para>
          <para>
            <text>Format arguments according to the format</text>
            <text>    URL string into a</text>
            <reference id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=">url</reference>
            <text>.</text>
          </para>
          <para>
            <text>This overload allows type-erased arguments</text>
            <text>    to be passed as an initializer_list, which</text>
            <text>    is mostly convenient for named parameters.</text>
          </para>
          <para>
            <text>All arguments must be convertible to a</text>
            <text>    implementation defined type able to store a</text>
            <text>    type-erased reference to any valid format</text>
            <text>    argument.</text>
          </para>
          <para>
            <text>The rules for a format URL string are the same</text>
            <text>    as for a `std::format_string`, where replacement</text>
            <text>    fields are delimited by curly braces.</text>
          </para>
          <para>
            <text>The URL components to which replacement fields</text>
            <text>    belong are identified before replacement is</text>
            <text>    applied and any invalid characters for that</text>
            <text>    formatted argument are percent-escaped.</text>
          </para>
          <para>
            <text>Hence, the delimiters between URL components,</text>
            <text>    such as `:`, `//`, `?`, and `#`, should be</text>
            <text>    included in the URL format string. Likewise,</text>
            <text>    a format string with a single `&quot;{}&quot;` is</text>
            <text>    interpreted as a path and any replacement</text>
            <text>    characters invalid in this component will be</text>
            <text>    encoded to form a valid URL.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    assert(format(&quot;user/{id}&quot;, {{&quot;id&quot;, 1}}).buffer() == &quot;user/1&quot;);</text>
          </code>
          <head>Preconditions</head>
          <para>
            <text>    All replacement fields must be valid and the</text>
            <text>    resulting URL should be valid after arguments</text>
            <text>    are formatted into the URL.</text>
          </para>
          <para>
            <text>Because any invalid characters for a URL</text>
            <text>    component are encoded by this function, only</text>
            <text>    replacements in the scheme and port components</text>
            <text>    might be invalid, as these components do not</text>
            <text>    allow percent-encoding of arbitrary</text>
            <text>    characters.</text>
          </para>
          <returns>
            <text>A URL holding the formatted result.</text>
          </returns>
          <param name="fmt">
            <text>The format URL string.</text>
          </param>
          <param name="args">
            <text>Arguments to be formatted.</text>
          </param>
          <throws>
            <text>    `fmt` contains an invalid format string and</text>
            <text>    the result contains an invalid URL after</text>
            <text>    replacements are applied.</text>
          </throws>
          <head>BNF</head>
          <code>
            <text>    replacement_field ::=  &quot;{&quot; [arg_id] [&quot;:&quot; (format_spec | chrono_format_spec)] &quot;}&quot;</text>
            <text>    arg_id            ::=  integer | identifier</text>
            <text>    integer           ::=  digit+</text>
            <text>    digit             ::=  &quot;0&quot;...&quot;9&quot;</text>
            <text>    identifier        ::=  id_start id_continue*</text>
            <text>    id_start          ::=  &quot;a&quot;...&quot;z&quot; | &quot;A&quot;...&quot;Z&quot; | &quot;_&quot;</text>
            <text>    id_continue       ::=  id_start | digit</text>
          </code>
          <head>Specification</head>
          <listitem>
            <link href="https://fmt.dev/latest/syntax.html">Format String Syntax</link>
          </listitem>
          <see>
            <reference id="ueXaMbO5jFzZWelOn6upDJcN55Y=">format_to</reference>
            <text>.</text>
          </see>
        </doc>
      </function>
      <function name="format_to" id="ueXaMbO5jFzZWelOn6upDJcN55Y=">
        <file path="boost/url/format.hpp" line="359" class="def"/>
        <param name="u">
          <type class="lvalue-reference">
            <pointee-type id="aHkFCWJbYb0t+7FT+A5gCI0krpU=" name="url_base"/>
          </type>
        </param>
        <param name="fmt">
          <type name="core::string_view"/>
        </param>
        <param name="args">
          <type name="std::initializer_list&lt;detail::format_arg&gt;"/>
        </param>
        <doc>
          <para>
            <text>Format arguments into a URL</text>
          </para>
          <para>
            <text>Format arguments according to the format</text>
            <text>    URL string into a</text>
            <reference id="aHkFCWJbYb0t+7FT+A5gCI0krpU=">url_base</reference>
            <text>.</text>
          </para>
          <para>
            <text>This overload allows type-erased arguments</text>
            <text>    to be passed as an initializer_list, which</text>
            <text>    is mostly convenient for named parameters.</text>
          </para>
          <para>
            <text>All arguments must be convertible to a</text>
            <text>    implementation defined type able to store a</text>
            <text>    type-erased reference to any valid format</text>
            <text>    argument.</text>
          </para>
          <para>
            <text>The rules for a format URL string are the same</text>
            <text>    as for a `std::format_string`, where replacement</text>
            <text>    fields are delimited by curly braces.</text>
          </para>
          <para>
            <text>The URL components to which replacement fields</text>
            <text>    belong are identified before replacement is</text>
            <text>    applied and any invalid characters for that</text>
            <text>    formatted argument are percent-escaped.</text>
          </para>
          <para>
            <text>Hence, the delimiters between URL components,</text>
            <text>    such as `:`, `//`, `?`, and `#`, should be</text>
            <text>    included in the URL format string. Likewise,</text>
            <text>    a format string with a single `&quot;{}&quot;` is</text>
            <text>    interpreted as a path and any replacement</text>
            <text>    characters invalid in this component will be</text>
            <text>    encoded to form a valid URL.</text>
          </para>
          <head>Example</head>
          <code>
            <text>    static_url&lt;30&gt; u;</text>
            <text>    format_to(u, &quot;user/{id}&quot;, {{&quot;id&quot;, 1}})</text>
            <text>    assert(u.buffer() == &quot;user/1&quot;);</text>
          </code>
          <head>Preconditions</head>
          <para>
            <text>    All replacement fields must be valid and the</text>
            <text>    resulting URL should be valid after arguments</text>
            <text>    are formatted into the URL.</text>
          </para>
          <para>
            <text>Because any invalid characters for a URL</text>
            <text>    component are encoded by this function, only</text>
            <text>    replacements in the scheme and port components</text>
            <text>    might be invalid, as these components do not</text>
            <text>    allow percent-encoding of arbitrary</text>
            <text>    characters.</text>
          </para>
          <head>Exception Safety</head>
          <para>
            <text>    Strong guarantee.</text>
          </para>
          <param name="u">
            <text>An object that derives from </text>
            <reference id="aHkFCWJbYb0t+7FT+A5gCI0krpU=">url_base</reference>
            <text>.</text>
          </param>
          <param name="fmt">
            <text>The format URL string.</text>
          </param>
          <param name="args">
            <text>Arguments to be formatted.</text>
          </param>
          <throws>
            <text>    `fmt` contains an invalid format string and</text>
            <text>    `u` contains an invalid URL after replacements</text>
            <text>    are applied.</text>
          </throws>
          <head>BNF</head>
          <code>
            <text>    replacement_field ::=  &quot;{&quot; [arg_id] [&quot;:&quot; (format_spec | chrono_format_spec)] &quot;}&quot;</text>
            <text>    arg_id            ::=  integer | identifier</text>
            <text>    integer           ::=  digit+</text>
            <text>    digit             ::=  &quot;0&quot;...&quot;9&quot;</text>
            <text>    identifier        ::=  id_start id_continue*</text>
            <text>    id_start          ::=  &quot;a&quot;...&quot;z&quot; | &quot;A&quot;...&quot;Z&quot; | &quot;_&quot;</text>
            <text>    id_continue       ::=  id_start | digit</text>
          </code>
          <head>Specification</head>
          <listitem>
            <link href="https://fmt.dev/latest/syntax.html">Format String Syntax</link>
          </listitem>
          <see>
            <reference id="LG7Qu14WVkSnLUAFX5+XlzESQwE=">format</reference>
            <text>.</text>
          </see>
        </doc>
      </function>
      <template>
        <tparam name="T" class="type"/>
        <function name="arg" id="IQym8fO7DIG67s+M2rtFQszkoaY=">
          <file path="boost/url/format.hpp" line="406" class="def"/>
          <return>
            <type name="detail::named_arg&lt;T&gt;"/>
          </return>
          <param name="name">
            <type name="core::string_view"/>
          </param>
          <param name="arg">
            <type class="lvalue-reference">
              <pointee-type name="T" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </template>
      <variable name="gen_delim_chars" id="M0EYo5t0pgHX2bya+60gL5gq8Mc=">
        <file path="boost/url/rfc/gen_delim_chars.hpp" line="44" class="def"/>
        <attr id="constexpr-kind" name="constexpr" value="1"/>
        <type id="79IFwv0C40oPrhucou1uA6DC1RI=" name="grammar::lut_chars" cv-qualifiers="const"/>
        <doc>
          <para>
            <text>The gen-delims character set</text>
          </para>
          <head>Example</head>
          <para>
            <text>    Character sets are used with rules and</text>
            <text>    the functions</text>
            <reference id="tYu+dbhQn5Jt+oUv1QmBQz+Z4Mk=">grammar::find_if</reference>
            <text> and</text>
            <reference id="o4IF1hl0/rSoqWdSZjOKE4MHFjM=">grammar::find_if_not</reference>
            <text>.</text>
          </para>
          <code>
            <text>    system::result&lt; decode_view &gt; rv = grammar::parse( &quot;Program%20Files&quot;, pct_encoded_rule( gen_delim_chars ) );</text>
          </code>
          <head>BNF</head>
          <code>
            <text>    gen-delims    = &quot;:&quot; / &quot;/&quot; / &quot;?&quot; / &quot;#&quot; / &quot;[&quot; / &quot;]&quot; / &quot;@&quot;</text>
          </code>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-2.2">2.2. Reserved Characters (rfc3986)</link>
          </listitem>
          <see>
            <reference id="tYu+dbhQn5Jt+oUv1QmBQz+Z4Mk=">grammar::find_if</reference>
            <text>,</text>
            <reference id="o4IF1hl0/rSoqWdSZjOKE4MHFjM=">grammar::find_if_not</reference>
            <text>,</text>
            <reference id="LkyR1hrnEFpG2KNxbVyuvzU0r8w=">grammar::parse</reference>
            <text>,</text>
            <reference id="g5Jdnf9GlbgY8KlR6uzGAzK/uHo=">pct_encoded_rule</reference>
            <text>.</text>
          </see>
        </doc>
      </variable>
      <variable name="reserved_chars" id="LHgNC6HzmNSmob+HNYbdFf3I/ss=">
        <file path="boost/url/rfc/reserved_chars.hpp" line="39" class="def"/>
        <attr id="constexpr-kind" name="constexpr" value="1"/>
        <type id="79IFwv0C40oPrhucou1uA6DC1RI=" name="lut_chars" cv-qualifiers="const"/>
        <doc>
          <para>
            <text>The reserved character set</text>
          </para>
          <head>Example</head>
          <para>
            <text>    Character sets are used with rules and</text>
            <text>    the functions</text>
            <reference id="tYu+dbhQn5Jt+oUv1QmBQz+Z4Mk=">grammar::find_if</reference>
            <text> and</text>
            <reference id="o4IF1hl0/rSoqWdSZjOKE4MHFjM=">grammar::find_if_not</reference>
            <text>.</text>
          </para>
          <code>
            <text>    system::result&lt; decode_view &gt; rv = grammar::parse( &quot;Program%20Files&quot;, pct_encoded_rule( reserved_chars ) );</text>
          </code>
          <head>Specification</head>
          <listitem>
            <link href="https://datatracker.ietf.org/doc/html/rfc3986#section-2.3">2.3. Unreserved Characters (rfc3986)</link>
          </listitem>
          <see>
            <reference id="tYu+dbhQn5Jt+oUv1QmBQz+Z4Mk=">grammar::find_if</reference>
            <text>,</text>
            <reference id="o4IF1hl0/rSoqWdSZjOKE4MHFjM=">grammar::find_if_not</reference>
            <text>,</text>
            <reference id="LkyR1hrnEFpG2KNxbVyuvzU0r8w=">grammar::parse</reference>
            <text>,</text>
            <reference id="g5Jdnf9GlbgY8KlR6uzGAzK/uHo=">pct_encoded_rule</reference>
            <text>.</text>
          </see>
        </doc>
      </variable>
    </namespace>
    <namespace name="system" id="LWQB+dn+7lsRKPzx/twz66ZcOWI=">
      <template class="explicit">
        <targ class="type" type="boost::urls::error"/>
        <struct name="is_error_code_enum" id="HVoxaE+b7n6UI7OUynfc5Bk2S2w=">
          <file path="boost/url/impl/error.hpp" line="20" class="def"/>
          <variable name="value" id="3fc8EZEMqQxIPZgKZJUG9H/Jjgg=">
            <file path="boost/url/impl/error.hpp" line="22"/>
            <attr id="storage-class" name="static" value="2"/>
            <type name="bool" cv-qualifiers="const"/>
          </variable>
        </struct>
      </template>
      <template class="explicit">
        <targ class="type" type="boost::urls::grammar::error"/>
        <struct name="is_error_code_enum" id="5dd5RPdbS1LTRejNVo/EyhTuDY8=">
          <file path="boost/url/grammar/impl/error.hpp" line="18" class="def"/>
          <variable name="value" id="HjMxdnn040kthVgq5lGu2xm0Yyo=">
            <file path="boost/url/grammar/impl/error.hpp" line="21"/>
            <attr id="storage-class" name="static" value="2"/>
            <type name="bool" cv-qualifiers="const"/>
          </variable>
        </struct>
      </template>
      <template class="explicit">
        <targ class="type" type="boost::urls::grammar::condition"/>
        <struct name="is_error_condition_enum" id="oCab9NNDB8W7679WY0rfdmBigdA=">
          <file path="boost/url/grammar/impl/error.hpp" line="24" class="def"/>
          <variable name="value" id="E2121ZA/gdLSpBT2ev/dNoHKufk=">
            <file path="boost/url/grammar/impl/error.hpp" line="27"/>
            <attr id="storage-class" name="static" value="2"/>
            <type name="bool" cv-qualifiers="const"/>
          </variable>
        </struct>
      </template>
    </namespace>
    <using id="AqbESLWnswO7jLXuwTWjgDXjT1Y=" class="using" qualifier="urls">
      <file path="boost/url/urls.hpp" line="19" class="def"/>
      <named id="B4dRaSXMG3fDmuNKMW3KOeRu6kA="/>
    </using>
    <using id="Xx/iUSzPu1B7N57GH0WV+5Aao6I=" class="using" qualifier="urls">
      <file path="boost/url/urls.hpp" line="20" class="def"/>
      <named id="wh3UbUToX9YDmRmnpcoM9EUEZo8="/>
    </using>
  </namespace>
  <namespace name="std" id="eIvg7iueGIPcE8p1NVfngsp2ojw=">
    <template class="explicit">
      <targ class="type" type="boost::urls::url"/>
      <struct name="hash" id="Q4NBpW2EOqjcXc4z+Xb04+WLZHw=">
        <file path="boost/url/url.hpp" line="523" class="def"/>
        <function class="constructor" name="hash" id="GxQ1whWmR24/P1ewADJYRZ4N+Fw=">
          <file path="boost/url/url.hpp" line="525" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
        </function>
        <function class="constructor" name="hash" id="AJ0sCWqlFV9Fr61pNUpsBTh4DQs=">
          <file path="boost/url/url.hpp" line="526" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <param>
            <type class="lvalue-reference">
              <pointee-type id="Q4NBpW2EOqjcXc4z+Xb04+WLZHw=" name="hash&lt;url&gt;" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
        <function name="operator=" id="OKGl7oOhYsM2bImGnNAnAmFKqxk=">
          <file path="boost/url/url.hpp" line="527" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="Q4NBpW2EOqjcXc4z+Xb04+WLZHw=" name="hash&lt;url&gt;"/>
            </type>
          </return>
          <param>
            <type class="lvalue-reference">
              <pointee-type id="Q4NBpW2EOqjcXc4z+Xb04+WLZHw=" name="hash&lt;url&gt;" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
        <function class="constructor" name="hash" exception-spec="noexcept" explicit-spec="explicit" id="aQc6agyAOYhGWDAY1xQYT+MMT3U=">
          <file path="boost/url/url.hpp" line="529" class="def"/>
          <param name="salt">
            <type name="std::size_t"/>
          </param>
        </function>
        <function name="operator()" exception-spec="noexcept" id="SKVpyoaOtCxR/dn3JBJLjaoNCUc=">
          <file path="boost/url/url.hpp" line="535" class="def"/>
          <attr id="operator" name="call" value="42"/>
          <attr id="is-const"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <param name="u">
            <type class="lvalue-reference">
              <pointee-type id="B4dRaSXMG3fDmuNKMW3KOeRu6kA=" name="boost::urls::url" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </struct>
    </template>
    <template class="explicit">
      <targ class="type" type="boost::urls::url_view"/>
      <struct name="hash" id="zLAUNqfBQAqNrSQn7dwwo4Ym+nQ=">
        <file path="boost/url/url_view.hpp" line="349" class="def"/>
        <function class="constructor" name="hash" id="fByvH8ZOQk66MwXqrvVDX5sf3wU=">
          <file path="boost/url/url_view.hpp" line="351" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
        </function>
        <function class="constructor" name="hash" id="DqbRCl1Ph/uFWMJ/fbNGcAO+eu0=">
          <file path="boost/url/url_view.hpp" line="352" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <param>
            <type class="lvalue-reference">
              <pointee-type id="zLAUNqfBQAqNrSQn7dwwo4Ym+nQ=" name="hash&lt;url_view&gt;" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
        <function name="operator=" id="R2k/sHIoD+8fnLRgWQZr4nQIIo8=">
          <file path="boost/url/url_view.hpp" line="353" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="constexpr-kind" name="constexpr" value="1"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="zLAUNqfBQAqNrSQn7dwwo4Ym+nQ=" name="hash&lt;url_view&gt;"/>
            </type>
          </return>
          <param>
            <type class="lvalue-reference">
              <pointee-type id="zLAUNqfBQAqNrSQn7dwwo4Ym+nQ=" name="hash&lt;url_view&gt;" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
        <function class="constructor" name="hash" exception-spec="noexcept" explicit-spec="explicit" id="XjCeTNTlH3UJzWIPx+1B8rCiLl4=">
          <file path="boost/url/url_view.hpp" line="355" class="def"/>
          <param name="salt">
            <type name="std::size_t"/>
          </param>
        </function>
        <function name="operator()" exception-spec="noexcept" id="eqpkkTGDL2aivw1Xv32Bpkfoqt4=">
          <file path="boost/url/url_view.hpp" line="361" class="def"/>
          <attr id="operator" name="call" value="42"/>
          <attr id="is-const"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <param name="u">
            <type class="lvalue-reference">
              <pointee-type id="wh3UbUToX9YDmRmnpcoM9EUEZo8=" name="boost::urls::url_view" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </struct>
    </template>
    <template class="partial">
      <tparam name="N" class="non-type" type="std::size_t"/>
      <targ class="type" type="boost::urls::static_url&lt;N&gt;"/>
      <struct name="hash" id="aJjFg6H4Ng+tVJeABYjctZo+iSc=">
        <file path="boost/url/static_url.hpp" line="447" class="def"/>
        <function class="constructor" name="hash" id="xdygCLMRvWeRCZx1AVUEERCgst0=">
          <file path="boost/url/static_url.hpp" line="449" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
        </function>
        <function class="constructor" name="hash" id="YRMk1/HYxvdpX8C2rs/Kda0fTP4=">
          <file path="boost/url/static_url.hpp" line="450" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <param>
            <type class="lvalue-reference">
              <pointee-type id="aJjFg6H4Ng+tVJeABYjctZo+iSc=" name="hash" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
        <function name="operator=" id="K/XcvhOx8OhjVa1UgjTMYveC6Eg=">
          <file path="boost/url/static_url.hpp" line="451" class="def"/>
          <attr id="is-defaulted"/>
          <attr id="is-explicitly-defaulted"/>
          <attr id="operator" name="assign" value="15"/>
          <return>
            <type class="lvalue-reference">
              <pointee-type id="aJjFg6H4Ng+tVJeABYjctZo+iSc=" name="hash"/>
            </type>
          </return>
          <param>
            <type class="lvalue-reference">
              <pointee-type id="aJjFg6H4Ng+tVJeABYjctZo+iSc=" name="hash" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
        <function class="constructor" name="hash" exception-spec="noexcept" explicit-spec="explicit" id="8NDcZkcl9nomJ33uxqhTbLTB824=">
          <file path="boost/url/static_url.hpp" line="453" class="def"/>
          <param name="salt">
            <type name="std::size_t"/>
          </param>
        </function>
        <function name="operator()" exception-spec="noexcept" id="fk/LLDpIp41Cn2ZncfEYaryn1QA=">
          <file path="boost/url/static_url.hpp" line="459" class="def"/>
          <attr id="operator" name="call" value="42"/>
          <attr id="is-const"/>
          <return>
            <type name="std::size_t"/>
          </return>
          <param name="u">
            <type class="lvalue-reference">
              <pointee-type id="4HBDcnMjZthTXFnhpS7z+UhDNjA=" name="boost::urls::static_url&lt;N&gt;" cv-qualifiers="const"/>
            </type>
          </param>
        </function>
      </struct>
    </template>
  </namespace>
</namespace>
</mrdocs>
