<?xml version="1.0" standalone="yes"?>
<library-reference id="boost_container_header_reference"><title>Boost.Container Header Reference</title><header id="doxygen.boost_container_header_reference.adaptive__pool_8hpp" name="boost/container/adaptive_pool.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool" name="adaptive_pool"><template>
      <template-type-parameter name="T"/>
      <template-nontype-parameter name="NodesPerBlock"><type>std::size_t</type><default>ADP_nodes_per_block</default></template-nontype-parameter>
      <template-nontype-parameter name="MaxFreeBlocks"><type>std::size_t</type><default>ADP_max_free_blocks</default></template-nontype-parameter>
      <template-nontype-parameter name="OverheadPercent"><type>std::size_t</type><default>ADP_overhead_percent BOOST_CONTAINER_DOCIGN( BOOST_MOVE_I unsigned Version )</default></template-nontype-parameter>
    </template><description><para>An STL node allocator that uses a modified DLMalloc as memory source.</para><para>This node allocator shares a segregated storage between all instances of <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool">adaptive_pool</link> with equal sizeof(T).</para><para>NodesPerBlock is the number of nodes allocated at once when the allocator needs runs out of nodes. MaxFreeBlocks is the maximum number of totally free blocks that the adaptive node pool will hold. The rest of the totally free blocks will be deallocated to the memory manager.</para><para>OverheadPercent is the (approximated) maximum size overhead (1-20%) of the allocator: (memory usable for nodes / total memory allocated from the memory allocator) </para></description><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1adaptive__pool_1_1rebind" name="rebind"><template>
      <template-type-parameter name="T2"/>
    </template><description><para>Obtains <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool">adaptive_pool</link> from <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool">adaptive_pool</link> </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1adaptive__pool_1_1rebind_1a6d52920b9b23a164f3bce44ae016bccb" name="other"><type><classname>adaptive_pool</classname>&lt; T2, NodesPerBlock, MaxFreeBlocks, OverheadPercent BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I Version) &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1ae3e7df73ee6a8559e2b310055273ee8b" name="allocation_type"><description><para>If Version is 1, the allocator is a STL conforming allocator. If Version is 2, the allocator offers advanced expand in place and burst allocation capabilities. </para></description><type>unsigned int</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1ab09c3acd04208451bb905ec3db59b460" name="self_t"><type><classname>adaptive_pool</classname>&lt; T, NodesPerBlock, MaxFreeBlocks, OverheadPercent BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I Version) &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a5ecfaa61b5c9b8bc03ab226df9c86b2a" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a6c50c175d401ea9b8a6213e5d6dcb269" name="pointer"><type>T *</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1ae0ecef83e122de6c47055a320560c51c" name="const_pointer"><type>const T *</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a71274c725dcf2829a3405b4b9898102e" name="reference"><type>::boost::container::dtl::unvoid_ref&lt; T &gt;::type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1ab24a8bf9fd51c0923d2862212780a862" name="const_reference"><type>::boost::container::dtl::unvoid_ref&lt; constT &gt;::type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1ad5746169a018cb8dd5fc505b37f5cec1" name="size_type"><type>std::size_t</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1af5f0145a0dbf2ee35a45d67f982e5596" name="difference_type"><type>std::ptrdiff_t</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a5c54fec700767c40966ffc4941e8810e" name="version"><type>boost::container::dtl::version_type&lt; <classname>self_t</classname>, Version &gt;</type></typedef>
<data-member id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a0148a6706f22147f8e0e4f943726b588" name="nodes_per_block"><type>BOOST_STATIC_CONSTEXPR std::size_t</type></data-member>
<data-member id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1ab321ab738528aae60fd572492b8c2391" name="max_free_blocks"><type>BOOST_STATIC_CONSTEXPR std::size_t</type></data-member>
<data-member id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1ae0809535bf184c99479f3d95471149eb" name="overhead_percent"><type>BOOST_STATIC_CONSTEXPR std::size_t</type></data-member>
<data-member id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a4438835a68fe4bd96bc251a26495d08c" name="real_nodes_per_block"><type>BOOST_STATIC_CONSTEXPR std::size_t</type></data-member>
<method-group name="public member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a0c4864b05ed1d3e3c9690ac601d07b45" name="BOOST_CONTAINER_DOCIGN"><type/><parameter name=""><paramtype>BOOST_CONTAINER_STATIC_ASSERT((Version&lt;=2))</paramtype></parameter></method>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1ab0ebaf668426d7bc8250977a35bfb0aa" cv="noexcept"><purpose>Default constructor. </purpose></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1ae77e18ed2a11d52d7795530451ef657a" cv="noexcept"><parameter name=""><paramtype>const <classname>adaptive_pool</classname> &amp;</paramtype></parameter><purpose>Copy constructor from other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool">adaptive_pool</link>. </purpose></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a536e3caa5a534aae6cebd7bb9d9cc27a" cv="noexcept"><type><classname>adaptive_pool</classname> &amp;</type><parameter name=""><paramtype>const <classname>adaptive_pool</classname> &amp;</paramtype></parameter><purpose>Copy assignment from other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool">adaptive_pool</link>. </purpose></copy-assignment>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a6cea38c8f147283bd1a5aa17d96bc96d" cv="noexcept"><template>
          <template-type-parameter name="T2"/>
        </template><parameter name=""><paramtype>const <classname>adaptive_pool</classname>&lt; T2, NodesPerBlock, MaxFreeBlocks, OverheadPercent BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I Version)&gt; &amp;</paramtype></parameter><purpose>Copy constructor from related <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool">adaptive_pool</link>. </purpose></constructor>
<destructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a4c8ef0b3912d08f91807e61f83a765fd" cv="noexcept"><purpose>Destructor. </purpose></destructor>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a47fbcdc605028f66828832570f886d4a" name="max_size" cv="const noexcept"><type>size_type</type><description><para>Returns the number of elements that could be allocated. Never throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a90fb280e366602b6f4aee55b11fb5e3b" name="allocate"><type>pointer</type><parameter name="count"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype>const void *</paramtype><default>0</default></parameter><description><para>Allocate memory for an array of count elements. Throws bad_alloc if there is no enough memory </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a96331f65410a1eec1b85a60cecfe4f01" name="deallocate" cv="noexcept"><type>void</type><parameter name="ptr"><paramtype>const pointer &amp;</paramtype></parameter><parameter name="count"><paramtype>size_type</paramtype></parameter><description><para>Deallocate allocated memory. Never throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a616f6b58d7181e8c50cc4fc504d3bc23" name="allocation_command"><type>pointer</type><parameter name="command"><paramtype>allocation_type</paramtype></parameter><parameter name="limit_size"><paramtype>size_type</paramtype></parameter><parameter name="prefer_in_recvd_out_size"><paramtype>size_type &amp;</paramtype></parameter><parameter name="reuse"><paramtype>pointer &amp;</paramtype></parameter></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a1ef51c9897e74410cd34a3bf19e0e1a9" name="size" cv="const noexcept"><type>size_type</type><parameter name="p"><paramtype>pointer</paramtype></parameter><description><para>Returns maximum the number of objects the previously allocated memory pointed by p can hold. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a23f7504aaf08fbb99a5694d4fa726c32" name="allocate_one"><type>pointer</type><description><para>Allocates just one object. Memory allocated with this function must be deallocated only with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a9daf3ad62680326937b5b7df482fae41">deallocate_one()</link>. Throws bad_alloc if there is no enough memory </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1ae35f00c6ff2ed6268e2f2362941460e7" name="allocate_individual"><type>void</type><parameter name="num_elements"><paramtype>std::size_t</paramtype></parameter><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter><description><para>Allocates many elements of size == 1. Elements must be individually deallocated with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a9daf3ad62680326937b5b7df482fae41">deallocate_one()</link> </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a9daf3ad62680326937b5b7df482fae41" name="deallocate_one" cv="noexcept"><type>void</type><parameter name="p"><paramtype>pointer</paramtype></parameter><description><para>Deallocates memory previously allocated with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a23f7504aaf08fbb99a5694d4fa726c32">allocate_one()</link>. You should never use deallocate_one to deallocate memory allocated with other functions different from <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a23f7504aaf08fbb99a5694d4fa726c32">allocate_one()</link>. Never throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1add81114fe5b031d714133c712be6925f" name="deallocate_individual" cv="noexcept"><type>void</type><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a859d305e02e46e2a3deb9e48ea1e1639" name="allocate_many"><type>void</type><parameter name="elem_size"><paramtype>size_type</paramtype></parameter><parameter name="n_elements"><paramtype>std::size_t</paramtype></parameter><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter><description><para>Allocates many elements of size elem_size. Elements must be individually deallocated with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a96331f65410a1eec1b85a60cecfe4f01">deallocate()</link> </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1ac34a1599e22c86ce2640b4b92c6b2070" name="allocate_many"><type>void</type><parameter name="elem_sizes"><paramtype>const size_type *</paramtype></parameter><parameter name="n_elements"><paramtype>size_type</paramtype></parameter><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter><description><para>Allocates n_elements elements, each one of size elem_sizes[i] Elements must be individually deallocated with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a96331f65410a1eec1b85a60cecfe4f01">deallocate()</link> </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a1b7a318c58da1f938f69c1550fed6a90" name="deallocate_many" cv="noexcept"><type>void</type><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter></method>
</method-group>
<method-group name="public static functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a2b52533887462639599ec591cf891ffe" name="deallocate_free_blocks" cv="noexcept" specifiers="static"><type>void</type><purpose>Deallocates all free blocks of the pool. </purpose></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a814db8be3a7f6be74bda35e1b4e91334" name="swap" cv="noexcept"><type>void</type><parameter name=""><paramtype><classname>adaptive_pool</classname> &amp;</paramtype></parameter><parameter name=""><paramtype><classname>adaptive_pool</classname> &amp;</paramtype></parameter><description><para>Swaps allocators. Does not throw. If each allocator is placed in a different memory segment, the result is undefined. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a17e49bd0bdb3c3fbc6b2a69123494d97" name="operator==" cv="noexcept"><type>bool</type><parameter name=""><paramtype>const <classname>adaptive_pool</classname> &amp;</paramtype></parameter><parameter name=""><paramtype>const <classname>adaptive_pool</classname> &amp;</paramtype></parameter><description><para>An allocator always compares to true, as memory allocated with one instance can be deallocated by another instance </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1a0d3c0229258c41615a4007d8048b5e74" name="operator!=" cv="noexcept"><type>bool</type><parameter name=""><paramtype>const <classname>adaptive_pool</classname> &amp;</paramtype></parameter><parameter name=""><paramtype>const <classname>adaptive_pool</classname> &amp;</paramtype></parameter><description><para>An allocator always compares to false, as memory allocated with one instance can be deallocated by another instance </para></description></method>
</method-group>
<method-group name="private member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool_1ab0b943ffdc6634bcad5b57ef4e94d1ef" name="priv_allocation_command"><type>pointer</type><parameter name="command"><paramtype>allocation_type</paramtype></parameter><parameter name="limit_size"><paramtype>std::size_t</paramtype></parameter><parameter name="prefer_in_recvd_out_size"><paramtype>size_type &amp;</paramtype></parameter><parameter name="reuse_ptr"><paramtype>pointer &amp;</paramtype></parameter></method>
</method-group>
</class><class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool" name="private_adaptive_pool"><template>
      <template-type-parameter name="T"/>
      <template-nontype-parameter name="NodesPerBlock"><type>std::size_t</type><default>ADP_nodes_per_block</default></template-nontype-parameter>
      <template-nontype-parameter name="MaxFreeBlocks"><type>std::size_t</type><default>ADP_max_free_blocks</default></template-nontype-parameter>
      <template-nontype-parameter name="OverheadPercent"><type>std::size_t</type><default>ADP_overhead_percent</default></template-nontype-parameter>
      <template-nontype-parameter name="Version"><type>unsigned</type><default>2</default></template-nontype-parameter>
    </template><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1private__adaptive__pool_1_1rebind" name="rebind"><template>
      <template-type-parameter name="T2"/>
    </template><description><para>Obtains private_adaptive_pool from private_adaptive_pool </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1private__adaptive__pool_1_1rebind_1a5f0719df839ad6bcd2dbe974908ebf8c" name="other"><type>private_adaptive_pool&lt; T2, NodesPerBlock, MaxFreeBlocks, OverheadPercent BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I Version) &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a88f650bffbcd22795a0fcb817b3bf197" name="allocation_type"><description><para>If Version is 1, the allocator is a STL conforming allocator. If Version is 2, the allocator offers advanced expand in place and burst allocation capabilities. </para></description><type>unsigned int</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a76221d46876aa3cb8e02ff5ce80dbe72" name="self_t"><type>private_adaptive_pool&lt; T, NodesPerBlock, MaxFreeBlocks, OverheadPercent BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I Version) &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1adb35aa5e41733f7b0733d33fa01b779f" name="pool_t"><type>dtl::private_adaptive_node_pool&lt; sizeof(T), NodesPerBlock, MaxFreeBlocks, OverheadPercent &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a5e110326010262f2895be76af462ed55" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1af0cae5679fa464326b540983b00c023b" name="pointer"><type>T *</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a1ff15757f77ec66367805f66b81c6a28" name="const_pointer"><type>const T *</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1adcaa39a9f1c7b156f703b807fa8fab16" name="reference"><type>::boost::container::dtl::unvoid_ref&lt; T &gt;::type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1ad965628e828f3812668139160083adea" name="const_reference"><type>::boost::container::dtl::unvoid_ref&lt; constT &gt;::type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a0d5bf2c9cef4d295fbdf8ac10a939e26" name="size_type"><type>std::size_t</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a8ac44b6689be5e4621aed7d4b7d8934a" name="difference_type"><type>std::ptrdiff_t</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a7131f5f35e91dbc8032862a19b4154a4" name="version"><type>boost::container::dtl::version_type&lt; self_t, Version &gt;</type></typedef>
<data-member id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a6dfac332b157080bdb2780320096ba72" name="nodes_per_block"><type>BOOST_STATIC_CONSTEXPR std::size_t</type></data-member>
<data-member id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a62593bbd0c592f4d7901922f889e19d1" name="max_free_blocks"><type>BOOST_STATIC_CONSTEXPR std::size_t</type></data-member>
<data-member id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a46a723aa695f7ee3dd2a382a8c59efe1" name="overhead_percent"><type>BOOST_STATIC_CONSTEXPR std::size_t</type></data-member>
<data-member id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1ad0cd42d53c60134d805b907d9142fc91" name="real_nodes_per_block"><type>BOOST_STATIC_CONSTEXPR std::size_t</type></data-member>
<data-member id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1ac023810d286a57ef4d8da72855a6160c" name="m_pool"><type>pool_t</type></data-member>
<method-group name="public member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1ae2f6f67a15be5eee651bafd5006cef6b" name="BOOST_CONTAINER_DOCIGN"><type/><parameter name=""><paramtype>BOOST_CONTAINER_STATIC_ASSERT((Version&lt;=2))</paramtype></parameter></method>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1aeefc87e0c88be2fc3a30b84878f2ff72" cv="noexcept"><purpose>Default constructor. </purpose></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a2257f8073aa9dee00682fd9567ebda67" cv="noexcept"><parameter name=""><paramtype>const private_adaptive_pool &amp;</paramtype></parameter><purpose>Copy constructor from other private_adaptive_pool. </purpose></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1aa6b674415b8f7a8b7b052b6f2f7e4603" cv="noexcept"><type>private_adaptive_pool &amp;</type><parameter name=""><paramtype>const private_adaptive_pool &amp;</paramtype></parameter><purpose>Copy assignment from other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool">adaptive_pool</link>. </purpose></copy-assignment>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a05b11c5bebf49f10079a3ad42afed092" cv="noexcept"><template>
          <template-type-parameter name="T2"/>
        </template><parameter name=""><paramtype>const private_adaptive_pool&lt; T2, NodesPerBlock, MaxFreeBlocks, OverheadPercent BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I Version)&gt; &amp;</paramtype></parameter><purpose>Copy constructor from related private_adaptive_pool. </purpose></constructor>
<destructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1ae558bc4e8e236a7c4da132a0769c2bc4" cv="noexcept"><purpose>Destructor. </purpose></destructor>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a011ad574177edff8f82cfbdf92f5d485" name="max_size" cv="const noexcept"><type>size_type</type><description><para>Returns the number of elements that could be allocated. Never throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a645acf270eb9b9a9b570ead900925ca5" name="allocate"><type>pointer</type><parameter name="count"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype>const void *</paramtype><default>0</default></parameter><description><para>Allocate memory for an array of count elements. Throws bad_alloc if there is no enough memory </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1aef249b33c5f820ce7df82bca042de3d5" name="deallocate" cv="noexcept"><type>void</type><parameter name="ptr"><paramtype>const pointer &amp;</paramtype></parameter><parameter name="count"><paramtype>size_type</paramtype></parameter><description><para>Deallocate allocated memory. Never throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1ab01e1ccf20b16f39061ffb952274fc16" name="allocation_command"><type>pointer</type><parameter name="command"><paramtype>allocation_type</paramtype></parameter><parameter name="limit_size"><paramtype>size_type</paramtype></parameter><parameter name="prefer_in_recvd_out_size"><paramtype>size_type &amp;</paramtype></parameter><parameter name="reuse"><paramtype>pointer &amp;</paramtype></parameter></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a8c0d63fced73164ffe28aec9b9f235a0" name="size" cv="const noexcept"><type>size_type</type><parameter name="p"><paramtype>pointer</paramtype></parameter><description><para>Returns maximum the number of objects the previously allocated memory pointed by p can hold. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1ac2fdc87d0a04244edaa07bb81b9136ac" name="allocate_one"><type>pointer</type><description><para>Allocates just one object. Memory allocated with this function must be deallocated only with deallocate_one(). Throws bad_alloc if there is no enough memory </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a9a0fde27d6415c3b1311ceb4905da79a" name="allocate_individual"><type>void</type><parameter name="num_elements"><paramtype>std::size_t</paramtype></parameter><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter><description><para>Allocates many elements of size == 1. Elements must be individually deallocated with deallocate_one() </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1ab8c4ae6844d2b3e1d900e8777341d8af" name="deallocate_one" cv="noexcept"><type>void</type><parameter name="p"><paramtype>pointer</paramtype></parameter><description><para>Deallocates memory previously allocated with allocate_one(). You should never use deallocate_one to deallocate memory allocated with other functions different from allocate_one(). Never throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a1e5dfb87b63b30d182f36d891d45e1ba" name="deallocate_individual" cv="noexcept"><type>void</type><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a2e6ea9fa7139b589ea8592fd75da5ae9" name="allocate_many"><type>void</type><parameter name="elem_size"><paramtype>size_type</paramtype></parameter><parameter name="n_elements"><paramtype>std::size_t</paramtype></parameter><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter><description><para>Allocates many elements of size elem_size. Elements must be individually deallocated with deallocate() </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1ac5ff2a85d2580af4f96670b705074964" name="allocate_many"><type>void</type><parameter name="elem_sizes"><paramtype>const size_type *</paramtype></parameter><parameter name="n_elements"><paramtype>size_type</paramtype></parameter><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter><description><para>Allocates n_elements elements, each one of size elem_sizes[i] Elements must be individually deallocated with deallocate() </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a555d0a39f4fe7b7bf795c508de65deb4" name="deallocate_many" cv="noexcept"><type>void</type><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a2a4f5d4403607f2a1c6ac8b2e26f3197" name="deallocate_free_blocks" cv="noexcept"><type>void</type><purpose>Deallocates all free blocks of the pool. </purpose></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a9215face6877fc76816c8b3c3d3b3012" name="swap" cv="noexcept"><type>void</type><parameter name=""><paramtype>private_adaptive_pool &amp;</paramtype></parameter><parameter name=""><paramtype>private_adaptive_pool &amp;</paramtype></parameter><description><para>Swaps allocators. Does not throw. If each allocator is placed in a different memory segment, the result is undefined. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a1fa5c3a4c8f566fb23394ac36c09bd2c" name="operator==" cv="noexcept"><type>bool</type><parameter name=""><paramtype>const private_adaptive_pool &amp;</paramtype></parameter><parameter name=""><paramtype>const private_adaptive_pool &amp;</paramtype></parameter><description><para>An allocator always compares to true, as memory allocated with one instance can be deallocated by another instance </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1a00729c5c2d8f92aca68ec7c994f9298b" name="operator!=" cv="noexcept"><type>bool</type><parameter name=""><paramtype>const private_adaptive_pool &amp;</paramtype></parameter><parameter name=""><paramtype>const private_adaptive_pool &amp;</paramtype></parameter><description><para>An allocator always compares to false, as memory allocated with one instance can be deallocated by another instance </para></description></method>
</method-group>
<method-group name="private member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1private__adaptive__pool_1afdcb1f05fce0d213f8604649537f6000" name="priv_allocation_command"><type>pointer</type><parameter name="command"><paramtype>allocation_type</paramtype></parameter><parameter name="limit_size"><paramtype>std::size_t</paramtype></parameter><parameter name="prefer_in_recvd_out_size"><paramtype>size_type &amp;</paramtype></parameter><parameter name="reuse_ptr"><paramtype>pointer &amp;</paramtype></parameter></method>
</method-group>
</class>




















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.allocator_8hpp" name="boost/container/allocator.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator" name="allocator"><template>
      <template-type-parameter name="T"/>
      <template-nontype-parameter name="Version"><type>unsigned</type><default>2</default></template-nontype-parameter>
      <template-nontype-parameter name="AllocationDisableMask"><type>unsigned int</type><default>0</default></template-nontype-parameter>
    </template><description><para>This class is an extended STL-compatible that offers advanced allocation mechanism (in-place expansion, shrinking, burst-allocation...)</para><para>This allocator is a wrapper around a modified DLmalloc. If Version is 1, the allocator is a STL conforming allocator. If Version is 2, the allocator offers advanced expand in place and burst allocation capabilities.</para><para>AllocationDisableMask works only if Version is 2 and it can be an inclusive OR of allocation types the user wants to disable. </para></description><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator_1_1rebind" name="rebind"><template>
      <template-type-parameter name="T2"/>
    </template><description><para>Obtains an allocator that allocates objects of type T2 </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator_1_1rebind_1a6bacaa8f34451058f907259babfdd2fa" name="other"><type><classname>allocator</classname>&lt; T2, Version, AllocationDisableMask &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a9d2a72a592fb317bc7db363c099d51bb" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a18c0b81046568e21813652933309ae36" name="pointer"><type>T *</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a21eb54f57f8ed704ba885a0714680937" name="const_pointer"><type>const T *</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1ad3d32ef25bf78b6adf1cdb73e676c4f1" name="reference"><type>T &amp;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1af865517b86c0820fa27e44a98e5fddd6" name="const_reference"><type>const T &amp;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a484786d15d2619a547005b3639859633" name="size_type"><type>std::size_t</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a77875645c122faf5a5e1c3d18f1b228c" name="difference_type"><type>std::ptrdiff_t</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1afe533a34ad83cad57864b4e29cb24163" name="version"><type>boost::container::dtl::version_type&lt; self_t, Version &gt;</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a28e9526d4385523cb8db4c84f3ca8301" cv="noexcept"><description><para>Default constructor Never throws </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1ad41293dc6c7cf72b4008f1a6332ba15a" cv="noexcept"><parameter name=""><paramtype>const <classname>allocator</classname> &amp;</paramtype></parameter><description><para>Constructor from other allocator. Never throws </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1afee9a870aeca609aa280088d55de3027" cv="noexcept"><template>
          <template-type-parameter name="T2"/>
        </template><parameter name=""><paramtype>const <classname>allocator</classname>&lt; T2 &gt; &amp;</paramtype></parameter><description><para>Constructor from related allocator. Never throws </para></description></constructor>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a6d7b955fd42f4a5999dd5ab3acc4c034" name="allocate"><type>pointer</type><parameter name="count"><paramtype>size_type</paramtype></parameter><parameter name="hint"><paramtype>const void *</paramtype><default>0</default></parameter><description><para>Allocates memory for an array of count elements. Throws bad_alloc if there is no enough memory If Version is 2, this allocated memory can only be deallocated with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a0e7aa6efecb78b4e9732650b98a0f3ce">deallocate()</link> or (for Version == 2) <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1ab1104767e3ff8daba2901d02720a9e29">deallocate_many()</link> </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a0e7aa6efecb78b4e9732650b98a0f3ce" name="deallocate" cv="noexcept"><type>void</type><parameter name="ptr"><paramtype>pointer</paramtype></parameter><parameter name=""><paramtype>size_type</paramtype></parameter><description><para>Deallocates previously allocated memory. Never throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a6839683f3d901510878412d3b1d2505f" name="max_size" cv="const noexcept"><type>size_type</type><description><para>Returns the maximum number of elements that could be allocated. Never throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a2ec40227e2078e8f9e3181dc5c7bd28f" name="allocation_command"><type>pointer</type><parameter name="command"><paramtype>allocation_type</paramtype></parameter><parameter name="limit_size"><paramtype>size_type</paramtype></parameter><parameter name="prefer_in_recvd_out_size"><paramtype>size_type &amp;</paramtype></parameter><parameter name="reuse"><paramtype>pointer &amp;</paramtype></parameter><description><para>An advanced function that offers in-place expansion shrink to fit and new allocation capabilities. Memory allocated with this function can only be deallocated with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a0e7aa6efecb78b4e9732650b98a0f3ce">deallocate()</link> or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1ab1104767e3ff8daba2901d02720a9e29">deallocate_many()</link>. This function is available only with Version == 2 </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a12706f7e94998f4f3bf929230f4a29f8" name="size" cv="const noexcept"><type>size_type</type><parameter name="p"><paramtype>pointer</paramtype></parameter><description><para>Returns maximum the number of objects the previously allocated memory pointed by p can hold. Memory must not have been allocated with allocate_one or allocate_individual. This function is available only with Version == 2 </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1ade82a2fb4494ba9ff0203f702d97dc1f" name="allocate_one"><type>pointer</type><description><para>Allocates just one object. Memory allocated with this function must be deallocated only with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1aa21457cd59af0016ae9ce66df406d64f">deallocate_one()</link>. Throws bad_alloc if there is no enough memory This function is available only with Version == 2 </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1ae9daf98d58199dbdab4554888d9956a3" name="allocate_individual"><type>void</type><parameter name="num_elements"><paramtype>std::size_t</paramtype></parameter><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter><description><para>Allocates many elements of size == 1. Elements must be individually deallocated with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1aa21457cd59af0016ae9ce66df406d64f">deallocate_one()</link> This function is available only with Version == 2 </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1aa21457cd59af0016ae9ce66df406d64f" name="deallocate_one" cv="noexcept"><type>void</type><parameter name="p"><paramtype>pointer</paramtype></parameter><description><para>Deallocates memory previously allocated with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1ade82a2fb4494ba9ff0203f702d97dc1f">allocate_one()</link>. You should never use deallocate_one to deallocate memory allocated with other functions different from <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1ade82a2fb4494ba9ff0203f702d97dc1f">allocate_one()</link> or allocate_individual. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1aabc9526f3efa7bd72ed9ede0c63b0434" name="deallocate_individual" cv="noexcept"><type>void</type><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter><description><para>Deallocates memory allocated with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1ade82a2fb4494ba9ff0203f702d97dc1f">allocate_one()</link> or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1ae9daf98d58199dbdab4554888d9956a3">allocate_individual()</link>. This function is available only with Version == 2 </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a3c36887c06be36f5af4f462f15a82282" name="allocate_many"><type>void</type><parameter name="elem_size"><paramtype>size_type</paramtype></parameter><parameter name="n_elements"><paramtype>std::size_t</paramtype></parameter><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter><description><para>Allocates many elements of size elem_size. Elements must be individually deallocated with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a0e7aa6efecb78b4e9732650b98a0f3ce">deallocate()</link> This function is available only with Version == 2 </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a5796e98e6932c2542fe4e132812fee60" name="allocate_many"><type>void</type><parameter name="elem_sizes"><paramtype>const size_type *</paramtype></parameter><parameter name="n_elements"><paramtype>size_type</paramtype></parameter><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter><description><para>Allocates n_elements elements, each one of size elem_sizes[i] Elements must be individually deallocated with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a0e7aa6efecb78b4e9732650b98a0f3ce">deallocate()</link> This function is available only with Version == 2 </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1ab1104767e3ff8daba2901d02720a9e29" name="deallocate_many" cv="noexcept"><type>void</type><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter><description><para>Deallocates several elements allocated by <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a3c36887c06be36f5af4f462f15a82282">allocate_many()</link>, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a6d7b955fd42f4a5999dd5ab3acc4c034">allocate()</link>, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a2ec40227e2078e8f9e3181dc5c7bd28f">allocation_command()</link>. This function is available only with Version == 2 </para></description></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1aac6a701921416e1e6b5e33685a95a7c1" name="swap" cv="noexcept"><type>void</type><parameter name=""><paramtype>self_t &amp;</paramtype></parameter><parameter name=""><paramtype>self_t &amp;</paramtype></parameter><description><para>Swaps two allocators, does nothing because this allocator is stateless </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a1c923b7e894d9cf2a14dd278021e65f5" name="operator==" cv="noexcept"><type>bool</type><parameter name=""><paramtype>const <classname>allocator</classname> &amp;</paramtype></parameter><parameter name=""><paramtype>const <classname>allocator</classname> &amp;</paramtype></parameter><description><para>An allocator always compares to true, as memory allocated with one instance can be deallocated by another instance </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1a1f0ba8d66cbc541d18e9934dc950c9fd" name="operator!=" cv="noexcept"><type>bool</type><parameter name=""><paramtype>const <classname>allocator</classname> &amp;</paramtype></parameter><parameter name=""><paramtype>const <classname>allocator</classname> &amp;</paramtype></parameter><description><para>An allocator always compares to false, as memory allocated with one instance can be deallocated by another instance </para></description></method>
</method-group>
<method-group name="private member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator_1ae06af51997c20532d48460c4b16992f9" name="priv_allocation_command"><type>pointer</type><parameter name="command"><paramtype>allocation_type</paramtype></parameter><parameter name="limit_size"><paramtype>std::size_t</paramtype></parameter><parameter name="prefer_in_recvd_out_size"><paramtype>size_type &amp;</paramtype></parameter><parameter name="reuse_ptr"><paramtype>pointer &amp;</paramtype></parameter></method>
</method-group>
</class>




















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.allocator__traits_8hpp" name="boost/container/allocator_traits.hpp">
<namespace name="boost">
<namespace name="container">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits" name="allocator_traits"><template>
      <template-type-parameter name="Allocator"/>
    </template><description><para>The class template <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits">allocator_traits</link> supplies a uniform interface to all allocator types. This class is a C++03-compatible implementation of std::allocator_traits </para></description><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1_1portable__rebind__alloc" name="portable_rebind_alloc"><template>
      <template-type-parameter name="T"/>
    </template><description><para>Non-standard extension: Portable allocator rebind for C++03 and C++11 compilers. <computeroutput>type</computeroutput> is an allocator related to Allocator deduced deduced by rules explained in <computeroutput>rebind_alloc</computeroutput>. </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1_1portable__rebind__alloc_1ac55a4b70c9911c29ba07a575c8ba23ff" name="type"><type>see_documentation</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a37b715c0a291b9441ef7d571e768203e" name="allocator_type"><type>Allocator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a187569fdb3229fed110d25332ff16ecc" name="value_type"><type>allocator_type::value_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1ae3ce016bfe535073fe66fbd729796663" name="pointer"><description><para>Allocator::pointer if such a type exists; otherwise, value_type* </para></description><type>unspecified</type></typedef>
<typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a930845cb66e25bcdbb1a891b95d51df6" name="const_pointer"><description><para>Allocator::const_pointer if such a type exists ; otherwise, pointer_traits&lt;pointer&gt;::rebind&lt;const </para></description><type>see_documentation</type></typedef>
<typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a7e4e6725356c589e62c84e5f0022f3c0" name="reference"><description><para>Non-standard extension Allocator::reference if such a type exists; otherwise, value_type&amp; </para></description><type>see_documentation</type></typedef>
<typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1af4bcc2a472ed020de173b8d401f6c73f" name="const_reference"><description><para>Non-standard extension Allocator::const_reference if such a type exists ; otherwise, const value_type&amp; </para></description><type>see_documentation</type></typedef>
<typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a5a890a6e98e3b6bcee85aa404bb20380" name="void_pointer"><description><para>Allocator::void_pointer if such a type exists ; otherwise, pointer_traits&lt;pointer&gt;::rebind&lt;void&gt;. </para></description><type>see_documentation</type></typedef>
<typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1ab55d28574910cb9446fdf6310dfc8e0f" name="const_void_pointer"><description><para>Allocator::const_void_pointer if such a type exists ; otherwise, pointer_traits&lt;pointer&gt;::rebind&lt;const </para></description><type>see_documentation</type></typedef>
<typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1ae3aede855e32c66ac95120a4d2c6f8a2" name="difference_type"><description><para>Allocator::difference_type if such a type exists ; otherwise, pointer_traits&lt;pointer&gt;::difference_type. </para></description><type>see_documentation</type></typedef>
<typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a359e3f9dec73160eab91e0ba8f5595d9" name="size_type"><description><para>Allocator::size_type if such a type exists ; otherwise, make_unsigned&lt;difference_type&gt;::type </para></description><type>see_documentation</type></typedef>
<typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a09e36d7078b102416a5d12e779566909" name="propagate_on_container_copy_assignment"><description><para>Allocator::propagate_on_container_copy_assignment if such a type exists, otherwise a type with an internal constant static boolean member <computeroutput>value</computeroutput> == false. </para></description><type>see_documentation</type></typedef>
<typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a0701b56d932091c18e3c4b78ffc90c80" name="propagate_on_container_move_assignment"><description><para>Allocator::propagate_on_container_move_assignment if such a type exists, otherwise a type with an internal constant static boolean member <computeroutput>value</computeroutput> == false. </para></description><type>see_documentation</type></typedef>
<typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a065d8c668d9a0fc4b7b225d1bb54b498" name="propagate_on_container_swap"><description><para>Allocator::propagate_on_container_swap if such a type exists, otherwise a type with an internal constant static boolean member <computeroutput>value</computeroutput> == false. </para></description><type>see_documentation</type></typedef>
<typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a90c5d5f665f3737cfe614d7a50dc065c" name="is_always_equal"><description><para>Allocator::is_always_equal if such a type exists, otherwise a type with an internal constant static boolean member <computeroutput>value</computeroutput> == is_empty&lt;Allocator&gt;::value </para></description><type>see_documentation</type></typedef>
<typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a337472d0fbc669dfcb93042d36d4097a" name="is_partially_propagable"><description><para>Allocator::is_partially_propagable if such a type exists, otherwise a type with an internal constant static boolean member <computeroutput>value</computeroutput> == false <emphasis role="bold">Note</emphasis>: Non-standard extension used to implement <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator">small_vector_allocator</link></computeroutput>. </para></description><type>see_documentation</type></typedef>
<typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1af46de7c56c83c9a7dc3a44958aef5e7a" name="rebind_alloc"><description><para>Defines an allocator: Allocator::rebind&lt;T&gt;::other if such a type exists; otherwise, Allocator&lt;T, Args&gt; if Allocator is a class template instantiation of the form Allocator&lt;U, Args&gt;, where Args is zero or more type arguments ; otherwise, the instantiation of rebind_alloc is ill-formed.</para><para>In C++03 compilers <computeroutput>rebind_alloc</computeroutput> is a struct derived from an allocator deduced by previously detailed rules. </para></description><type>see_documentation</type></typedef>
<typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a6df482e78681acc4a7dfcb2f04e8df48" name="rebind_traits"><description><para>In C++03 compilers <computeroutput>rebind_traits</computeroutput> is a struct derived from <computeroutput>allocator_traits&lt;OtherAlloc&gt;</computeroutput>, where <computeroutput>OtherAlloc</computeroutput> is the allocator deduced by rules explained in <computeroutput>rebind_alloc</computeroutput>. </para></description><type><classname>allocator_traits</classname>&lt; rebind_alloc&lt; T &gt; &gt;</type></typedef>
<method-group name="public static functions">
<method id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1ae5b146d18bfd597741d88e0962b43a7d" name="allocate" specifiers="static"><type>pointer</type><parameter name="a"><paramtype>Allocator &amp;</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: <computeroutput>a.allocate(n)</computeroutput> </para></description></method>
<method id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a92aa2dc105cd5b34f73ef8680a0c681e" name="deallocate" specifiers="static"><type>void</type><parameter name="a"><paramtype>Allocator &amp;</paramtype></parameter><parameter name="p"><paramtype>pointer</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: <computeroutput>a.deallocate(p, n)</computeroutput></para><para><emphasis role="bold">Throws</emphasis>: Nothing </para></description></method>
<method id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a448fab5ee9dec30dbe58f2a956c44fab" name="allocate" specifiers="static"><type>pointer</type><parameter name="a"><paramtype>Allocator &amp;</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="p"><paramtype>const_void_pointer</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: calls <computeroutput>a.allocate(n, p)</computeroutput> if that call is well-formed; otherwise, invokes <computeroutput>a.allocate(n)</computeroutput> </para></description></method>
<method id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a709a15dc30bce1784bdeac20e628eb32" name="destroy" cv="noexcept" specifiers="static"><type>void</type><template>
          <template-type-parameter name="T"/>
        </template><parameter name="a"><paramtype>Allocator &amp;</paramtype></parameter><parameter name="p"><paramtype>T *</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: calls <computeroutput>a.destroy(p)</computeroutput> if that call is well-formed; otherwise, invokes <computeroutput>p-&gt;~T()</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1accb277010b5096de28aada9fafd9045e" name="max_size" cv="noexcept" specifiers="static"><type>size_type</type><parameter name="a"><paramtype>const Allocator &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: <computeroutput>a.max_size()</computeroutput> if that expression is well-formed; otherwise, <computeroutput>numeric_limits&lt;size_type&gt;::max()</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1acb343a21c5d0dfe31c8b4851c8903971" name="select_on_container_copy_construction" specifiers="static"><type>Allocator</type><parameter name="a"><paramtype>const Allocator &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: <computeroutput>a.select_on_container_copy_construction()</computeroutput> if that expression is well-formed; otherwise, a. </para></description></method>
<method id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a689b5729a0c30a9dd838d2b2f4dfb986" name="construct" specifiers="static"><type>void</type><template>
          <template-type-parameter name="T"/>
          <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
        </template><parameter name="a"><paramtype>Allocator &amp;</paramtype></parameter><parameter name="p"><paramtype>T *</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: calls <computeroutput>a.construct(p, std::forward&lt;Args&gt;(args)...)</computeroutput> if that call is well-formed; otherwise, invokes <computeroutput><computeroutput>placement new</computeroutput> (static_cast&lt;void*&gt;(p)) T(std::forward&lt;Args&gt;(args)...)</computeroutput> </para></description></method>
<method id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a37f229dc4551a1043a8e6f6c3a84b442" name="storage_is_unpropagable" cv="noexcept" specifiers="static"><type>bool</type><parameter name="a"><paramtype>const Allocator &amp;</paramtype></parameter><parameter name="p"><paramtype>pointer</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: <computeroutput>a.storage_is_unpropagable(p)</computeroutput> if is_partially_propagable::value is true; otherwise, <computeroutput>false</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1aa21cdb8e823adce34b2cd9b5662dd782" name="equal" cv="noexcept" specifiers="static"><type>bool</type><parameter name="a"><paramtype>const Allocator &amp;</paramtype></parameter><parameter name="b"><paramtype>const Allocator &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: <computeroutput>true</computeroutput> if <computeroutput>is_always_equal::value == true</computeroutput>, otherwise, <computeroutput>a == b</computeroutput>. </para></description></method>
</method-group>
</struct><namespace name="dtl">
<function id="doxygen.boost_container_header_reference.allocator__traits_8hpp_1ad87650b779a3f865576b57ffdce4b631" name="construct_type"><type>void</type><template>
          <template-type-parameter name="T"/>
          <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
        </template><parameter name="p"><paramtype>T *</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.allocator__traits_8hpp_1abe25c07ce838635ed90190db304b90e7" name="construct_type"><type>dtl::enable_if&lt; dtl::is_pair&lt; Pair &gt;, void &gt;::type</type><template>
          <template-type-parameter name="Pair"/>
          <template-type-parameter name="KeyType"/>
          <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
        </template><parameter name="p"><paramtype>Pair *</paramtype></parameter><parameter name=""><paramtype>try_emplace_t</paramtype></parameter><parameter name="k"><paramtype>KeyType &amp;&amp;</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.allocator__traits_8hpp_1a77a26e8930784d88181a5e58620e109d" name="construct_type"><type>dtl::enable_if&lt; dtl::is_pair&lt; T &gt;, void &gt;::type</type><template>
          <template-type-parameter name="T"/>
        </template><parameter name="p"><paramtype>T *</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.allocator__traits_8hpp_1a0d6d9f5cabf4425178af132e4df89309" name="construct_type"><type>dtl::enable_if_c&lt; dtl::is_pair&lt; T &gt;::value, void &gt;::type</type><template>
          <template-type-parameter name="T"/>
          <template-type-parameter name="U"/>
        </template><parameter name="p"><paramtype>T *</paramtype></parameter><parameter name="u"><paramtype>U &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.allocator__traits_8hpp_1afd9c654713b9c71ca8a9c1c98a5d1775" name="construct_type"><type><emphasis>unspecified</emphasis></type><template>
          <template-type-parameter name="T"/>
          <template-type-parameter name="U"/>
        </template><parameter name="p"><paramtype>T *</paramtype></parameter><parameter name="u"><paramtype>U &amp;&amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.allocator__traits_8hpp_1ac41ed1b9b1e6db311285a36b1581403e" name="construct_type"><type>dtl::enable_if&lt; dtl::is_pair&lt; T &gt;, void &gt;::type</type><template>
          <template-type-parameter name="T"/>
          <template-type-parameter name="U"/>
          <template-type-parameter name="V"/>
        </template><parameter name="p"><paramtype>T *</paramtype></parameter><parameter name="x"><paramtype>U &amp;&amp;</paramtype></parameter><parameter name="y"><paramtype>V &amp;&amp;</paramtype></parameter></function>
</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.container__fwd_8hpp" name="boost/container/container_fwd.hpp">
<para>This header file forward declares the following containers:<itemizedlist>
<listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector">boost::container::vector</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">boost::container::stable_vector</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">boost::container::static_vector</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__base">boost::container::small_vector_base</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector">boost::container::small_vector</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector">boost::container::devector</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist">boost::container::slist</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1list">boost::container::list</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set">boost::container::set</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset">boost::container::multiset</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map">boost::container::map</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap">boost::container::multimap</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set">boost::container::flat_set</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset">boost::container::flat_multiset</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">boost::container::flat_map</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">boost::container::flat_multimap</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">boost::container::basic_string</link></para>
</listitem><listitem><para>boost::container::string</para>
</listitem><listitem><para>boost::container::wstring</para>
</listitem></itemizedlist>
</para><para>Forward declares the following allocators:<itemizedlist>
<listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1allocator">boost::container::allocator</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator">boost::container::node_allocator</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1adaptive__pool">boost::container::adaptive_pool</link></para>
</listitem></itemizedlist>
</para><para>Forward declares the following polymorphic resource classes:<itemizedlist>
<listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource">boost::container::pmr::memory_resource</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator">boost::container::pmr::polymorphic_allocator</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource">boost::container::pmr::monotonic_buffer_resource</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1pool__options">boost::container::pmr::pool_options</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource">boost::container::pmr::unsynchronized_pool_resource</link></para>
</listitem><listitem><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource">boost::container::pmr::synchronized_pool_resource</link></para>
</listitem></itemizedlist>
</para><para>And finally it defines the following types </para><namespace name="boost">
<namespace name="container">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1default__init__t" name="default_init_t"><description><para>Type used to tag that the inserted values should be default initialized </para></description></struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1ordered__range__t" name="ordered_range_t"><description><para>Type used to tag that the input range is guaranteed to be ordered </para></description></struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1ordered__unique__range__t" name="ordered_unique_range_t"><inherit access="public">boost::container::ordered_range_t</inherit><description><para>Type used to tag that the input range is guaranteed to be ordered and unique </para></description></struct><data-member id="doxygen.boost_container_header_reference.container__fwd_8hpp_1a642669bc11454126238a17887df7a550" name="ordered_range"><type>BOOST_CONTAINER_CONSTANT_VAR <classname>ordered_range_t</classname></type><description><para>Value used to tag that the input range is guaranteed to be ordered </para></description></data-member>
<data-member id="doxygen.boost_container_header_reference.container__fwd_8hpp_1a4c162e70e70a111228f6068a842b9b0c" name="ordered_unique_range"><type>BOOST_CONTAINER_CONSTANT_VAR <classname>ordered_unique_range_t</classname></type><description><para>Value used to tag that the input range is guaranteed to be ordered and unique </para></description></data-member>
<data-member id="doxygen.boost_container_header_reference.container__fwd_8hpp_1ac1cf57eb8a50c6330153e86be09a56a4" name="default_init"><type>BOOST_CONTAINER_CONSTANT_VAR <classname>default_init_t</classname></type><description><para>Value used to tag that the inserted values should be default initialized </para></description></data-member>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.deque_8hpp" name="boost/container/deque.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque" name="deque"><template>
      <template-type-parameter name="T"><purpose><para>The type of object that is stored in the deque </para></purpose></template-type-parameter>
      <template-type-parameter name="Allocator"><default>void</default></template-type-parameter>
      <template-type-parameter name="Options"><default>void</default><purpose><para>A type produced from <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1deque__options">boost::container::deque_options</link></computeroutput>. </para></purpose></template-type-parameter>
    </template><inherit access="protected">deque_base&lt; real_allocator&lt; T, void &gt;::type, void &gt;</inherit><description><para>A double-ended queue is a sequence that supports random access to elements, constant time insertion and removal of elements at the end of the sequence, and linear time insertion and removal of elements in the middle.</para><para>
</para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1adbd6084f288f80315a6d0bd7a6a7928d" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a86c2ba634136cc50495c67a950ce691d" name="allocator_type"><type>ValAllocator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aa8fde2d263bf61369525c4700dbfb8ef" name="pointer"><type><classname>::boost::container::allocator_traits</classname>&lt; ValAllocator &gt;::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ab9352225b1b3a51eb745917055cc38ba" name="const_pointer"><type><classname>::boost::container::allocator_traits</classname>&lt; ValAllocator &gt;::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a0229ef4318614c288ead8c45120a074e" name="reference"><type><classname>::boost::container::allocator_traits</classname>&lt; ValAllocator &gt;::reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1abe472481e7a0dc622c8d9163afb20dac" name="const_reference"><type><classname>::boost::container::allocator_traits</classname>&lt; ValAllocator &gt;::const_reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a5f5383b029325a5201cc0bd83c2d2c2d" name="size_type"><type><classname>::boost::container::allocator_traits</classname>&lt; ValAllocator &gt;::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1af50b0ba4531530cfd686c4bacd5d1aef" name="difference_type"><type><classname>::boost::container::allocator_traits</classname>&lt; ValAllocator &gt;::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1af7cae28c9f0822ea353f49a382809f90" name="stored_allocator_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a8cffd2cba3cedb030049800938148c18" name="iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ad49bc472bb13fd2bd0b11b4e9a95bf28" name="const_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a34212dd6d840ee5bad6bbd911417401d" name="reverse_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aa0b34cb6a06f69952a2e544a5f34bdf6" name="const_reverse_iterator"><type>implementation_defined</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ab31e3cf1359379400c825a8047f7a11d" cv="noexcept(dtl::is_nothrow_default_constructible&lt; ValAllocator &gt;::value)"><description><para><emphasis role="bold">Effects</emphasis>: Default constructors a deque.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a78c4480f3d6eb28860ac3a24f1b230c3" specifiers="explicit" cv="noexcept"><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a deque taking the allocator as parameter.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ace33a3f2b6b61cc07c64f9233a496cb3" specifiers="explicit"><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a deque and inserts n value initialized values.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's value initialization throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ad0dcb8fbced358e6f9a7cae1ade5ac9c"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a deque and inserts n default initialized values.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's default initialization or copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aaed6ae7834e4eb504c6036a62313d4db" specifiers="explicit"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a deque that will use a copy of allocator a and inserts n value initialized values.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's value initialization throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ac50247271ebac3112a2e36c3291f4e1a"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a deque that will use a copy of allocator a and inserts n default initialized values.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's default initialization or copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1adb375ebe74303bbfe5be1010ca10a144"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="value"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a deque that will use a copy of allocator a and inserts n copies of value.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a81cc6b0b4d028c654ed2376b16e29625"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="value"><paramtype>const value_type &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a deque that will use a copy of allocator a and inserts n copies of value.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aa24eee80c57da64a8c077d7b719924a2"><template>
          <template-type-parameter name="InIt"/>
        </template><parameter name="first"><paramtype>InIt</paramtype></parameter><parameter name="last"><paramtype>InIt</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a deque that will use a copy of allocator a and inserts a copy of the range [first, last) in the deque.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's constructor taking a dereferenced InIt throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the range [first, last). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aeb1b7f11121dba88b764a1009f6abf9d"><template>
          <template-type-parameter name="InIt"/>
        </template><parameter name="first"><paramtype>InIt</paramtype></parameter><parameter name="last"><paramtype>InIt</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a deque that will use a copy of allocator a and inserts a copy of the range [first, last) in the deque.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's constructor taking a dereferenced InIt throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the range [first, last). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1af1dd20dcbf3ac98ad0d4523379c56a56"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a deque that will use a copy of allocator a and inserts a copy of the range [il.begin(), il.end()) in the deque.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's constructor taking a dereferenced std::initializer_list iterator throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the range [il.begin(), il.end()). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a3a16b1e1a014cf772d848b8081a8afbf"><parameter name="x"><paramtype>const <classname>deque</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a deque.</para><para><emphasis role="bold">Postcondition</emphasis>: x == *this.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements x contains. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1af9207018a08b726e02ef77f515339514" cv="noexcept"><parameter name="x"><paramtype><classname>deque</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructor. Moves x's resources to *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ac4ed3e9d7667d556f19854f6c34f11ee"><parameter name="x"><paramtype>const <classname>deque</classname> &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a vector using the specified allocator.</para><para><emphasis role="bold">Postcondition</emphasis>: x == *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements x contains. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1af1737ddb38fd2512527c937568192a79"><parameter name="x"><paramtype><classname>deque</classname> &amp;&amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructor using the specified allocator. Moves x's resources to *this if a == allocator_type(). Otherwise copies values from x to *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocation or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant if a == x.get_allocator(), linear otherwise. </para></description></constructor>
<destructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a09c82430e0c87b6f162a700e4620243c" cv="noexcept"><description><para><emphasis role="bold">Effects</emphasis>: Destroys the deque. All stored values are destroyed and used memory is deallocated.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements. </para></description></destructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aeb949a67a1cbeca2049b6520d72b6603"><type><classname>deque</classname> &amp;</type><parameter name="x"><paramtype>const <classname>deque</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Makes *this contain the same elements as x.</para><para><emphasis role="bold">Postcondition</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783">size()</link> == x.size(). *this contains a copy of each of x's elements.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in x. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aad4e3aa15bd1c9ff5f2163a63d54fbf8" cv="noexcept(allocator_traits_type::propagate_on_container_move_assignment::value||allocator_traits_type::is_always_equal::value)"><type><classname>deque</classname> &amp;</type><parameter name="x"><paramtype><classname>deque</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move assignment. All x's values are transferred to *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_traits_type::propagate_on_container_move_assignment is false and (allocation throws or value_type's move constructor throws)</para><para><emphasis role="bold">Complexity</emphasis>: Constant if allocator_traits_type:: propagate_on_container_move_assignment is true or this-&gt;get&gt;allocator() == x.get_allocator(). Linear otherwise. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a81ab52d10e2251d79f92c18ec990d3fa"><type><classname>deque</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Makes *this contain the same elements as il.</para><para><emphasis role="bold">Postcondition</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783">size()</link> == il.size(). *this contains a copy of each of x's elements.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in il. </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a482470393c5c122ae410578f91e233e1" name="assign"><type>void</type><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="val"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assigns the n copies of val to *this.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a2f88947d19549860fb861c778c1e298f" name="assign"><type>void</type><template>
          <template-type-parameter name="InIt"/>
        </template><parameter name="first"><paramtype>InIt</paramtype></parameter><parameter name="last"><paramtype>InIt</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assigns the the range [first, last) to *this.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's constructor from dereferencing InIt throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a4fb2ef483bfdab7a2fe7874cd9252e96" name="assign"><type>void</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assigns the the range [il.begin(), il.end()) to *this.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's constructor from dereferencing std::initializer_list iterator throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to il.size(). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a10e4341f9beb3556bf9470d89f611ffc" name="get_allocator" cv="const noexcept"><type>allocator_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a copy of the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: If allocator's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ab768f9b79e96ef78c25a9475fe9a1802" name="get_stored_allocator" cv="const noexcept"><type>const stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a2096eb3560b62923e2eff92746a4f137" name="get_stored_allocator" cv="noexcept"><type>stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1add112de85e00a75fcaea3a24d3e9df0e" name="begin" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the first element contained in the deque.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a0705a26454582df127fa8a884b4cef36" name="begin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the deque.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ae90bad7d69882c9571cc4a643e81481c" name="end" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the end of the deque.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a5171faae725f8aacae49643fbe7cf0ae" name="end" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the deque.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a384d60619fb85d010ba68b3af46cecf6" name="rbegin" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the beginning of the reversed deque.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a91b4794b529ac4bc750400998875acd2" name="rbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed deque.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a220b702d2b20b050af03e7fe4e0399c5" name="rend" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the end of the reversed deque.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a261c250c979a875435f04e18097a042e" name="rend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed deque.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a320f6be0a36c341400f26ff0f42a3ea7" name="cbegin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the deque.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a3a20cbce2918a5959d70fdb7182f518d" name="cend" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the deque.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a0c64b1e5e542da19d727a84cd786f5c0" name="crbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed deque.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a90c0e9f5108b96c9431cb96ffeb07039" name="crend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed deque.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a4c12e52a6cb1cd86074a4acbde4e391e" name="empty" cv="const noexcept"><type>bool</type><description><para><emphasis role="bold">Effects</emphasis>: Returns true if the deque contains no elements.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783" name="size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the number of the elements contained in the deque.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a44179435c296011d564a5d44c470db6b" name="max_size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the largest possible size of the deque.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a6f520b6813d46071936903b527f4e0c9" name="resize"><type>void</type><parameter name="new_size"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts or erases elements at the end such that the size becomes n. New elements are value initialized.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or T's constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the difference between <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783">size()</link> and new_size. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a6f1a13cfa98887e39473bbd80504609e" name="resize"><type>void</type><parameter name="new_size"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts or erases elements at the end such that the size becomes n. New elements are default initialized.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or T's constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the difference between <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783">size()</link> and new_size.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a415af326d2e102d8733bb4f8345f0997" name="resize"><type>void</type><parameter name="new_size"><paramtype>size_type</paramtype></parameter><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts or erases elements at the end such that the size becomes n. New elements are copy constructed from x.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the difference between <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783">size()</link> and new_size. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a571a1ebd439c33f1f113a7d4085bcd6f" name="shrink_to_fit"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Tries to deallocate the excess of memory created with previous allocations. The size of the deque is unchanged</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ab788832410aec3eb172baa5ea010d8c1" name="front" cv="noexcept"><type>reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the first element of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a32c8e5b597d498601a4d650b3d6584ca" name="front" cv="const noexcept"><type>const_reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the first element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a44405cad37ae73a33acc76269f6a424f" name="back" cv="noexcept"><type>reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the last element of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aac5fe0749158424f48b6fca1a7d2e5cf" name="back" cv="const noexcept"><type>const_reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the last element of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ae0776eb7f0a4370ccad45bafb519db40" name="operator[]" cv="noexcept"><type>reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783">size()</link> &gt; n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the nth element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aaea9864c1a994731b2a4e80bd827df6b" name="operator[]" cv="const noexcept"><type>const_reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783">size()</link> &gt; n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the nth element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a7073b3e19f93ece2fd68b369c6c0e220" name="nth" cv="noexcept"><type>iterator</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783">size()</link> &gt;= n.</para><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the nth element from the beginning of the container. Returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ae90bad7d69882c9571cc4a643e81481c">end()</link> if n == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a120491aaef66d07706b72a061b967e4f" name="nth" cv="const noexcept"><type>const_iterator</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783">size()</link> &gt;= n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the nth element from the beginning of the container. Returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ae90bad7d69882c9571cc4a643e81481c">end()</link> if n == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a902a054a083e51c5f0c4d792ebb2ecfb" name="index_of" cv="noexcept"><type>size_type</type><parameter name="p"><paramtype>iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1add112de85e00a75fcaea3a24d3e9df0e">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ae90bad7d69882c9571cc4a643e81481c">end()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Returns the index of the element pointed by p and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783">size()</link> if p == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ae90bad7d69882c9571cc4a643e81481c">end()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a1c7caa5c1f258ac28214f02ec8a3d16c" name="index_of" cv="const noexcept"><type>size_type</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1add112de85e00a75fcaea3a24d3e9df0e">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ae90bad7d69882c9571cc4a643e81481c">end()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Returns the index of the element pointed by p and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783">size()</link> if p == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ae90bad7d69882c9571cc4a643e81481c">end()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a7559532bc4d772315c64165f0626171a" name="at"><type>reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783">size()</link> &gt; n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the nth element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: range_error if n &gt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783">size()</link></para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a2e9a915e012e48002917e24d8fe44675" name="at" cv="const"><type>const_reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783">size()</link> &gt; n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the nth element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: range_error if n &gt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aea640403f2b7ba11b830f92414432783">size()</link></para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a44a54253630314d94626c84ef9a44456" name="emplace_front"><type>reference</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... in the beginning of the deque.</para><para><emphasis role="bold">Returns</emphasis>: A reference to the created object.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or the in-place constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ae8f574b514b6e09fc6d13a9a6e0d7c3f" name="emplace_back"><type>reference</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... in the end of the deque.</para><para><emphasis role="bold">Returns</emphasis>: A reference to the created object.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or the in-place constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a225d300e4bce4ccfdf2f44de9afaac85" name="emplace"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... before p</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or the in-place constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: If p is <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ae90bad7d69882c9571cc4a643e81481c">end()</link>, amortized constant time Linear time otherwise. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a3eda1e06b2fa3c4d657af95cb3b95fac" name="push_front"><type>void</type><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of x at the front of the deque.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a496ed71734410dba2589f59d0b6ea816" name="push_front"><type>void</type><parameter name="x"><paramtype>T &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a new element in the front of the deque and moves the resources of x to this new element.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ab3a60b1a80ab59f7cf46efb174248748" name="push_back"><type>void</type><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of x at the end of the deque.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1acff6f99249944b56fe1e0a998f73b474" name="push_back"><type>void</type><parameter name="x"><paramtype>T &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a new element in the end of the deque and moves the resources of x to this new element.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a0c951ef72bd3d0542e345c75a3e253ee" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a copy of x before p.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the inserted element.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or x's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: If p is <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ae90bad7d69882c9571cc4a643e81481c">end()</link>, amortized constant time Linear time otherwise. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a4edde910e4e5682aa2af4957328301db" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>T &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a new element before p with x's resources.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the inserted element.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws.</para><para><emphasis role="bold">Complexity</emphasis>: If p is <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ae90bad7d69882c9571cc4a643e81481c">end()</link>, amortized constant time Linear time otherwise. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a7c75c12c4fdf7e31c97983d7be068b9f" name="insert"><type>iterator</type><parameter name="pos"><paramtype>const_iterator</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert n copies of x before pos.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or pos if n is 0.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aa6765ebb3f1e6e3b9cf3de221a87b76e" name="insert"><type>iterator</type><template>
          <template-type-parameter name="InIt"/>
        </template><parameter name="pos"><paramtype>const_iterator</paramtype></parameter><parameter name="first"><paramtype>InIt</paramtype></parameter><parameter name="last"><paramtype>InIt</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a copy of the [first, last) range before pos.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or pos if first == last.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, T's constructor from a dereferenced InIt throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to distance [first, last). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a8b821f0bd77401f693c63205349aae19" name="insert"><type>iterator</type><parameter name="pos"><paramtype>const_iterator</paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a copy of the [il.begin(), il.end()) range before pos.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or pos if il.begin() == il.end().</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, T's constructor from a dereferenced std::initializer_list throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to distance [il.begin(), il.end()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a395a46b9ebe10fb793d183b02de1be53" name="pop_front" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Removes the first element from the deque.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a0ab389dbc76ae7f27c8e7166535dc740" name="pop_back" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Removes the last element from the deque.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a1bf95e7f8d5468898788d1ac81538e55" name="erase" cv="noexcept"><type>iterator</type><parameter name="pos"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases the element at p.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements between pos and the last element (if pos is near the end) or the first element if(pos is near the beginning). Constant if pos is the first or the last element. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ab31585c0de78ec0581d09850ceee2131" name="erase" cv="noexcept"><type>iterator</type><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases the elements pointed by [first, last).</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the distance between first and last plus the elements between pos and the last element (if pos is near the end) or the first element if(pos is near the beginning). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1ab71258407a1443080f1b5b93ffc5e6cd" name="swap" cv="noexcept(allocator_traits_type::propagate_on_container_swap::value||allocator_traits_type::is_always_equal::value)"><type>void</type><parameter name="x"><paramtype><classname>deque</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Swaps the contents of *this and x.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a8b0918f7356781626028d4dc2ca41135" name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Erases all the elements of the deque.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the deque. </para></description></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a231d653119ac632ce95499cb154842cc" name="operator=="><type>bool</type><parameter name="x"><paramtype>const <classname>deque</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>deque</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are equal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1afc83d22e093416929a36995b35180d8b" name="operator!="><type>bool</type><parameter name="x"><paramtype>const <classname>deque</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>deque</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are unequal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a79c789f3fbe4a5cf8c000d3d879ebaf6" name="operator&lt;"><type>bool</type><parameter name="x"><paramtype>const <classname>deque</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>deque</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1aaec95e21289b19edfcc12fa7de60fdaa" name="operator&gt;"><type>bool</type><parameter name="x"><paramtype>const <classname>deque</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>deque</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a2cf85b41cdd9403a348d603b8859685c" name="operator&lt;="><type>bool</type><parameter name="x"><paramtype>const <classname>deque</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>deque</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a54b7520fae1c8db2bbbd9cebe3ba4093" name="operator&gt;="><type>bool</type><parameter name="x"><paramtype>const <classname>deque</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>deque</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque_1a017facd32989bdb41f6587cf8af40872" name="swap" cv="noexcept(noexcept(x.swap(y)))"><type>void</type><parameter name="x"><paramtype><classname>deque</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype><classname>deque</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: x.swap(y)</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
</method-group>
</class>


















































































































<function id="doxygen.boost_container_header_reference.deque_8hpp_1a09dede0337389ad3efa9f6c2d88a0ba8" name="deque"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.deque_8hpp_1a44ee416fc672fe16af693745af2ccee9" name="deque"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>
</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.pmr_2deque_8hpp" name="boost/container/pmr/deque.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1deque__of" name="deque_of"><template>
      <template-type-parameter name="T"/>
    </template><description><para>A portable metafunction to obtain a deque that uses a polymorphic allocator </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1deque__of_1a9ea8b0eb115de7a884d3241f4090d840" name="type"><type><classname>boost::container::deque</classname>&lt; T, <classname>polymorphic_allocator</classname>&lt; T &gt; &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.pmr_2deque_8hpp_1a312593107a1c82cfe0793dfd4c836c3c" name="deque"><type><classname>boost::container::deque</classname>&lt; T, <classname>polymorphic_allocator</classname>&lt; T &gt; &gt;</type></typedef>






</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.devector_8hpp" name="boost/container/devector.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector" name="devector"><template>
      <template-type-parameter name="T"/>
      <template-type-parameter name="A"><default>void</default></template-type-parameter>
      <template-type-parameter name="Options"><default>void</default><purpose><para>A type produced from <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1devector__options">boost::container::devector_options</link></computeroutput>. </para></purpose></template-type-parameter>
    </template><description><para>A vector-like sequence container providing front and back operations (e.g: <computeroutput>push_front</computeroutput>/<computeroutput>pop_front</computeroutput>/<computeroutput>push_back</computeroutput>/<computeroutput>pop_back</computeroutput>) with amortized constant complexity.</para><para>Models the <ulink url="http://en.cppreference.com/w/cpp/concept/SequenceContainer">SequenceContainer</ulink>, <ulink url="http://en.cppreference.com/w/cpp/concept/ReversibleContainer">ReversibleContainer</ulink>, and <ulink url="http://en.cppreference.com/w/cpp/concept/AllocatorAwareContainer">AllocatorAwareContainer</ulink> concepts.</para><para><emphasis role="bold">Requires</emphasis>:<itemizedlist>
<listitem><para><computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into the devector.</para>
</listitem><listitem><para><computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/Erasable">Erasable</ulink> from any <computeroutput>devector&lt;T, allocator_type, GP&gt;</computeroutput>.</para>
</listitem><listitem><para><computeroutput>GrowthFactor</computeroutput>, and <computeroutput>Allocator</computeroutput> must model the concepts with the same names or be void.</para>
</listitem></itemizedlist>
</para><para><emphasis role="bold">Definition</emphasis>: <computeroutput>T</computeroutput> is <computeroutput>NothrowConstructible</computeroutput> if it's either nothrow move constructible or nothrow copy constructible.</para><para><emphasis role="bold">Definition</emphasis>: <computeroutput>T</computeroutput> is <computeroutput>NothrowAssignable</computeroutput> if it's either nothrow move assignable or nothrow copy assignable.</para><para><emphasis role="bold">Exceptions</emphasis>: The exception specifications assume <computeroutput>T</computeroutput> is nothrow <ulink url="http://en.cppreference.com/w/cpp/concept/Destructible">Destructible</ulink>.</para><para>Most methods providing the strong exception guarantee assume <computeroutput>T</computeroutput> either has a move constructor marked noexcept or is <ulink url="http://en.cppreference.com/w/cpp/concept/CopyInsertable">CopyInsertable</ulink> into the devector. If it isn't true, and the move constructor throws, the guarantee is waived and the effects are unspecified.</para><para>In addition to the exceptions specified in the <emphasis role="bold">Throws</emphasis> clause, the following operations of <computeroutput>T</computeroutput> can throw when any of the specified concept is required:<itemizedlist>
<listitem><para><ulink url="http://en.cppreference.com/w/cpp/concept/DefaultInsertable">DefaultInsertable</ulink>: Default constructor</para>
</listitem><listitem><para><ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink>: Move constructor</para>
</listitem><listitem><para><ulink url="http://en.cppreference.com/w/cpp/concept/CopyInsertable">CopyInsertable</ulink>: Copy constructor</para>
</listitem><listitem><para><ulink url="http://en.cppreference.com/w/cpp/concept/DefaultConstructible">DefaultConstructible</ulink>: Default constructor</para>
</listitem><listitem><para><ulink url="http://en.cppreference.com/w/cpp/concept/EmplaceConstructible">EmplaceConstructible</ulink>: Constructor selected by the given arguments</para>
</listitem><listitem><para><ulink url="http://en.cppreference.com/w/cpp/concept/MoveAssignable">MoveAssignable</ulink>: Move assignment operator</para>
</listitem><listitem><para><ulink url="http://en.cppreference.com/w/cpp/concept/CopyAssignable">CopyAssignable</ulink>: Copy assignment operator</para>
</listitem></itemizedlist>
</para><para>Furthermore, not <computeroutput>noexcept</computeroutput> methods throws whatever the allocator throws if memory allocation fails. Such methods also throw <computeroutput>length_error</computeroutput> if the capacity exceeds <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a06ed6f401d8edb5065fcf0417c0f4b1a">max_size()</link></computeroutput>.</para><para><emphasis role="bold">Remark</emphasis>: If a method invalidates some iterators, it also invalidates references and pointers to the elements pointed by the invalidated iterators.</para><para>! 
</para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a4b857e0f3ea3eeb3d30c0b2dfb68cf6a" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a1dfc534fd67549a4789a0f3ead72f1fa" name="allocator_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1afb000457d45b62b768681ec4bcd20d2c" name="stored_allocator_type"><type>allocator_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a04a71239a95cc3b36f1a81bc04579a48" name="pointer"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1af762cdc447c319bdbff8b0228dfba9b4" name="const_pointer"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a28006c7579a70ccd2af8545dce1b137b" name="reference"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1aaeab1b9d07125ddbfef38c67e796a678" name="const_reference"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::const_reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a5f616e4f9b47ff0c50ea1ef286de8114" name="size_type"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a14aedf35b8d732dd6bae24842202951e" name="difference_type"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a7a67372ce1c4656b217b74d5977076c0" name="iterator"><type>pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a9e66551d04dc6923a0d2c2a7e6552efe" name="const_iterator"><type>const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ae40a2817d2009f79033a3b6d267b4fd6" name="reverse_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ae79b98ecaf1416ab8681b057e071d37a" name="const_reverse_iterator"><type>implementation_defined</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a72b8e368721d3908b8ade2c3ab745a69" cv="noexcept"><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty devector.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adf610789591b2fce61ce24fdd8032308">empty()</link> &amp;&amp; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adc07fd187fc51b2535e6929573a71274">front_free_capacity()</link> == 0 &amp;&amp; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a7ed0d23190215ed4aba56a462e9f3183">back_free_capacity()</link> == 0</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ac0f883634e4e7fb743ed5c79b405aebf" specifiers="explicit" cv="noexcept"><parameter name="allocator"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty devector, using the specified allocator.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adf610789591b2fce61ce24fdd8032308">empty()</link> &amp;&amp; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adc07fd187fc51b2535e6929573a71274">front_free_capacity()</link> == 0 &amp;&amp; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a7ed0d23190215ed4aba56a462e9f3183">back_free_capacity()</link> == 0</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a856a54231e398dc5b68d4be9dc82020c"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype>reserve_only_tag_t</paramtype></parameter><parameter name="allocator"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty devector, using the specified allocator and reserves <computeroutput>n</computeroutput> slots as if <computeroutput>reserve(n)</computeroutput> was called.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adf610789591b2fce61ce24fdd8032308">empty()</link> &amp;&amp; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a0c5eb747d982a401967213cdbfd4cf75">capacity()</link> &gt;= n</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abfbeb1fd895909045bfd5f0d22232b9c"><parameter name="front_free_cap"><paramtype>size_type</paramtype></parameter><parameter name="back_free_cap"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype>reserve_only_tag_t</paramtype></parameter><parameter name="allocator"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty devector, using the specified allocator and reserves at least <computeroutput>front_free_cap + back_free_cap</computeroutput> slots as if <computeroutput>reserve_front(front_cap)</computeroutput> and <computeroutput>reserve_back(back_cap)</computeroutput> was called.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adf610789591b2fce61ce24fdd8032308">empty()</link> &amp;&amp; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adc07fd187fc51b2535e6929573a71274">front_free_capacity()</link> &gt;= front_free_cap &amp;&amp; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a7ed0d23190215ed4aba56a462e9f3183">back_free_capacity()</link> &gt;= back_free_cap</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1aecad4eb3ed4121875f11825ee86f57a2" specifiers="explicit"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="allocator"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a devector with <computeroutput>n</computeroutput> value_initialized elements using the specified allocator.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/DefaultInsertable">DefaultInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link> == n</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in <computeroutput>n</computeroutput>. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a3de4bfc7cd47ad95018815d96a139775" specifiers="explicit"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><parameter name="allocator"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a devector with <computeroutput>n</computeroutput> default-initialized elements using the specified allocator.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be [DefaultInsertable] into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link> == n</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in <computeroutput>n</computeroutput>. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a33e42a859c7eb25f2eb9946951dba98a"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="value"><paramtype>const T &amp;</paramtype></parameter><parameter name="allocator"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a devector with <computeroutput>n</computeroutput> copies of <computeroutput>value</computeroutput>, using the specified allocator.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/CopyInsertable">CopyInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link> == n</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in <computeroutput>n</computeroutput>. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ad918fff9cd8bd0d4988c7899c624a505"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="allocator"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type() BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename dtl::disable_if_or&lt; void BOOST_MOVE_I dtl::is_convertible&lt; InputIterator BOOST_MOVE_I size_type &gt; BOOST_MOVE_I dtl::is_not_input_iterator&lt; InputIterator &gt; &gt;::type *=0)</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a devector equal to the range <computeroutput>[first,last)</computeroutput>, using the specified allocator.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/EmplaceConstructible">EmplaceConstructible</ulink> into <computeroutput>*this</computeroutput> from <computeroutput>*first</computeroutput>. If the specified iterator does not meet the forward iterator requirements, <computeroutput>T</computeroutput> shall also be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Postcondition</emphasis>: `size() == boost::container::iterator_distance(first, last)</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Makes only <computeroutput>N</computeroutput> calls to the copy constructor of <computeroutput>T</computeroutput> (where <computeroutput>N</computeroutput> is the distance between <computeroutput>first</computeroutput> and <computeroutput>last</computeroutput>), at most one allocation and no reallocations if iterators first and last are of forward, bidirectional, or random access categories. It makes <computeroutput>O(N)</computeroutput> calls to the copy constructor of <computeroutput>T</computeroutput> and `O(log(N)) reallocations if they are just input iterators.</para><para><emphasis role="bold">Remarks</emphasis>: Each iterator in the range <computeroutput>[first,last)</computeroutput> shall be dereferenced exactly once, unless an exception is thrown. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ad031d8b31bd004bd5aa6af452ad66788"><parameter name="x"><paramtype>const <classname>devector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a devector.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/CopyInsertable">CopyInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput>this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link> == x.size()</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>x</computeroutput>. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a4e14d335e676ddf2480e7e72a3af3a78"><parameter name="x"><paramtype>const <classname>devector</classname> &amp;</paramtype></parameter><parameter name="allocator"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a devector, using the specified allocator.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/CopyInsertable">CopyInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput>*this == x</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>x</computeroutput>. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ac52baabd771b9fafe0001b07d8c36459" cv="noexcept"><parameter name="rhs"><paramtype><classname>devector</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Moves <computeroutput>rhs</computeroutput>'s resources to <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Postcondition</emphasis>: *this has the same value <computeroutput>rhs</computeroutput> had before the operation. <computeroutput>rhs</computeroutput> is left in an unspecified but valid state.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee if not <computeroutput>noexcept</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ae97aa98ddd1d875f0cfa11ac4c2d5861"><parameter name="rhs"><paramtype><classname>devector</classname> &amp;&amp;</paramtype></parameter><parameter name="allocator"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Moves <computeroutput>rhs</computeroutput>'s resources to <computeroutput>*this</computeroutput>, using the specified allocator.</para><para><emphasis role="bold">Throws</emphasis>: If allocation or T's move constructor throws.</para><para><emphasis role="bold">Postcondition</emphasis>: *this has the same value <computeroutput>rhs</computeroutput> had before the operation. <computeroutput>rhs</computeroutput> is left in an unspecified but valid state.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee if not <computeroutput>noexcept</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Linear if allocator != rhs.get_allocator(), otherwise constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ad462a1bc34ef3b2d56f7f73f6fa83ca2"><parameter name="il"><paramtype>const std::initializer_list&lt; T &gt; &amp;</paramtype></parameter><parameter name="allocator"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para><emphasis role="bold">Equivalent to</emphasis>: <computeroutput>devector(il.begin(), il.end(), allocator)</computeroutput>. </para></description></constructor>
<destructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a89da99f9b4c05b6111453075befda36a" cv="noexcept"><description><para><emphasis role="bold">Effects</emphasis>: Destroys the devector. All stored values are destroyed and used memory, if any, deallocated.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>*this</computeroutput>. </para></description></destructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ac57d8f2794d660554c18030f9ed1189f"><type><classname>devector</classname> &amp;</type><parameter name="rhs"><paramtype>const <classname>devector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copies elements of <computeroutput>x</computeroutput> to <computeroutput>*this</computeroutput>. Previously held elements get copy assigned to or destroyed.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/CopyInsertable">CopyInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput>this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link> == x.size()</computeroutput>, the elements of <computeroutput>*this</computeroutput> are copies of elements in <computeroutput>x</computeroutput> in the same order.</para><para><emphasis role="bold">Returns</emphasis>: <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee if <computeroutput>T</computeroutput> is <computeroutput>NothrowConstructible</computeroutput> and the allocator is allowed to be propagated (<ulink url="http://en.cppreference.com/w/cpp/memory/allocator_traits">propagate_on_container_copy_assignment</ulink> is true), Basic exception guarantee otherwise.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>x</computeroutput> and <computeroutput>*this</computeroutput>. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a473ac620aab75e275231716f35879fd3" cv="noexcept(allocator_traits_type::propagate_on_container_move_assignment::value||allocator_traits_type::is_always_equal::value)"><type><classname>devector</classname> &amp;</type><parameter name="x"><paramtype><classname>devector</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Moves elements of <computeroutput>x</computeroutput> to <computeroutput>*this</computeroutput>. Previously held elements get move/copy assigned to or destroyed.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput>x</computeroutput> is left in an unspecified but valid state.</para><para><emphasis role="bold">Returns</emphasis>: <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Basic exception guarantee if not <computeroutput>noexcept</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Constant if allocator_traits_type:: propagate_on_container_move_assignment is true or this-&gt;get&gt;allocator() == x.get_allocator(). Linear otherwise. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a6bcd59101a1447222be8931ba6cc2a37"><type><classname>devector</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; T &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copies elements of <computeroutput>il</computeroutput> to <computeroutput>*this</computeroutput>. Previously held elements get copy assigned to or destroyed.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/CopyInsertable">CopyInsertable</ulink> into <computeroutput>*this</computeroutput> and <ulink url="http://en.cppreference.com/w/cpp/concept/CopyAssignable">CopyAssignable</ulink>.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput>this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link> == il.size()</computeroutput>, the elements of <computeroutput>*this</computeroutput> are copies of elements in <computeroutput>il</computeroutput> in the same order.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee if <computeroutput>T</computeroutput> is nothrow copy assignable from <computeroutput>T</computeroutput> and <computeroutput>NothrowConstructible</computeroutput>, Basic exception guarantee otherwise.</para><para><emphasis role="bold">Returns</emphasis>: <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>il</computeroutput> and <computeroutput>*this</computeroutput>. </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a2b6b2aa95a30ec320328c1f6c018310d" name="assign"><type>void</type><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="BOOST_CONTAINER_DOCIGN"><paramtype>InputIterator last </paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Replaces elements of <computeroutput>*this</computeroutput> with a copy of <computeroutput>[first,last)</computeroutput>. Previously held elements get copy assigned to or destroyed.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/EmplaceConstructible">EmplaceConstructible</ulink> from <computeroutput>*first</computeroutput>. If the specified iterator does not meet the forward iterator requirements, <computeroutput>T</computeroutput> shall be also <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Precondition</emphasis>: <computeroutput>first</computeroutput> and <computeroutput>last</computeroutput> are not iterators into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link> == N</computeroutput>, where <computeroutput>N</computeroutput> is the distance between <computeroutput>first</computeroutput> and <computeroutput>last</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee if <computeroutput>T</computeroutput> is nothrow copy assignable from <computeroutput>*first</computeroutput> and <computeroutput>NothrowConstructible</computeroutput>, Basic exception guarantee otherwise.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the distance between <computeroutput>first</computeroutput> and <computeroutput>last</computeroutput>. Makes a single reallocation at most if the iterators <computeroutput>first</computeroutput> and <computeroutput>last</computeroutput> are of forward, bidirectional, or random access categories. It makes <computeroutput>O(log(N))</computeroutput> reallocations if they are just input iterators.</para><para><emphasis role="bold">Remarks</emphasis>: Each iterator in the range <computeroutput>[first,last)</computeroutput> shall be dereferenced exactly once, unless an exception is thrown. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a2067abdfea70b1c3974048a596dc5e11" name="assign"><type>void</type><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="u"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Replaces elements of <computeroutput>*this</computeroutput> with <computeroutput>n</computeroutput> copies of <computeroutput>u</computeroutput>. Previously held elements get copy assigned to or destroyed.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/CopyInsertable">CopyInsertable</ulink> into <computeroutput>*this</computeroutput> and <ulink url="http://en.cppreference.com/w/cpp/concept/CopyAssignable">CopyAssignable</ulink>.</para><para><emphasis role="bold">Precondition</emphasis>: <computeroutput>u</computeroutput> is not a reference into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link> == n</computeroutput> and the elements of <computeroutput>*this</computeroutput> are copies of <computeroutput>u</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee if <computeroutput>T</computeroutput> is nothrow copy assignable from <computeroutput>u</computeroutput> and <computeroutput>NothrowConstructible</computeroutput>, Basic exception guarantee otherwise.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in <computeroutput>n</computeroutput> and the size of <computeroutput>*this</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a2b765222438de2d2c196754b810b7d78" name="assign"><type>void</type><parameter name="il"><paramtype>std::initializer_list&lt; T &gt;</paramtype></parameter><description><para><emphasis role="bold">Equivalent to</emphasis>: <computeroutput>assign(il.begin(), il.end())</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adacfd55fcc429bc6f0dbe26dceeb490a" name="get_allocator" cv="const noexcept"><type>allocator_type</type><description><para><emphasis role="bold">Returns</emphasis>: A copy of the allocator associated with the container.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a14cf3f970bd9ea1ae15f7bc2474ccbf0" name="get_stored_allocator" cv="const noexcept"><type>const allocator_type &amp;</type></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a0d602147234a84ad28df9783e30094c2" name="get_stored_allocator" cv="noexcept"><type>allocator_type &amp;</type></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1aeea85e1edbcae36ac717fb8b4539418e" name="begin" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Returns</emphasis>: A iterator pointing to the first element in the devector, or the past the end iterator if the devector is empty.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a00270e0fec3b198973810d2fca4ba6c8" name="begin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Returns</emphasis>: A constant iterator pointing to the first element in the devector, or the past the end iterator if the devector is empty.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1afc6dab064df380d9721614abc5b234ae" name="end" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing past the last element of the container.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a0e3768a4af2de2568a62b73c8c1d9dd7" name="end" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Returns</emphasis>: A constant iterator pointing past the last element of the container.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ad77c0f7b29a492b4b89be8da6c28e1ad" name="rbegin" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Returns</emphasis>: A reverse iterator pointing to the first element in the reversed devector, or the reverse past the end iterator if the devector is empty.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a5a88e2b8e7c8a52a910796982e4e2f6a" name="rbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Returns</emphasis>: A constant reverse iterator pointing to the first element in the reversed devector, or the reverse past the end iterator if the devector is empty.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a35eeb37c0ed621014e6c17f90072e7cb" name="rend" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Returns</emphasis>: A reverse iterator pointing past the last element in the reversed container, or to the beginning of the reversed container if it's empty.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a87e22224bf64e5ada02e63e41d5b6fec" name="rend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Returns</emphasis>: A constant reverse iterator pointing past the last element in the reversed container, or to the beginning of the reversed container if it's empty.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a7a388aad14738d4e9f42c945020b83ca" name="cbegin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Returns</emphasis>: A constant iterator pointing to the first element in the devector, or the past the end iterator if the devector is empty.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1aec16514732d0be5a6b636c16978464f8" name="cend" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Returns</emphasis>: A constant iterator pointing past the last element of the container.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a09ab7f06941e95046533515792c8ef93" name="crbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Returns</emphasis>: A constant reverse iterator pointing to the first element in the reversed devector, or the reverse past the end iterator if the devector is empty.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ac029f709433662631c77f2c1cf1b2b86" name="crend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Returns</emphasis>: A constant reverse iterator pointing past the last element in the reversed container, or to the beginning of the reversed container if it's empty.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adf610789591b2fce61ce24fdd8032308" name="empty" cv="const noexcept"><type>bool</type><description><para><emphasis role="bold">Returns</emphasis>: True, if <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link> == 0</computeroutput>, false otherwise.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7" name="size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Returns</emphasis>: The number of elements the devector contains.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a06ed6f401d8edb5065fcf0417c0f4b1a" name="max_size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Returns</emphasis>: The maximum number of elements the devector could possibly hold.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a0c5eb747d982a401967213cdbfd4cf75" name="capacity" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Returns</emphasis>: The <emphasis>minimum</emphasis> number of elements that can be inserted into devector using position-based insertions without requiring a reallocation. Note that, unlike in typical sequence containers like <computeroutput>vector</computeroutput>, <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a0c5eb747d982a401967213cdbfd4cf75">capacity()</link></computeroutput>, <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a0c5eb747d982a401967213cdbfd4cf75">capacity()</link></computeroutput> can be smaller than <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link></computeroutput>. This can happen if a user inserts elements in a particular way (usually inserting at front up to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adc07fd187fc51b2535e6929573a71274">front_free_capacity()</link> and at back up to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a7ed0d23190215ed4aba56a462e9f3183">back_free_capacity()</link>).</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adc07fd187fc51b2535e6929573a71274" name="front_free_capacity" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Returns</emphasis>: The total number of elements that can be pushed to the front of the devector without requiring reallocation.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a7ed0d23190215ed4aba56a462e9f3183" name="back_free_capacity" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Returns</emphasis>: The total number of elements that can be pushed to the back of the devector without requiring reallocation.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a5d6affe9018dba247da1d1d49b188900" name="resize"><type>void</type><parameter name="sz"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If <computeroutput>sz</computeroutput> is greater than the size of <computeroutput>*this</computeroutput>, additional value-initialized elements are inserted. Invalidates iterators if reallocation is needed. If <computeroutput>sz</computeroutput> is smaller than than the size of <computeroutput>*this</computeroutput>, elements are erased from the extremes.</para><para><emphasis role="bold">Requires</emphasis>: T shall be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into *this and <ulink url="http://en.cppreference.com/w/cpp/concept/DefaultConstructible">DefaultConstructible</ulink>.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput>sz == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link></computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>*this</computeroutput> and <computeroutput>sz</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ad9568a61414d0e9ddc158928bafde560" name="resize"><type>void</type><parameter name="sz"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Same as resize(sz) but creates default-initialized value-initialized. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ae7c6f2927e08d6c56ffa8bb2818bb030" name="resize"><type>void</type><parameter name="sz"><paramtype>size_type</paramtype></parameter><parameter name="c"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If <computeroutput>sz</computeroutput> is greater than the size of <computeroutput>*this</computeroutput>, copies of <computeroutput>c</computeroutput> are inserted at extremes. If <computeroutput>sz</computeroutput> is smaller than than the size of <computeroutput>*this</computeroutput>, elements are popped from the extremes.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput>sz == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link></computeroutput>.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/CopyInsertable">CopyInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>*this</computeroutput> and <computeroutput>sz</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a169f1ba456f8f4bf94bf7976355ab975" name="resize_front"><type>void</type><parameter name="sz"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If <computeroutput>sz</computeroutput> is greater than the size of <computeroutput>*this</computeroutput>, additional value-initialized elements are inserted to the front. Invalidates iterators if reallocation is needed. If <computeroutput>sz</computeroutput> is smaller than than the size of <computeroutput>*this</computeroutput>, elements are popped from the front.</para><para><emphasis role="bold">Requires</emphasis>: T shall be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into *this and <ulink url="http://en.cppreference.com/w/cpp/concept/DefaultConstructible">DefaultConstructible</ulink>.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput>sz == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link></computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>*this</computeroutput> and <computeroutput>sz</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1af275beb266ee7a15905cbfea000edfc3" name="resize_front"><type>void</type><parameter name="sz"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If <computeroutput>sz</computeroutput> is greater than the size of <computeroutput>*this</computeroutput>, additional value-initialized elements are inserted to the front. Invalidates iterators if reallocation is needed. If <computeroutput>sz</computeroutput> is smaller than than the size of <computeroutput>*this</computeroutput>, elements are popped from the front.</para><para><emphasis role="bold">Requires</emphasis>: T shall be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into *this and default_initializable.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput>sz == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link></computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>*this</computeroutput> and <computeroutput>sz</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a750dc1522e1177176ddc211ac4f149a9" name="resize_front"><type>void</type><parameter name="sz"><paramtype>size_type</paramtype></parameter><parameter name="c"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If <computeroutput>sz</computeroutput> is greater than the size of <computeroutput>*this</computeroutput>, copies of <computeroutput>c</computeroutput> are inserted to the front. Invalidates iterators if reallocation is needed. If <computeroutput>sz</computeroutput> is smaller than than the size of <computeroutput>*this</computeroutput>, elements are popped from the front.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput>sz == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link></computeroutput>.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/CopyInsertable">CopyInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>*this</computeroutput> and <computeroutput>sz</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ac526c5f89cd25d1e07ce20c687e0f44e" name="resize_back"><type>void</type><parameter name="sz"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If <computeroutput>sz</computeroutput> is greater than the size of <computeroutput>*this</computeroutput>, additional value-initialized elements are inserted to the back. Invalidates iterators if reallocation is needed. If <computeroutput>sz</computeroutput> is smaller than than the size of <computeroutput>*this</computeroutput>, elements are popped from the back.</para><para><emphasis role="bold">Requires</emphasis>: T shall be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into *this and <ulink url="http://en.cppreference.com/w/cpp/concept/DefaultConstructible">DefaultConstructible</ulink>.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput>sz == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link></computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>*this</computeroutput> and <computeroutput>sz</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a19a099d36e7dbd420245062d12eace25" name="resize_back"><type>void</type><parameter name="sz"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If <computeroutput>sz</computeroutput> is greater than the size of <computeroutput>*this</computeroutput>, additional value-initialized elements are inserted to the back. Invalidates iterators if reallocation is needed. If <computeroutput>sz</computeroutput> is smaller than than the size of <computeroutput>*this</computeroutput>, elements are popped from the back.</para><para><emphasis role="bold">Requires</emphasis>: T shall be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into *this and default initializable.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput>sz == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link></computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>*this</computeroutput> and <computeroutput>sz</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a0593021fae7e4f46f63a5225f2e895dc" name="resize_back"><type>void</type><parameter name="sz"><paramtype>size_type</paramtype></parameter><parameter name="c"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If <computeroutput>sz</computeroutput> is greater than the size of <computeroutput>*this</computeroutput>, copies of <computeroutput>c</computeroutput> are inserted to the back. If <computeroutput>sz</computeroutput> is smaller than than the size of <computeroutput>*this</computeroutput>, elements are popped from the back.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput>sz == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link></computeroutput>.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/CopyInsertable">CopyInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>*this</computeroutput> and <computeroutput>sz</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a956f41cce973d180f810349cd5ee1579" name="reserve"><type>void</type><parameter name="new_capacity"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Ensures that at least <computeroutput>n</computeroutput> elements can be inserted without requiring reallocation, where <computeroutput>n</computeroutput> is <computeroutput>new_capacity - <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link></computeroutput>, if <computeroutput>n</computeroutput> is positive. Otherwise, there are no effects. Invalidates iterators if reallocation is needed.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of *this.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Throws</emphasis>: length_error if <computeroutput>new_capacity &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a06ed6f401d8edb5065fcf0417c0f4b1a">max_size()</link></computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1aef3ea5145d1aa523234bc2418bb354f1" name="reserve_front"><type>void</type><parameter name="new_capacity"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Ensures that <computeroutput>n</computeroutput> elements can be pushed to the front without requiring reallocation, where <computeroutput>n</computeroutput> is <computeroutput>new_capacity - <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link></computeroutput>, if <computeroutput>n</computeroutput> is positive. Otherwise, there are no effects. Invalidates iterators if reallocation is needed.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of *this.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Throws</emphasis>: <computeroutput>length_error</computeroutput> if <computeroutput>new_capacity &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a06ed6f401d8edb5065fcf0417c0f4b1a">max_size()</link></computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a83ad487f1eec3ac9673c381d82931952" name="reserve_back"><type>void</type><parameter name="new_capacity"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Ensures that <computeroutput>n</computeroutput> elements can be pushed to the back without requiring reallocation, where <computeroutput>n</computeroutput> is <computeroutput>new_capacity - <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link></computeroutput>, if <computeroutput>n</computeroutput> is positive. Otherwise, there are no effects. Invalidates iterators if reallocation is needed.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of *this.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Throws</emphasis>: length_error if <computeroutput>new_capacity &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a06ed6f401d8edb5065fcf0417c0f4b1a">max_size()</link></computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a550e9ec07c1763f684dabf7f2b1bf2bb" name="shrink_to_fit"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Reduces <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a0c5eb747d982a401967213cdbfd4cf75">capacity()</link></computeroutput> to <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link></computeroutput>. Invalidates iterators.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of *this. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a5dd42e9dec56e901168ebcab7665363e" name="operator[]" cv="noexcept"><type>reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A reference to the <computeroutput>n</computeroutput>th element in the devector.</para><para><emphasis role="bold">Precondition</emphasis>: <computeroutput>n &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link></computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ab0ca69228482c4bd1b047e0c160b6e79" name="operator[]" cv="const noexcept"><type>const_reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A constant reference to the <computeroutput>n</computeroutput>th element in the devector.</para><para><emphasis role="bold">Precondition</emphasis>: <computeroutput>n &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link></computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adc945b01042d7a8afca277174e29954e" name="nth" cv="noexcept"><type>iterator</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link> &gt;= n.</para><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the nth element from the beginning of the container. Returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1afc6dab064df380d9721614abc5b234ae">end()</link> if n == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a12bfb28de44ae9bcbc15f6feb4430938" name="nth" cv="const noexcept"><type>const_iterator</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link> &gt;= n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the nth element from the beginning of the container. Returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1afc6dab064df380d9721614abc5b234ae">end()</link> if n == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a243298ba7d0dd4a4301806538fb4df18" name="index_of" cv="noexcept"><type>size_type</type><parameter name="p"><paramtype>iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1aeea85e1edbcae36ac717fb8b4539418e">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1afc6dab064df380d9721614abc5b234ae">end()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Returns the index of the element pointed by p and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link> if p == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1afc6dab064df380d9721614abc5b234ae">end()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ab42917265270a462ca95d6bc2e0be66a" name="index_of" cv="const noexcept"><type>size_type</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1aeea85e1edbcae36ac717fb8b4539418e">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1afc6dab064df380d9721614abc5b234ae">end()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Returns the index of the element pointed by p and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link> if p == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1afc6dab064df380d9721614abc5b234ae">end()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ae74249ed8aaaf83e492483c837468258" name="at"><type>reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A reference to the <computeroutput>n</computeroutput>th element in the devector.</para><para><emphasis role="bold">Throws</emphasis>: <computeroutput>out_of_range</computeroutput>, if <computeroutput>n &gt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link></computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a4bb25cb36835ecdbc2a659b081e03846" name="at" cv="const"><type>const_reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A constant reference to the <computeroutput>n</computeroutput>th element in the devector.</para><para><emphasis role="bold">Throws</emphasis>: <computeroutput>out_of_range</computeroutput>, if <computeroutput>n &gt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link></computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a156e479e8ed1fb75f8d81da0684e6353" name="front" cv="noexcept"><type>reference</type><description><para><emphasis role="bold">Returns</emphasis>: A reference to the first element in the devector.</para><para><emphasis role="bold">Precondition</emphasis>: <computeroutput>!empty()</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adbf4b29887bf5e305ec54af3bb67cb5b" name="front" cv="const noexcept"><type>const_reference</type><description><para><emphasis role="bold">Returns</emphasis>: A constant reference to the first element in the devector.</para><para><emphasis role="bold">Precondition</emphasis>: <computeroutput>!empty()</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1acd4ce8a4d21edc8e4f4bec0a200a8de3" name="back" cv="noexcept"><type>reference</type><description><para><emphasis role="bold">Returns</emphasis>: A reference to the last element in the devector.</para><para><emphasis role="bold">Precondition</emphasis>: <computeroutput>!empty()</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a384ad8336e9a445f63bd56c62672eda1" name="back" cv="const noexcept"><type>const_reference</type><description><para><emphasis role="bold">Returns</emphasis>: A constant reference to the last element in the devector.</para><para><emphasis role="bold">Precondition</emphasis>: <computeroutput>!empty()</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a2ffcfe63cc86ab7bf7b421530acdcc46" name="data" cv="noexcept"><type>T *</type><description><para><emphasis role="bold">Returns</emphasis>: A pointer to the underlying array serving as element storage. The range <computeroutput>[<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a2ffcfe63cc86ab7bf7b421530acdcc46">data()</link>; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a2ffcfe63cc86ab7bf7b421530acdcc46">data()</link> + <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link>)</computeroutput> is always valid. For a non-empty devector, <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a2ffcfe63cc86ab7bf7b421530acdcc46">data()</link> == &amp;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a156e479e8ed1fb75f8d81da0684e6353">front()</link></computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ab8967452e2fcf6c0f5011e3acf460947" name="data" cv="const noexcept"><type>const T *</type><description><para><emphasis role="bold">Returns</emphasis>: A constant pointer to the underlying array serving as element storage. The range <computeroutput>[<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a2ffcfe63cc86ab7bf7b421530acdcc46">data()</link>; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a2ffcfe63cc86ab7bf7b421530acdcc46">data()</link> + <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1abbd33a659cd6e7f3084f5635db5857c7">size()</link>)</computeroutput> is always valid. For a non-empty devector, <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a2ffcfe63cc86ab7bf7b421530acdcc46">data()</link> == &amp;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a156e479e8ed1fb75f8d81da0684e6353">front()</link></computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a9794282393be1a3ae5c4b2c8d8f60c21" name="emplace_front"><type>reference</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Pushes a new element to the front of the devector. The element is constructed in-place, using the perfect forwarded <computeroutput>args</computeroutput> as constructor arguments. Invalidates iterators if reallocation is needed. (<computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adc07fd187fc51b2535e6929573a71274">front_free_capacity()</link> == 0</computeroutput>)</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/EmplaceConstructible">EmplaceConstructible</ulink> from <computeroutput>args</computeroutput> and <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant in the size of <computeroutput>*this</computeroutput>. (Constant, if <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adc07fd187fc51b2535e6929573a71274">front_free_capacity()</link> &gt; 0</computeroutput>) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a2ca8bd113c26da1f78507e29795e00c8" name="push_front"><type>void</type><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Pushes the copy of <computeroutput>x</computeroutput> to the front of the devector. Invalidates iterators if reallocation is needed. (<computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adc07fd187fc51b2535e6929573a71274">front_free_capacity()</link> == 0</computeroutput>)</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/CopyInsertable">CopyInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant in the size of <computeroutput>*this</computeroutput>. (Constant, if <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adc07fd187fc51b2535e6929573a71274">front_free_capacity()</link> &gt; 0</computeroutput>) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1aa20792ad3ab7bd75de89b3a72e934005" name="push_front"><type>void</type><parameter name="x"><paramtype>T &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a new element at the front of the devector using <computeroutput>x</computeroutput>. Invalidates iterators if reallocation is needed. (<computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adc07fd187fc51b2535e6929573a71274">front_free_capacity()</link> == 0</computeroutput>)</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee, not regarding the state of <computeroutput>x</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant in the size of <computeroutput>*this</computeroutput>. (Constant, if <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adc07fd187fc51b2535e6929573a71274">front_free_capacity()</link> &gt; 0</computeroutput>) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a9ef1e8e5f86b29d71fbecee11607e905" name="pop_front" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Removes the first element of <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Precondition</emphasis>: <computeroutput>!empty()</computeroutput>.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adc07fd187fc51b2535e6929573a71274">front_free_capacity()</link></computeroutput> is incremented by 1.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ac2945492702eef991855b84cef57c6a1" name="emplace_back"><type>reference</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Pushes a new element to the back of the devector. The element is constructed in-place, using the perfect forwarded <computeroutput>args</computeroutput> as constructor arguments. Invalidates iterators if reallocation is needed. (<computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a7ed0d23190215ed4aba56a462e9f3183">back_free_capacity()</link> == 0</computeroutput>)</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/EmplaceConstructible">EmplaceConstructible</ulink> from <computeroutput>args</computeroutput> and <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into <computeroutput>*this</computeroutput>, and <ulink url="http://en.cppreference.com/w/cpp/concept/MoveAssignable">MoveAssignable</ulink>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant in the size of <computeroutput>*this</computeroutput>. (Constant, if <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a7ed0d23190215ed4aba56a462e9f3183">back_free_capacity()</link> &gt; 0</computeroutput>) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1af8bbffcc27bb4fb2aeb15a8ff73fc858" name="push_back"><type>void</type><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><purpose>defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) </purpose><description><para><emphasis role="bold">Effects</emphasis>: Pushes the copy of <computeroutput>x</computeroutput> to the back of the devector. Invalidates iterators if reallocation is needed. (<computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a7ed0d23190215ed4aba56a462e9f3183">back_free_capacity()</link> == 0</computeroutput>)</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/CopyInsertable">CopyInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant in the size of <computeroutput>*this</computeroutput>. (Constant, if <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a7ed0d23190215ed4aba56a462e9f3183">back_free_capacity()</link> &gt; 0</computeroutput>) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a419765be9eebda00229638365e4df240" name="push_back"><type>void</type><parameter name="x"><paramtype>T &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a new element at the back of the devector using <computeroutput>x</computeroutput>. Invalidates iterators if reallocation is needed. (<computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a7ed0d23190215ed4aba56a462e9f3183">back_free_capacity()</link> == 0</computeroutput>)</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee, not regarding the state of <computeroutput>x</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant in the size of <computeroutput>*this</computeroutput>. (Constant, if <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a7ed0d23190215ed4aba56a462e9f3183">back_free_capacity()</link> &gt; 0</computeroutput>) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ada4200afe2aa832a7a5af88749d894da" name="pop_back" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Removes the last element of <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Precondition</emphasis>: <computeroutput>!empty()</computeroutput>.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a7ed0d23190215ed4aba56a462e9f3183">back_free_capacity()</link></computeroutput> is incremented by 1.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a7787efe80208807126a351990490f4de" name="emplace"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="position"><paramtype>const_iterator</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a new element before the element pointed by <computeroutput>position</computeroutput>. The element is constructed in-place, using the perfect forwarded <computeroutput>args</computeroutput> as constructor arguments. Invalidates iterators if reallocation is needed.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/EmplaceConstructible">EmplaceConstructible</ulink>, and <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into <computeroutput>*this</computeroutput>, and <ulink url="http://en.cppreference.com/w/cpp/concept/MoveAssignable">MoveAssignable</ulink>.</para><para><emphasis role="bold">Returns</emphasis>: Iterator pointing to the newly constructed element.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee if <computeroutput>T</computeroutput> is <computeroutput>NothrowConstructible</computeroutput> and <computeroutput>NothrowAssignable</computeroutput>, Basic exception guarantee otherwise.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>*this</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a9407091493f3a47a2367e0cc31dcf2f6" name="insert"><type>iterator</type><parameter name="position"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><purpose>defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) </purpose><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a new element before the element pointed by <computeroutput>position</computeroutput>, using <computeroutput>x</computeroutput> as constructor argument. Invalidates iterators if reallocation is needed.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/CopyInsertable">CopyInsertable</ulink> into <computeroutput>*this</computeroutput> and and <ulink url="http://en.cppreference.com/w/cpp/concept/CopyAssignable">CopyAssignable</ulink>.</para><para><emphasis role="bold">Returns</emphasis>: Iterator pointing to the newly constructed element.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee if <computeroutput>T</computeroutput> is <computeroutput>NothrowConstructible</computeroutput> and <computeroutput>NothrowAssignable</computeroutput>, Basic exception guarantee otherwise.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>*this</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a176b71342827dcdd0192031da8cbc81c" name="insert"><type>iterator</type><parameter name="position"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>T &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a new element before the element pointed by <computeroutput>position</computeroutput>, using <computeroutput>x</computeroutput> as constructor argument. Invalidates iterators if reallocation is needed.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into <computeroutput>*this</computeroutput> and and <ulink url="http://en.cppreference.com/w/cpp/concept/CopyAssignable">CopyAssignable</ulink>.</para><para><emphasis role="bold">Returns</emphasis>: Iterator pointing to the newly constructed element.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee if <computeroutput>T</computeroutput> is <computeroutput>NothrowConstructible</computeroutput> and <computeroutput>NothrowAssignable</computeroutput> (not regarding the state of <computeroutput>x</computeroutput>), Basic exception guarantee otherwise.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>*this</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a94c9c985da196b65ea599a753f61db42" name="insert"><type>iterator</type><parameter name="position"><paramtype>const_iterator</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs <computeroutput>n</computeroutput> elements before the element pointed by <computeroutput>position</computeroutput>, using <computeroutput>x</computeroutput> as constructor argument. Invalidates iterators if reallocation is needed.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/CopyInsertable">CopyInsertable</ulink> into <computeroutput>*this</computeroutput> and and <ulink url="http://en.cppreference.com/w/cpp/concept/CopyAssignable">CopyAssignable</ulink>.</para><para><emphasis role="bold">Returns</emphasis>: Iterator pointing to the first inserted element, or <computeroutput>position</computeroutput>, if <computeroutput>n</computeroutput> is zero.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee if <computeroutput>T</computeroutput> is <computeroutput>NothrowConstructible</computeroutput> and <computeroutput>NothrowAssignable</computeroutput>, Basic exception guarantee otherwise.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>*this</computeroutput> and <computeroutput>n</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a528cb99146ad3a610716d0ef31d52afd" name="insert"><type>iterator</type><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="position"><paramtype>const_iterator</paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="BOOST_CONTAINER_DOCIGN"><paramtype>InputIterator last </paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs elements before the element pointed by position using each element in the range pointed by <computeroutput>first</computeroutput> and <computeroutput>last</computeroutput> as constructor arguments. Invalidates iterators if reallocation is needed.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/EmplaceConstructible">EmplaceConstructible</ulink> into <computeroutput>*this</computeroutput> from <computeroutput>*first</computeroutput>. If the specified iterator does not meet the forward iterator requirements, <computeroutput>T</computeroutput> shall also be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into <computeroutput>*this</computeroutput> and <ulink url="http://en.cppreference.com/w/cpp/concept/MoveAssignable">MoveAssignable</ulink>.</para><para><emphasis role="bold">Precondition</emphasis>: <computeroutput>first</computeroutput> and <computeroutput>last</computeroutput> are not iterators into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Returns</emphasis>: Iterator pointing to the first inserted element, or <computeroutput>position</computeroutput>, if <computeroutput>first == last</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>*this</computeroutput> and <computeroutput>N</computeroutput> (where <computeroutput>N</computeroutput> is the distance between <computeroutput>first</computeroutput> and <computeroutput>last</computeroutput>). Makes only <computeroutput>N</computeroutput> calls to the constructor of <computeroutput>T</computeroutput> and no reallocations if iterators <computeroutput>first</computeroutput> and <computeroutput>last</computeroutput> are of forward, bidirectional, or random access categories. It makes 2N calls to the copy constructor of <computeroutput>T</computeroutput> and `O(log(N)) reallocations if they are just input iterators.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee if <computeroutput>T</computeroutput> is <computeroutput>NothrowConstructible</computeroutput> and <computeroutput>NothrowAssignable</computeroutput>, Basic exception guarantee otherwise.</para><para><emphasis role="bold">Remarks</emphasis>: Each iterator in the range <computeroutput>[first,last)</computeroutput> shall be dereferenced exactly once, unless an exception is thrown. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ae34807e8136661c866a16a1aff10e9fe" name="insert"><type>iterator</type><parameter name="position"><paramtype>const_iterator</paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; T &gt;</paramtype></parameter><description><para><emphasis role="bold">Equivalent to</emphasis>: <computeroutput>insert(position, il.begin(), il.end())</computeroutput> </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a19794e23c7d70e29670ebd3f71cf7f84" name="erase"><type>iterator</type><parameter name="position"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Destroys the element pointed by <computeroutput>position</computeroutput> and removes it from the devector. Invalidates iterators.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveAssignable">MoveAssignable</ulink>.</para><para><emphasis role="bold">Precondition</emphasis>: <computeroutput>position</computeroutput> must be in the range of <computeroutput>[<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1aeea85e1edbcae36ac717fb8b4539418e">begin()</link>, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1afc6dab064df380d9721614abc5b234ae">end()</link>)</computeroutput>.</para><para><emphasis role="bold">Returns</emphasis>: Iterator pointing to the element immediately following the erased element prior to its erasure. If no such element exists, <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1afc6dab064df380d9721614abc5b234ae">end()</link></computeroutput> is returned.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee if <computeroutput>T</computeroutput> is <computeroutput>NothrowAssignable</computeroutput>, Basic exception guarantee otherwise.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in half the size of <computeroutput>*this</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1ae742158fd3bc642f9a759f18e046210f" name="erase"><type>iterator</type><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Destroys the range <computeroutput>[first,last)</computeroutput> and removes it from the devector. Invalidates iterators.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveAssignable">MoveAssignable</ulink>.</para><para><emphasis role="bold">Precondition</emphasis>: <computeroutput>[first,last)</computeroutput> must be in the range of <computeroutput>[<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1aeea85e1edbcae36ac717fb8b4539418e">begin()</link>, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1afc6dab064df380d9721614abc5b234ae">end()</link>)</computeroutput>.</para><para><emphasis role="bold">Returns</emphasis>: Iterator pointing to the element pointed to by <computeroutput>last</computeroutput> prior to any elements being erased. If no such element exists, <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1afc6dab064df380d9721614abc5b234ae">end()</link></computeroutput> is returned.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee if <computeroutput>T</computeroutput> is <computeroutput>NothrowAssignable</computeroutput>, Basic exception guarantee otherwise.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in half the size of <computeroutput>*this</computeroutput> plus the distance between <computeroutput>first</computeroutput> and <computeroutput>last</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a6ea4e1e139639d82eafdfc580c86b56e" name="erase"><type>iterator</type><parameter name="first"><paramtype>iterator</paramtype></parameter><parameter name="last"><paramtype>iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Destroys the range <computeroutput>[first,last)</computeroutput> and removes it from the devector. Invalidates iterators.</para><para><emphasis role="bold">Requires</emphasis>: <computeroutput>T</computeroutput> shall be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveAssignable">MoveAssignable</ulink>.</para><para><emphasis role="bold">Precondition</emphasis>: <computeroutput>[first,last)</computeroutput> must be in the range of <computeroutput>[<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1aeea85e1edbcae36ac717fb8b4539418e">begin()</link>, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1afc6dab064df380d9721614abc5b234ae">end()</link>)</computeroutput>.</para><para><emphasis role="bold">Returns</emphasis>: Iterator pointing to the element pointed to by <computeroutput>last</computeroutput> prior to any elements being erased. If no such element exists, <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1afc6dab064df380d9721614abc5b234ae">end()</link></computeroutput> is returned.</para><para><emphasis role="bold">Exceptions</emphasis>: Strong exception guarantee if <computeroutput>T</computeroutput> is <computeroutput>NothrowAssignable</computeroutput>, Basic exception guarantee otherwise.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in half the size of <computeroutput>*this</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1aeaab3a1c699f6dc26ef570f68c4a378e" name="swap" cv="noexcept(allocator_traits_type::propagate_on_container_swap::value||allocator_traits_type::is_always_equal::value)"><type>void</type><parameter name="b"><paramtype><classname>devector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: exchanges the contents of <computeroutput>*this</computeroutput> and <computeroutput>b</computeroutput>.</para><para><emphasis role="bold">Requires</emphasis>: instances of <computeroutput>T</computeroutput> must be swappable by unqualified call of <computeroutput>swap</computeroutput> and <computeroutput>T</computeroutput> must be <ulink url="http://en.cppreference.com/w/cpp/concept/MoveInsertable">MoveInsertable</ulink> into <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Precondition</emphasis>: The allocators should allow propagation or should compare equal.</para><para><emphasis role="bold">Exceptions</emphasis>: Basic exceptions guarantee if not <computeroutput>noexcept</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a6f66f4610f5ad07d6f08a74be90c2c7c" name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Destroys all elements in the devector. Invalidates all references, pointers and iterators to the elements of the devector.</para><para><emphasis role="bold">Postcondition</emphasis>: <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adf610789591b2fce61ce24fdd8032308">empty()</link> &amp;&amp; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1adc07fd187fc51b2535e6929573a71274">front_free_capacity()</link> == 0 &amp;&amp; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a7ed0d23190215ed4aba56a462e9f3183">back_free_capacity()</link> == old capacity</computeroutput>.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in the size of <computeroutput>*this</computeroutput>.</para><para><emphasis role="bold">Remarks</emphasis>: Does not free memory. </para></description></method>
</method-group>
<method-group name="private member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a0dbc6122b18d0853e820f1ec62074d7d" name="priv_move_assign"><type>void</type><parameter name="x"><paramtype><classname>devector</classname> &amp;&amp;</paramtype></parameter><parameter name=""><paramtype>dtl::bool_&lt; true &gt;</paramtype></parameter></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a0ee675b9a9389f917ead9380778e619f" name="priv_move_assign"><type>void</type><parameter name="x"><paramtype><classname>devector</classname> &amp;&amp;</paramtype></parameter><parameter name=""><paramtype>dtl::bool_&lt; false &gt;</paramtype></parameter></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a531a2158b204f7f144015fda0b626b0e" name="pos_to_index" cv="const"><type>size_type</type><parameter name="i"><paramtype>const_iterator</paramtype></parameter></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a346d914e8f2c67e5711e0cd135da22d6" name="should_move_back" cv="const"><type>bool</type><parameter name="i"><paramtype>const_iterator</paramtype></parameter></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a40f1428ad2515f6c3d7d551ee7aa7da3" name="front_capacity" cv="const"><type>size_type</type></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a1aadfb5294eacb232f1d78a578bdc087" name="back_capacity" cv="const"><type>size_type</type></method>
</method-group>
<method-group name="private static functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector_1a0caa992416af384257296de8e51638f1" name="unconst_iterator" specifiers="static"><type>iterator</type><parameter name="i"><paramtype>const_iterator</paramtype></parameter></method>
</method-group>
</class><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1reserve__only__tag__t" name="reserve_only_tag_t"/><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1reserve__uninitialized__t" name="reserve_uninitialized_t"/><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1review__implementation__t" name="review_implementation_t"/>




















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.pmr_2devector_8hpp" name="boost/container/pmr/devector.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1devector__of" name="devector_of"><template>
      <template-type-parameter name="T"/>
      <template-type-parameter name="GrowthPolicy"><default>growth_factor_60</default></template-type-parameter>
    </template><description><para>A portable metafunction to obtain a vector that uses a polymorphic allocator </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1devector__of_1aba6f99df92a8a2ce42f4a03b68a1d983" name="type"><type><classname>boost::container::devector</classname>&lt; T, GrowthPolicy, <classname>polymorphic_allocator</classname>&lt; T &gt; &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.pmr_2devector_8hpp_1ac346c1b902bc095762342fdef8310b2f" name="devector"><type><classname>boost::container::devector</classname>&lt; T, GrowthPolicy, <classname>polymorphic_allocator</classname>&lt; T &gt; &gt;</type></typedef>






</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.flat__map_8hpp" name="boost/container/flat_map.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map" name="flat_map"><template>
      <template-type-parameter name="Key"><purpose><para>is the key_type of the map </para></purpose></template-type-parameter>
      <template-type-parameter name="T"/>
      <template-type-parameter name="Compare"><default>std::less&lt;Key&gt;</default><purpose><para>is the ordering function for Keys (e.g. <emphasis>std::less&lt;Key&gt;</emphasis>). </para></purpose></template-type-parameter>
      <template-type-parameter name="AllocatorOrContainer"><default>new_allocator&lt; std::pair&lt; Key, T&gt; &gt;</default><purpose><para>is either:<itemizedlist>
<listitem><para>The allocator to allocate <computeroutput>value_type</computeroutput>s (e.g. <emphasis>allocator&lt; std::pair&lt;Key, T&gt; &gt; </emphasis>). (in this case <emphasis>sequence_type</emphasis> will be vector&lt;value_type, AllocatorOrContainer&gt;)</para>
</listitem><listitem><para>The SequenceContainer to be used as the underlying <emphasis>sequence_type</emphasis>. It must be a vector-like sequence container with random-access iterators. </para>
</listitem></itemizedlist>
</para></purpose></template-type-parameter>
    </template><description><para>A <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> is a kind of associative container that supports unique keys (contains at most one of each key value) and provides for fast retrieval of values of another type T based on the keys.</para><para>A <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> satisfies all of the requirements of a container, a reversible container and an associative container. A <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> also provides most operations described for unique keys. For a flat_map&lt;Key,T&gt; the key_type is Key and the value_type is std::pair&lt;Key,T&gt; (unlike std::map&lt;Key, T&gt; which value_type is std::pair&lt;<emphasis role="bold">const</emphasis> Key, T&gt;).</para><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> is similar to std::map but it's implemented by as an ordered sequence container. The underlying sequence container is by default <emphasis>vector</emphasis> but it can also work user-provided vector-like SequenceContainers (like <emphasis><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link></emphasis> or <emphasis><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector">small_vector</link></emphasis>).</para><para>Using vector-like sequence containers means that inserting a new element into a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> might invalidate previous iterators and references (unless that sequence container is <emphasis><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link></emphasis> or a similar container that offers stable pointers and references). Similarly, erasing an element might invalidate iterators and references pointing to elements that come after (their keys are bigger) the erased element.</para><para>This container provides random-access iterators.</para><para>
</para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a62a5f840b8d96f46275080982ec48550" name="key_type"><type>Key</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1af41c2dba20e1e47058b1531c1f1b413d" name="mapped_type"><type>T</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a3a9f36a83f6917d70d4c048e336a9930" name="key_compare"><type>Compare</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a4edfd78e6b0ed92d1b772f8f0a760892" name="value_type"><type>std::pair&lt; Key, T &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a177d473b0b587494baa81ef08c4f7882" name="sequence_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1aefc59cacb0681a01fd7e0a3ad5dfc178" name="allocator_type"><type>sequence_type::allocator_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1af751bcd6e4869bb0364fa179d1ec198e" name="allocator_traits_type"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a3780bfab209932517e0d41cf8d2a49f8" name="pointer"><type>sequence_type::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a4f8253badbf34e0c2c7ec8bbeb68ecd2" name="const_pointer"><type>sequence_type::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ae681297c8acf04384a2d2b3b62480083" name="reference"><type>sequence_type::reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a99956fcf8b2a0e7f62fbfb981db45741" name="const_reference"><type>sequence_type::const_reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a79fceb367e531948b2a8299af897bff4" name="size_type"><type>sequence_type::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ac922a80b14bc06d66b001742c32b6f19" name="difference_type"><type>sequence_type::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a93a9f2cb263559cf1b412f7dba392d09" name="stored_allocator_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a7bbd3bd1b430fcc56bab4dbbd523b04d" name="value_compare"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ac842553ee3865b608d01ce647f178fba" name="iterator"><type>sequence_type::iterator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a7865c217d2a9fe007a27f8dc2bd6d7ec" name="const_iterator"><type>sequence_type::const_iterator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a0e511697c9b7170a1e84135fa3f83253" name="reverse_iterator"><type>sequence_type::reverse_iterator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ac06b83f4a1a3bf83383fca57bb645ccd" name="const_reverse_iterator"><type>sequence_type::const_reverse_iterator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a445bbdcc64b96c46517b40d870b1c211" name="movable_value_type"><type>implementation_defined</type></typedef>
<method-group name="public member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a52e576a211c04397c7f53fc53f5a82c6" name="BOOST_CONTAINER_STATIC_ASSERT"><type/><parameter name=""><paramtype>(dtl::is_same&lt; std::pair&lt; Key, T &gt;, value_type &gt;::value)</paramtype></parameter></method>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a82f394fd8fdf831a22482aa65451136a" cv="noexcept(dtl::is_nothrow_default_constructible&lt; AllocatorOrContainer &gt;::value &amp;&amp;dtl::is_nothrow_default_constructible&lt; Compare &gt;::value)"><description><para><emphasis role="bold">Effects</emphasis>: Default constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link>.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a2de48216b98708fe3e3662eb3c0f4068" specifiers="explicit"><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ae7a6f9a9b14049cda867fce7c74e73cf" specifiers="explicit"><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified comparison object.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a33281ec6fb73712bdf80e595652ad21b"><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified comparison object and allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a7a4ddaf1faf56ceac45966b198039df4"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> and and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a6c4a7018bc69f3099df326442e587235"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified allocator, and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a67ce08e7d601071db9142a55483ce608"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified comparison object and and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ae497229979d21f3968524a3a91c0ff5f"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified comparison object and allocator, and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a79beed202981afee4c2c3083853a3a18"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> and inserts elements from the ordered range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a08fe8d21872760fcde7d5c83e05096e3"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified comparison object and inserts elements from the ordered range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ad435266fdb94e45ca4a47ad0d785fd09"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified comparison object and allocator, and inserts elements from the ordered range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a0c5e62336e723b03bac5c3f595bdb7a8"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified allocator and inserts elements from the ordered range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1acff85e4ac53957fadd6cabb6d1e8b0e3"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> and inserts elements from the range [il.begin() ,il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8020613bce8a9eb79c15c9071ddffd2c"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified allocator, and inserts elements from the range [il.begin() ,il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a6521f4db3f3c2272f92f2136030f3c3f"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified comparison object and inserts elements from the range [il.begin() ,il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a51014c02ce76963820733bbb5f3634bc"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified comparison object and allocator, and inserts elements from the range [il.begin() ,il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a4c8e5e3b31a362157c4b558a1056004c"><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using and inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a5061bff17669381cce15f66112e9c513"><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified comparison object and inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1aa1117aea112ea90344103a3f5515c979"><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified comparison object and allocator, and inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1afe585f5f31d2e0274f2b5d6249805541"><parameter name="x"><paramtype>const <classname>flat_map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link>.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ac40783b52c661417c513fc2f17434396" cv="noexcept(boost::container::dtl::is_nothrow_move_constructible&lt; Compare &gt;::value)"><parameter name="x"><paramtype><classname>flat_map</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link>. Constructs *this using x's resources.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Postcondition</emphasis>: x is emptied. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a44e805493df8509550b7b1879c6002c7"><parameter name="x"><paramtype>const <classname>flat_map</classname> &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a6340f4ee387a4dd76a792166b9cd4580"><parameter name="x"><paramtype><classname>flat_map</classname> &amp;&amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified allocator. Constructs *this using x's resources.</para><para><emphasis role="bold">Complexity</emphasis>: Constant if x.get_allocator() == a, linear otherwise. </para></description></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ab0df5cdcbe05b0a38c7bc79148de9bd9"><type><classname>flat_map</classname> &amp;</type><parameter name="x"><paramtype>const <classname>flat_map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Makes *this a copy of x.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a95d968d6213b8e62fb44a3d8f02a2b65" cv="noexcept((allocator_traits_type::propagate_on_container_move_assignment::value||allocator_traits_type::is_always_equal::value) &amp;&amp;boost::container::dtl::is_nothrow_move_assignable&lt; Compare &gt;::value)"><type><classname>flat_map</classname> &amp;</type><parameter name="x"><paramtype><classname>flat_map</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link>. Constructs *this using x's resources.</para><para><emphasis role="bold">Throws</emphasis>: If <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a0701b56d932091c18e3c4b78ffc90c80">allocator_traits_type::propagate_on_container_move_assignment</link> is false and (allocation throws or value_type's move constructor throws)</para><para><emphasis role="bold">Complexity</emphasis>: Constant if allocator_traits_type:: propagate_on_container_move_assignment is true or this-&gt;get&gt;allocator() == x.get_allocator(). Linear otherwise. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ab239aaf736af4591048a2de9b3ec303a"><type><classname>flat_map</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><purpose><emphasis role="bold">Effects</emphasis>: Assign elements from il to *this </purpose></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a5e8c15b0d7fbbdfbc751ba628f603717" name="get_allocator" cv="const noexcept"><type>allocator_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a copy of the allocator that was passed to the object's constructor.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a92a4873fdd10e961699b405b468ad851" name="get_stored_allocator" cv="noexcept"><type>get_stored_allocator_noconst_return_t</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a6daca6c0141018bb86cdea5b5e79dca4" name="get_stored_allocator" cv="const noexcept"><type>get_stored_allocator_const_return_t</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a030cbe262b4b3763677b3651eb9055b4" name="begin" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a742e1dee0c6761b9218a5357edab30fd" name="begin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103" name="end" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a1e6c0edb7965ded7d1d7ce5c0e9e26a2" name="end" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a05d1a69b3ef96eac1e2b26ff77ae9901" name="rbegin" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a9b349da1b43cd853c4d6f5511b97db97" name="rbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a344bb7e8ab29c0e9ea800df40250850e" name="rend" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a27217290398eb9bc5bfabcf6d0e0bcea" name="rend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a92a70eac1b065bedfc3eaebb94a12d6e" name="cbegin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ab2988472e9bb271445700b9241d33729" name="cend" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a7deacb56e1b5c88189afececf47851ad" name="crbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a247c9762b652fe5a42ae12cf5e84caba" name="crend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ae075d537dc6b9848958611749a43a0fd" name="empty" cv="const noexcept"><type>bool</type><description><para><emphasis role="bold">Effects</emphasis>: Returns true if the container contains no elements.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956" name="size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the number of the elements contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a1c6c5f4d8e3099c37ed91ed055ebd2db" name="max_size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the largest possible size of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a217452e6ef7b025bbda2c23784c2cab2" name="capacity" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Number of elements for which memory has been allocated. <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a217452e6ef7b025bbda2c23784c2cab2">capacity()</link> is always greater than or equal to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ab3824c90cd569ea0f36c9339a9e7afb8" name="reserve"><type>void</type><parameter name="cnt"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If n is less than or equal to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a217452e6ef7b025bbda2c23784c2cab2">capacity()</link>, or the underlying container has no <computeroutput>reserve</computeroutput> member, this call has no effect. Otherwise, it is a request for allocation of additional memory. If the request is successful, then <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a217452e6ef7b025bbda2c23784c2cab2">capacity()</link> is greater than or equal to n; otherwise, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a217452e6ef7b025bbda2c23784c2cab2">capacity()</link> is unchanged. In either case, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956">size()</link> is unchanged.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Note</emphasis>: If <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a217452e6ef7b025bbda2c23784c2cab2">capacity()</link> is less than "cnt", iterators and references to to values might be invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ae2c4ac4cbbd7325e9ab56ffd51b000ef" name="shrink_to_fit"><type>void</type><purpose><emphasis role="bold">Effects</emphasis>: Tries to deallocate the excess of memory created </purpose><description><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956">size()</link>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ae49336b87e0bc01f567a708870c49c0a" name="operator[]"><type>mapped_type &amp;</type><parameter name="k"><paramtype>const key_type &amp;</paramtype></parameter><description><para>Effects: If there is no key equivalent to x in the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link>, inserts value_type(x, T()) into the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link>.</para><para>Returns: A reference to the mapped_type corresponding to x in *this.</para><para>Complexity: Logarithmic search time plus linear insertion time in case no equivalent key is present. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a10dacf51546a666ca0816a127c6f4919" name="operator[]"><type>mapped_type &amp;</type><parameter name="k"><paramtype>key_type &amp;&amp;</paramtype></parameter><description><para>Effects: If there is no key equivalent to x in the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link>, inserts value_type(move(x), T()) into the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> (the key is move-constructed)</para><para>Returns: A reference to the mapped_type corresponding to x in *this.</para><para>Complexity: Logarithmic search time plus linear insertion time in case no equivalent key is present. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a913554e4c3f208ef28380871e250cca2" name="insert_or_assign"><type>std::pair&lt; iterator, bool &gt;</type><template>
          <template-type-parameter name="M"/>
        </template><parameter name="k"><paramtype>const key_type &amp;</paramtype></parameter><parameter name="obj"><paramtype>M &amp;&amp;</paramtype></parameter><description><para>Effects: If a key equivalent to k already exists in the container, assigns forward&lt;M&gt;(obj) to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value as if by insert, constructing it from value_type(k, forward&lt;M&gt;(obj)).</para><para>No iterators or references are invalidated. If the insertion is successful, pointers and references to the element obtained while it is held in the node handle are invalidated, and pointers and references obtained to that element before it was extracted become valid.</para><para>Returns: The bool component is true if the insertion took place and false if the assignment took place. The iterator component is pointing at the element that was inserted or updated.</para><para>Complexity: Logarithmic search time plus linear insertion time in case no equivalent key is present. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a5de8c950a81caaabef9d2b016c9f5a13" name="insert_or_assign"><type>std::pair&lt; iterator, bool &gt;</type><template>
          <template-type-parameter name="M"/>
        </template><parameter name="k"><paramtype>key_type &amp;&amp;</paramtype></parameter><parameter name="obj"><paramtype>M &amp;&amp;</paramtype></parameter><description><para>Effects: If a key equivalent to k already exists in the container, assigns forward&lt;M&gt;(obj) to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value as if by insert, constructing it from value_type(k, move(obj)).</para><para>No iterators or references are invalidated. If the insertion is successful, pointers and references to the element obtained while it is held in the node handle are invalidated, and pointers and references obtained to that element before it was extracted become valid.</para><para>Returns: The bool component is true if the insertion took place and false if the assignment took place. The iterator component is pointing at the element that was inserted or updated.</para><para>Complexity: Logarithmic in the size of the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a020c82b537e6d04eca2a9fa9e58356c1" name="insert_or_assign"><type>iterator</type><template>
          <template-type-parameter name="M"/>
        </template><parameter name="hint"><paramtype>const_iterator</paramtype></parameter><parameter name="k"><paramtype>const key_type &amp;</paramtype></parameter><parameter name="obj"><paramtype>M &amp;&amp;</paramtype></parameter><description><para>Effects: If a key equivalent to k already exists in the container, assigns forward&lt;M&gt;(obj) to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value as if by insert, constructing it from value_type(k, forward&lt;M&gt;(obj)) and the new element to the container as close as possible to the position just before hint.</para><para>No iterators or references are invalidated. If the insertion is successful, pointers and references to the element obtained while it is held in the node handle are invalidated, and pointers and references obtained to that element before it was extracted become valid.</para><para>Returns: The bool component is true if the insertion took place and false if the assignment took place. The iterator component is pointing at the element that was inserted or updated.</para><para>Complexity: Logarithmic in the size of the container in general, but amortized constant if the new element is inserted just before hint. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1acb5acd59cc109c6fc499e6d678b03477" name="insert_or_assign"><type>iterator</type><template>
          <template-type-parameter name="M"/>
        </template><parameter name="hint"><paramtype>const_iterator</paramtype></parameter><parameter name="k"><paramtype>key_type &amp;&amp;</paramtype></parameter><parameter name="obj"><paramtype>M &amp;&amp;</paramtype></parameter><description><para>Effects: If a key equivalent to k already exists in the container, assigns forward&lt;M&gt;(obj) to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value as if by insert, constructing it from value_type(k, move(obj)) and the new element to the container as close as possible to the position just before hint.</para><para>No iterators or references are invalidated. If the insertion is successful, pointers and references to the element obtained while it is held in the node handle are invalidated, and pointers and references obtained to that element before it was extracted become valid.</para><para>Returns: The bool component is true if the insertion took place and false if the assignment took place. The iterator component is pointing at the element that was inserted or updated.</para><para>Complexity: Logarithmic in the size of the container in general, but amortized constant if the new element is inserted just before hint. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a802644c106b335940ccb04679166e087" name="nth" cv="noexcept"><type>iterator</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956">size()</link> &gt;= n.</para><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the nth element from the beginning of the container. Returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link> if n == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a2240a506fb6ce0f6d42e14beb1444d25" name="nth" cv="const noexcept"><type>const_iterator</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956">size()</link> &gt;= n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the nth element from the beginning of the container. Returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link> if n == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1af8c1b43be3dc75fe42ffdcaa8b722560" name="index_of" cv="noexcept"><type>size_type</type><parameter name="p"><paramtype>iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a030cbe262b4b3763677b3651eb9055b4">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Returns the index of the element pointed by p and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956">size()</link> if p == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1af555fe1e49172b0efef5fa40ba45ed9f" name="index_of" cv="const noexcept"><type>size_type</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a030cbe262b4b3763677b3651eb9055b4">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Returns the index of the element pointed by p and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956">size()</link> if p == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1af52abb6f1a90ae1e18d7cfb27d9a475c" name="at"><type>T &amp;</type><parameter name="k"><paramtype>const key_type &amp;</paramtype></parameter><description><para>Returns: A reference to the element whose key is equivalent to x.</para><para>Throws: An exception object of type out_of_range if no such element is present.</para><para>Complexity: logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a57b12b010f686ff13c9af12f5b91cfca" name="at" cv="const"><type>const T &amp;</type><parameter name="k"><paramtype>const key_type &amp;</paramtype></parameter><description><para>Returns: A reference to the element whose key is equivalent to x.</para><para>Throws: An exception object of type out_of_range if no such element is present.</para><para>Complexity: logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a3787cd37b7342c2d9d4a5e7326e9b533" name="emplace"><type>std::pair&lt; iterator, bool &gt;</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object x of type T constructed with std::forward&lt;Args&gt;(args)... if and only if there is no element in the container with key equivalent to the key of x.</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion takes place, and the iterator component of the pair points to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus linear insertion to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a05344b534bfb53bf421603879f6015a2" name="emplace_hint"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="hint"><paramtype>const_iterator</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... in the container if and only if there is no element in the container with key equivalent to the key of x. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time (constant if x is inserted right before p) plus insertion linear to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ace16eceb04b391e8f6a23a76c88bb553" name="try_emplace"><type>std::pair&lt; iterator, bool &gt;</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="k"><paramtype>const key_type &amp;</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: value_type shall be EmplaceConstructible into map from piecewise_construct, forward_as_tuple(k), forward_as_tuple(forward&lt;Args&gt;(args)...).</para><para><emphasis role="bold">Effects</emphasis>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(k), forward_as_tuple(forward&lt;Args&gt;(args)...).</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion took place. The returned iterator points to the map element whose key is equivalent to k.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ae6299fb326b24ad5636a469c271b8fa2" name="try_emplace"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="hint"><paramtype>const_iterator</paramtype></parameter><parameter name="k"><paramtype>const key_type &amp;</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: value_type shall be EmplaceConstructible into map from piecewise_construct, forward_as_tuple(k), forward_as_tuple(forward&lt;Args&gt;(args)...).</para><para><emphasis role="bold">Effects</emphasis>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(k), forward_as_tuple(forward&lt;Args&gt;(args)...).</para><para><emphasis role="bold">Returns</emphasis>: The returned iterator points to the map element whose key is equivalent to k.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if value is inserted right before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8d7ba367d0776cdc49ea0ff41b4db97e" name="try_emplace"><type>std::pair&lt; iterator, bool &gt;</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="k"><paramtype>key_type &amp;&amp;</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: value_type shall be EmplaceConstructible into map from piecewise_construct, forward_as_tuple(move(k)), forward_as_tuple(forward&lt;Args&gt;(args)...).</para><para><emphasis role="bold">Effects</emphasis>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(move(k)), forward_as_tuple(forward&lt;Args&gt;(args)...).</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion took place. The returned iterator points to the map element whose key is equivalent to k.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus linear insertion time in case the key is not present. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a602245f85be9d3ea34f0c6c3632e53af" name="try_emplace"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="hint"><paramtype>const_iterator</paramtype></parameter><parameter name="k"><paramtype>key_type &amp;&amp;</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: value_type shall be EmplaceConstructible into map from piecewise_construct, forward_as_tuple(move(k)), forward_as_tuple(forward&lt;Args&gt;(args)...).</para><para><emphasis role="bold">Effects</emphasis>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(move(k)), forward_as_tuple(forward&lt;Args&gt;(args)...).</para><para><emphasis role="bold">Returns</emphasis>: The returned iterator points to the map element whose key is equivalent to k.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if value is inserted right before p. Linear insertion time in case no equivalent key is present. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1aa97afdef4c29040a08e2b81ef9987123" name="insert"><type>std::pair&lt; iterator, bool &gt;</type><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts x if and only if there is no element in the container with key equivalent to the key of x.</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion takes place, and the iterator component of the pair points to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus linear insertion to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a749ff1635411c1961d4d202829fc99cc" name="insert"><type>std::pair&lt; iterator, bool &gt;</type><parameter name="x"><paramtype>value_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a new value_type move constructed from the pair if and only if there is no element in the container with key equivalent to the key of x.</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion takes place, and the iterator component of the pair points to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus linear insertion to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ac69df526c64421140bbfc8630fdc3505" name="insert"><type>std::pair&lt; iterator BOOST_MOVE_I bool &gt;</type><template>
          <template-type-parameter name="Pair"/>
        </template><parameter name="x"><paramtype>Pair &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a new value_type constructed from the pair if and only if there is no element in the container with key equivalent to the key of x.</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion takes place, and the iterator component of the pair points to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus linear insertion to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a29993cca3bdc2d286c46326710de8f02" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of x in the container if and only if there is no element in the container with key equivalent to the key of x. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time (constant if x is inserted right before p) plus insertion linear to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1aa3e26e419feb62f990965ca4f0bb969e" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>value_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an element move constructed from x in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time (constant if x is inserted right before p) plus insertion linear to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ac41ad40449e463e490b9cc1ec7eaebe6" name="insert"><type>iterator</type><template>
          <template-type-parameter name="Pair"/>
        </template><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>Pair &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an element constructed from x in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time (constant if x is inserted right before p) plus insertion linear to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a90e589bba722a167a0e2ab40560c2523" name="insert"><type>void</type><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: first, last are not iterators into *this.</para><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [first,last) if and only if there is no element with key equivalent to the key of that element.</para><para><emphasis role="bold">Complexity</emphasis>: N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956">size()</link>+N).</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a6c549da85d64006c9837204b8da1bd4c" name="insert"><type>void</type><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: first, last are not iterators into *this.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [first,last) if and only if there is no element with key equivalent to the key of that element. This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Complexity</emphasis>: Linear.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a5b55bb94c4f80fb36c87b41e64670f49" name="insert"><type>void</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [il.begin(), il.end()) if and only if there is no element with key equivalent to the key of that element.</para><para><emphasis role="bold">Complexity</emphasis>: N log(N).</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a29ab8d260df615ee6af8521c0511b437" name="insert"><type>void</type><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [il.begin(), il.end()) if and only if there is no element with key equivalent to the key of that element. This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Complexity</emphasis>: Linear.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a0102091c29d8d37a5c328d535fc37519" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>flat_map</classname>&lt; Key, T, C2, AllocatorOrContainer &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a5e8c15b0d7fbbdfbc751ba628f603717">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Move-inserts each element from source into *this a using the comparison object of *this. If there is an element in a with key equivalent to the key of an element from source, then that element is not moved from source.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956">size()</link> + source.size().</para><para><emphasis role="bold">Note</emphasis>: Invalidates all iterators and references. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a980d08f980638a4875c9502e5ee0def2" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>flat_map</classname>&lt; Key, T, C2, AllocatorOrContainer &gt; &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a5e8c15b0d7fbbdfbc751ba628f603717">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Move-inserts each element from source into *this a using the comparison object of *this. If there is an element in a with key equivalent to the key of an element from source, then that element is not moved from source.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956">size()</link> + source.size().</para><para><emphasis role="bold">Note</emphasis>: Invalidates all iterators and references.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1abad811f15cb685c5687ab57cf7effa8e" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>flat_multimap</classname>&lt; Key, T, C2, AllocatorOrContainer &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a5e8c15b0d7fbbdfbc751ba628f603717">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Move-inserts each element from source into *this a using the comparison object of *this. If there is an element in a with key equivalent to the key of an element from source, then that element is not moved from source.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956">size()</link> + source.size().</para><para><emphasis role="bold">Note</emphasis>: Invalidates all iterators and references.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a00dfeb8f7e1964080d16f07aa25c6c05" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>flat_multimap</classname>&lt; Key, T, C2, AllocatorOrContainer &gt; &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a5e8c15b0d7fbbdfbc751ba628f603717">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Move-inserts each element from source into *this a using the comparison object of *this. If there is an element in a with key equivalent to the key of an element from source, then that element is not moved from source.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956">size()</link> + source.size().</para><para><emphasis role="bold">Note</emphasis>: Invalidates all iterators and references.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1aa0fff2401f2e0c8b1bb9b3e4f024c40c" name="erase"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases the element pointed to by p.</para><para><emphasis role="bold">Returns</emphasis>: Returns an iterator pointing to the element immediately following q prior to the element being erased. If no such element exists, returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link>.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements with keys bigger than p</para><para><emphasis role="bold">Note</emphasis>: Invalidates elements with keys not less than the erased element. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a06983150f0c3228f903561bc72b093db" name="erase"><type>size_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If present, erases the element in the container with key equivalent to x.</para><para><emphasis role="bold">Returns</emphasis>: Returns the number of erased elements (0/1).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus erasure time linear to the elements with bigger keys. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1aba11778156171d9b7845f34f1f2f9bc4" name="erase"><type>size_type</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Effects</emphasis>: If present, erases the element in the container with key equivalent to x.</para><para><emphasis role="bold">Returns</emphasis>: Returns the number of erased elements (0/1). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a2d87457e0a980933efcbb22cec9cbbc8" name="erase"><type>iterator</type><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases all the elements in the range [first, last).</para><para><emphasis role="bold">Returns</emphasis>: Returns last.</para><para><emphasis role="bold">Complexity</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956">size()</link>*N where N is the distance from first to last.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus erasure time linear to the elements with bigger keys. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a5563f4881a6f5efffb1794884b08d2b3" name="swap" cv="noexcept(allocator_traits_type::is_always_equal::value &amp;&amp;boost::container::dtl::is_nothrow_swappable&lt; Compare &gt;::value)"><type>void</type><parameter name="x"><paramtype><classname>flat_map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Swaps the contents of *this and x.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a31c2c3c5916d72b485e4ae452215018f" name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a030cbe262b4b3763677b3651eb9055b4">begin()</link>,<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link>).</para><para><emphasis role="bold">Postcondition</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956">size()</link> == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8e35f1b07b2be3bf2a6c8ec559293956">size()</link>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a62851b31a329e352fc20e2a89392127f" name="key_comp" cv="const"><type>key_compare</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the comparison object out of which a was constructed.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1af6093fa98f14b0931306c951a9730921" name="value_comp" cv="const"><type>value_compare</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an object of value_compare constructed out of the comparison object.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a9a2b8ddd4e5647733186837070887dc7" name="find"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a0a4f3b9b06b1aa8683ea3bb3440a9b61" name="find" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const_iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ac4b44bd62eef5cb8cdadda26a686a6a4" name="find"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ab645dd46572b47a4e3c57a61bd78eefd" name="find" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const_iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1aef68811113c36d59ae590eb14760fd2c" name="count" cv="const"><type>size_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: The number of elements with key equivalent to x.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+count(k) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a87ba89fe3b8bfe6457f43d52253b7e7f" name="count" cv="const"><type>size_type</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: The number of elements with key equivalent to x.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+count(k) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ab35ba1306c71935d3968735cb06aa685" name="contains" cv="const"><type>bool</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: Returns true if there is an element with key equivalent to key in the container, otherwise false.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1aac4a1c1eefe9fa8baccaaaab31354301" name="contains" cv="const"><type>bool</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: Returns true if there is an element with key equivalent to key in the container, otherwise false.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ac5a1e2066dd7ba7dfe8cbc099167d150" name="lower_bound"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a1a3befa13f6ba9be953cf5f9c6a2633b" name="lower_bound" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a6108ff777f2a9fa0f584fe3b9a971466" name="lower_bound"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a197c9876fc95a5fdc8fd4a6637a266de" name="lower_bound" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a8c14774d08172c0944d2d557c3345ca2" name="upper_bound"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ac669990d9ce61b4907894b53a68b50bf" name="upper_bound" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ad86cb63fe8335601da3a87f5d8075285" name="upper_bound"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a1564327831347dfb19db20581f54d439" name="upper_bound" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a24ed00248deba926fa161afb2250c103">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1aebea071f78b6aab6f78c6c8ba8db4805" name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1aa4ea540a73ea66ae8c957b9b472fee50" name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1aade4b033f8b4b5342d5fe5c61b856e71" name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1aacceadfa66cdddb79aa08720451cb6ec" name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a02e2a44f3ceeeb3fd9543fd4db2c7750" name="extract_sequence"><type>sequence_type</type><description><para><emphasis role="bold">Effects</emphasis>: Extracts the internal sequence container.</para><para><emphasis role="bold">Complexity</emphasis>: Same as the move constructor of sequence_type, usually constant.</para><para><emphasis role="bold">Postcondition</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ae075d537dc6b9848958611749a43a0fd">empty()</link></para><para><emphasis role="bold">Throws</emphasis>: If secuence_type's move constructor throws <sbr/>
 </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ab999eb1ea444aadfa853c2cb6344e8f2" name="adopt_sequence"><type>void</type><parameter name="seq"><paramtype>sequence_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Discards the internally hold sequence container and adopts the one passed externally using the move assignment. Erases non-unique elements.</para><para><emphasis role="bold">Complexity</emphasis>: Assuming O(1) move assignment, O(NlogN) with N = seq.size()</para><para><emphasis role="bold">Throws</emphasis>: If the comparison or the move constructor throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ad7a2311c723f28a260279bdd70682549" name="adopt_sequence"><type>void</type><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="seq"><paramtype>sequence_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: seq shall be ordered according to this-&gt;compare() and shall contain unique elements.</para><para><emphasis role="bold">Effects</emphasis>: Discards the internally hold sequence container and adopts the one passed externally using the move assignment.</para><para><emphasis role="bold">Complexity</emphasis>: Assuming O(1) move assignment, O(1)</para><para><emphasis role="bold">Throws</emphasis>: If the move assignment throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a1cf7cce1245762afe05f29a6afd93e87" name="sequence" cv="const noexcept"><type>const sequence_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const view of the underlying sequence.</para><para><emphasis role="bold">Complexity</emphasis>: Constant</para><para><emphasis role="bold">Throws</emphasis>: Nothing </para></description></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ae4ffe199e2100e970dd309e162079a2b" name="operator=="><type>bool</type><parameter name="x"><paramtype>const <classname>flat_map</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are equal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a2db0ca8db16003551a6ebb2e9bb05581" name="operator!="><type>bool</type><parameter name="x"><paramtype>const <classname>flat_map</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are unequal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1aa7764f6f571ca11ea427f5d610e05925" name="operator&lt;"><type>bool</type><parameter name="x"><paramtype>const <classname>flat_map</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1abb442e578120ae562042b3049dd5030f" name="operator&gt;"><type>bool</type><parameter name="x"><paramtype>const <classname>flat_map</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1ad39eed887d30eb0ffeab411bf155280c" name="operator&lt;="><type>bool</type><parameter name="x"><paramtype>const <classname>flat_map</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1a269739881a88568d5926d89ea5513711" name="operator&gt;="><type>bool</type><parameter name="x"><paramtype>const <classname>flat_map</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map_1afa72ac8f44b9c08e2d58157c990708e0" name="swap" cv="noexcept(noexcept(x.swap(y)))"><type>void</type><parameter name="x"><paramtype><classname>flat_map</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype><classname>flat_map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: x.swap(y)</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
</method-group>
</class><class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap" name="flat_multimap"><template>
      <template-type-parameter name="Key"><purpose><para>is the key_type of the map </para></purpose></template-type-parameter>
      <template-type-parameter name="T"/>
      <template-type-parameter name="Compare"><default>std::less&lt;Key&gt;</default><purpose><para>is the ordering function for Keys (e.g. <emphasis>std::less&lt;Key&gt;</emphasis>). </para></purpose></template-type-parameter>
      <template-type-parameter name="AllocatorOrContainer"><default>new_allocator&lt; std::pair&lt; Key, T&gt; &gt;</default><purpose><para>is either:<itemizedlist>
<listitem><para>The allocator to allocate <computeroutput>value_type</computeroutput>s (e.g. <emphasis>allocator&lt; std::pair&lt;Key, T&gt; &gt; </emphasis>). (in this case <emphasis>sequence_type</emphasis> will be vector&lt;value_type, AllocatorOrContainer&gt;)</para>
</listitem><listitem><para>The SequenceContainer to be used as the underlying <emphasis>sequence_type</emphasis>. It must be a vector-like sequence container with random-access iterators. </para>
</listitem></itemizedlist>
</para></purpose></template-type-parameter>
    </template><description><para>A <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> is a kind of associative container that supports equivalent keys (possibly containing multiple copies of the same key value) and provides for fast retrieval of values of another type T based on the keys.</para><para>A <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> satisfies all of the requirements of a container and of a reversible container and of an associative container. For a flat_multimap&lt;Key,T&gt; the key_type is Key and the value_type is std::pair&lt;Key,T&gt; (unlike std::multimap&lt;Key, T&gt; which value_type is std::pair&lt;<emphasis role="bold">const</emphasis> Key, T&gt;).</para><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> is similar to std::multimap but it's implemented by as an ordered sequence container. The underlying sequence container is by default <emphasis>vector</emphasis> but it can also work user-provided vector-like SequenceContainers (like <emphasis><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link></emphasis> or <emphasis><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector">small_vector</link></emphasis>).</para><para>Using vector-like sequence containers means that inserting a new element into a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> might invalidate previous iterators and references (unless that sequence container is <emphasis><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link></emphasis> or a similar container that offers stable pointers and references). Similarly, erasing an element might invalidate iterators and references pointing to elements that come after (their keys are bigger) the erased element.</para><para>This container provides random-access iterators.</para><para>
</para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1aff65ea3d71fad87f52bdb39593aa954f" name="key_type"><type>Key</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a1f29d7f36cc0e7c1b53dd4bc711ab3c4" name="mapped_type"><type>T</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a3ed99735300d81d0b109ae4b84967e70" name="key_compare"><type>Compare</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a2e9f544aa478477286c48c121ef5e64e" name="value_type"><type>std::pair&lt; Key, T &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a4076497334d0e5e124a0fa049ffeed5c" name="sequence_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0abd493fda568955595681416775e5bf" name="allocator_type"><type>sequence_type::allocator_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1ad94473f4efc1670ce0479513d5935fea" name="allocator_traits_type"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a5222aea5cae30b8ebdd7e503db5bfc47" name="pointer"><type>sequence_type::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1af04cdb6c23ca3867a3f6f86032bea4e5" name="const_pointer"><type>sequence_type::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a4a676724112c1a0224a914e42df46c8a" name="reference"><type>sequence_type::reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a68b589657478dcd90e137840750c194d" name="const_reference"><type>sequence_type::const_reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a5bc3ce837a3d41217ed523a4105c2064" name="size_type"><type>sequence_type::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a434d34dc7cee103808844f5cda43765c" name="difference_type"><type>sequence_type::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a663f5fc9f7ffd2670a2b4a3374cbd49d" name="stored_allocator_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a37fee1663eee41f639eee28224cebbbc" name="value_compare"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a6efba5de4ab1735825418ff0c257e9cb" name="iterator"><type>sequence_type::iterator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a50b7fdd624ffc923bc22ce2cf2e2ca33" name="const_iterator"><type>sequence_type::const_iterator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a7c8358a7db996bce92b1da83218b4750" name="reverse_iterator"><type>sequence_type::reverse_iterator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1ae13c83fa486f10f26031f238adda480b" name="const_reverse_iterator"><type>sequence_type::const_reverse_iterator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1ab299ef0cbee8d7ec9a51615e6d36ca38" name="movable_value_type"><type>implementation_defined</type></typedef>
<method-group name="public member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a017ae6d269b501c38b87c69db7274740" name="BOOST_CONTAINER_STATIC_ASSERT"><type/><parameter name=""><paramtype>(dtl::is_same&lt; std::pair&lt; Key, T &gt;, value_type &gt;::value)</paramtype></parameter></method>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a5aa6828f8a6adf69489d9df3484eb1ab" cv="noexcept(dtl::is_nothrow_default_constructible&lt; AllocatorOrContainer &gt;::value &amp;&amp;dtl::is_nothrow_default_constructible&lt; Compare &gt;::value)"><description><para><emphasis role="bold">Effects</emphasis>: Default constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link>.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1aa5750bd61446e8a80814784e56c59485" specifiers="explicit"><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> using the specified allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1ab3188724e83710c477646cd27043e9f1" specifiers="explicit"><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> using the specified comparison object .</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a32eaff18745e94bf7bfa3ee054236a2b"><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> using the specified comparison object and allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1aa717234fd4ea1851dd093a08091b877d"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1af6c174db6295566e2e6ee60e997fd9df"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> using the specified allocator, and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a036d7d4bb01cc0ef3699265270bc6146"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> using the specified comparison object and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a7e69d1da703601eba5a5c67a94b27266"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> using the specified comparison object and allocator, and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a2920e27bd9467e2c2bde45307f51b423"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> and inserts elements from the ordered range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a56a74a015e1008ae480ffd8feba3b3bb"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> using the specified comparison object and inserts elements from the ordered range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1ad0b20c96f9a77eea5bd1c324d2db8229"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> using the specified comparison object and allocator, and inserts elements from the ordered range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a3fb9fd11b42ac7333d9615afd49596e6"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> using the specified comparison object and inserts elements from the ordered range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a58c7e725c58607f64b9dac05f79826e1"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a9878939f4dab61bb8073400525dfd0a6"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified allocator, and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a3ed0b8b8a66ebaead87e094475b388dc"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified comparison object and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a58784e79f9a8c1726c47bd196b0075ae"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> using the specified comparison object and allocator, and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1ace1a3d4f6b4297d002dc0e25dfb6aaeb"><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> and inserts elements from the ordered range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a1120cb58f47f855be5a9bbb3508b9a70"><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> using the specified comparison object and inserts elements from the ordered range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a558aaf34eee66d3c35a7cf4aabe11627"><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> using the specified comparison object and allocator, and inserts elements from the ordered range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1ab827bf4fbf45fdfedaf6072b7de87da6"><parameter name="x"><paramtype>const <classname>flat_multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link>.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a9b57475cb2061c004472d5221f2375f1" cv="noexcept(boost::container::dtl::is_nothrow_move_constructible&lt; Compare &gt;::value)"><parameter name="x"><paramtype><classname>flat_multimap</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link>. Constructs *this using x's resources.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Postcondition</emphasis>: x is emptied. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a4429dff5e45c244822cbe285de35747e"><parameter name="x"><paramtype>const <classname>flat_multimap</classname> &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> using the specified allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a937a250b822203703855ad5e07810ce6"><parameter name="x"><paramtype><classname>flat_multimap</classname> &amp;&amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> using the specified allocator. Constructs *this using x's resources.</para><para><emphasis role="bold">Complexity</emphasis>: Constant if a == x.get_allocator(), linear otherwise. </para></description></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a36c9ea6caac071b6a42a720d098b1d3d"><type><classname>flat_multimap</classname> &amp;</type><parameter name="x"><paramtype>const <classname>flat_multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Makes *this a copy of x.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a1e8b4d36bec6d4e45d3950d147918baa" cv="noexcept((allocator_traits_type::propagate_on_container_move_assignment::value||allocator_traits_type::is_always_equal::value) &amp;&amp;boost::container::dtl::is_nothrow_move_assignable&lt; Compare &gt;::value)"><type><classname>flat_multimap</classname> &amp;</type><parameter name="x"><paramtype><classname>flat_multimap</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: this-&gt;swap(x.get()).</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a7d9e0a803611f5fd93f31dd82cd6c60a"><type><classname>flat_multimap</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assign content of il to *this</para><para><emphasis role="bold">Complexity</emphasis>: Linear in il.size(). </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a9ffe915c00e2840fd66761e077649834" name="get_allocator" cv="const noexcept"><type>allocator_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a copy of the allocator that was passed to the object's constructor.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1ac9b15ba7d85df04e5550f08e07c79d97" name="get_stored_allocator" cv="noexcept"><type>stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a155a42eef5331a4d50ca5fc719f20249" name="get_stored_allocator" cv="const noexcept"><type>const stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a551082bcde83d4fa6c5648cc4ba151ea" name="begin" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1ae485c5676ebfbcbc4553ae33e4cb4956" name="begin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705" name="end" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a22e75011d98bb3a126f8b953a45ad99d" name="end" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a1f71ac39dc4d5e3281ed86126a39cf9f" name="rbegin" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a353d5a253db35dcf464efcdeacbe6220" name="rbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a6f09b70e0bdba1f029112486a669d421" name="rend" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a860564129fae6a69ab491ccfcfd41cf6" name="rend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a6bdd724b72150bbc34d66bcc6b6fe6d2" name="cbegin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a7ebeca20bee0fa73fe34a7bea7e63564" name="cend" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1af1eee90866a9ab3da4b8231659542f1b" name="crbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1aac0ec9d48cf07af8ae223ff2b207529a" name="crend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a7b35ce55aa2b89c3c110806fb51ddee9" name="empty" cv="const noexcept"><type>bool</type><description><para><emphasis role="bold">Effects</emphasis>: Returns true if the container contains no elements.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71eaaddd980571a988362c62e43f5fb0" name="size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the number of the elements contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1af8ab6478bf39c478b8f75979c711d63c" name="max_size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the largest possible size of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a1c3b8d9d3945ffaa42a3f8b95927f626" name="capacity" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Number of elements for which memory has been allocated. <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a1c3b8d9d3945ffaa42a3f8b95927f626">capacity()</link> is always greater than or equal to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71eaaddd980571a988362c62e43f5fb0">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a8be7c816898a53b72224ad935540f84f" name="reserve"><type>void</type><parameter name="cnt"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If n is less than or equal to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a1c3b8d9d3945ffaa42a3f8b95927f626">capacity()</link>, or the underlying container has no <computeroutput>reserve</computeroutput> member, this call has no effect. Otherwise, it is a request for allocation of additional memory. If the request is successful, then <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a1c3b8d9d3945ffaa42a3f8b95927f626">capacity()</link> is greater than or equal to n; otherwise, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a1c3b8d9d3945ffaa42a3f8b95927f626">capacity()</link> is unchanged. In either case, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71eaaddd980571a988362c62e43f5fb0">size()</link> is unchanged.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Note</emphasis>: If <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a1c3b8d9d3945ffaa42a3f8b95927f626">capacity()</link> is less than "cnt", iterators and references to to values might be invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a4f49fc47fa6353de078a09d5a9c0a490" name="shrink_to_fit"><type>void</type><purpose><emphasis role="bold">Effects</emphasis>: Tries to deallocate the excess of memory created </purpose><description><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71eaaddd980571a988362c62e43f5fb0">size()</link>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1ab43580cd7f8b7575ee5335aff9460ad8" name="nth" cv="noexcept"><type>iterator</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71eaaddd980571a988362c62e43f5fb0">size()</link> &gt;= n.</para><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the nth element from the beginning of the container. Returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link> if n == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71eaaddd980571a988362c62e43f5fb0">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a54d385f5d66699295a197320cfe89d0a" name="nth" cv="const noexcept"><type>const_iterator</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71eaaddd980571a988362c62e43f5fb0">size()</link> &gt;= n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the nth element from the beginning of the container. Returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link> if n == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71eaaddd980571a988362c62e43f5fb0">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1abd096ad2d9b4cfbe993d56d4708e1c53" name="index_of" cv="noexcept"><type>size_type</type><parameter name="p"><paramtype>iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a551082bcde83d4fa6c5648cc4ba151ea">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Returns the index of the element pointed by p and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71eaaddd980571a988362c62e43f5fb0">size()</link> if p == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1abafc7844b7030b33e2310808e39d936e" name="index_of" cv="const noexcept"><type>size_type</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a551082bcde83d4fa6c5648cc4ba151ea">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Returns the index of the element pointed by p and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71eaaddd980571a988362c62e43f5fb0">size()</link> if p == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1afa83701c62ab2eabb5e45c3bc7a6cf7a" name="emplace"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... and returns the iterator pointing to the newly inserted element.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus linear insertion to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a490d1c86c16d5acd3d9cf4a455810f57" name="emplace_hint"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="hint"><paramtype>const_iterator</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time (constant time if the value is to be inserted before p) plus linear insertion to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a8496f6217f16dcee2b4bae55b9f79d6a" name="insert"><type>iterator</type><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts x and returns the iterator pointing to the newly inserted element.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus linear insertion to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a4204bb28f5a7cf60e6f27ab014584c7a" name="insert"><type>iterator</type><template>
          <template-type-parameter name="Pair"/>
        </template><parameter name="x"><paramtype>Pair &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a new value constructed from x and returns the iterator pointing to the newly inserted element.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus linear insertion to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a720e1c096300371274d6e7755dfeb45c" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of x in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time (constant time if the value is to be inserted before p) plus linear insertion to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a1126acd852d094146da45b322fed876a" name="insert"><type>iterator</type><template>
          <template-type-parameter name="Pair"/>
        </template><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>Pair &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a value constructed from x in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time (constant time if the value is to be inserted before p) plus linear insertion to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a9c327a4de55a87166003a0d4bce32e48" name="insert"><type>void</type><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: first, last are not iterators into *this.</para><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [first,last) .</para><para><emphasis role="bold">Complexity</emphasis>: N log(N).</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a7768fc756f9f16eba62abf1f5e5e793e" name="insert"><type>void</type><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: first, last are not iterators into *this.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [first,last) if and only if there is no element with key equivalent to the key of that element. This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Complexity</emphasis>: Linear.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1aa2bc51536a94647c8d36145093951c5a" name="insert"><type>void</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [il.begin(), il.end()) .</para><para><emphasis role="bold">Complexity</emphasis>: N log(N).</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1ab2f5b1e5cc0eb98fc6a0d2631d718a69" name="insert"><type>void</type><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate.</para><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [il.begin(), il.end()) if and only if there is no element with key equivalent to the key of that element. This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Complexity</emphasis>: Linear.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1aa3f8c726b874e85b5c2bd6e7cab25ace" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>flat_multimap</classname>&lt; Key, T, C2, AllocatorOrContainer &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a9ffe915c00e2840fd66761e077649834">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Move-inserts each element from source into *this a using the comparison object of *this.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71eaaddd980571a988362c62e43f5fb0">size()</link> + source.size().</para><para><emphasis role="bold">Note</emphasis>: Invalidates all iterators and references. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a49fa3f2327aa0295c797eb1d3770c887" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>flat_multimap</classname>&lt; Key, T, C2, AllocatorOrContainer &gt; &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a9ffe915c00e2840fd66761e077649834">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Move-inserts each element from source into *this a using the comparison object of *this.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71eaaddd980571a988362c62e43f5fb0">size()</link> + source.size().</para><para><emphasis role="bold">Note</emphasis>: Invalidates all iterators and references.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1aca9ee5e21096bd4027af46b4cf190008" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>flat_map</classname>&lt; Key, T, C2, AllocatorOrContainer &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a9ffe915c00e2840fd66761e077649834">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Move-inserts each element from source into *this a using the comparison object of *this.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71eaaddd980571a988362c62e43f5fb0">size()</link> + source.size().</para><para><emphasis role="bold">Note</emphasis>: Invalidates all iterators and references.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1af9760bc5a1034f09426c5797faee3c2b" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>flat_map</classname>&lt; Key, T, C2, AllocatorOrContainer &gt; &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a9ffe915c00e2840fd66761e077649834">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Move-inserts each element from source into *this a using the comparison object of *this.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71eaaddd980571a988362c62e43f5fb0">size()</link> + source.size().</para><para><emphasis role="bold">Note</emphasis>: Invalidates all iterators and references.    </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a19c5094f78018ab136b9a8f35f8f1fda" name="erase"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases the element pointed to by p.</para><para><emphasis role="bold">Returns</emphasis>: Returns an iterator pointing to the element immediately following q prior to the element being erased. If no such element exists, returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link>.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements with keys bigger than p</para><para><emphasis role="bold">Note</emphasis>: Invalidates elements with keys not less than the erased element. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1ad00cfb3f0237dc35de7941bc2473110a" name="erase"><type>size_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases all elements in the container with key equivalent to x.</para><para><emphasis role="bold">Returns</emphasis>: Returns the number of erased elements.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus erasure time linear to the elements with bigger keys. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0933d6eef52ca61e1b75e37a1b451379" name="erase"><type>size_type</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Effects</emphasis>: Erases all elements in the container with key equivalent to x.</para><para><emphasis role="bold">Returns</emphasis>: Returns the number of erased elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a5920e3ef8fd00e09b9a4e6d6c3665d08" name="erase"><type>iterator</type><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases all the elements in the range [first, last).</para><para><emphasis role="bold">Returns</emphasis>: Returns last.</para><para><emphasis role="bold">Complexity</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71eaaddd980571a988362c62e43f5fb0">size()</link>*N where N is the distance from first to last.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus erasure time linear to the elements with bigger keys. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a7e2078f0e1600d9152f0d7b64eabb1bb" name="swap" cv="noexcept(allocator_traits_type::is_always_equal::value &amp;&amp;boost::container::dtl::is_nothrow_swappable&lt; Compare &gt;::value)"><type>void</type><parameter name="x"><paramtype><classname>flat_multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Swaps the contents of *this and x.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a556f0ff3f3f84e29f3049e142a604f6d" name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a551082bcde83d4fa6c5648cc4ba151ea">begin()</link>,<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link>).</para><para><emphasis role="bold">Postcondition</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71eaaddd980571a988362c62e43f5fb0">size()</link> == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71eaaddd980571a988362c62e43f5fb0">size()</link>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a4713af004c9478786a7cd63ef44c22f1" name="key_comp" cv="const"><type>key_compare</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the comparison object out of which a was constructed.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a99bc93ad4174618b25b0ac5db1a449e6" name="value_comp" cv="const"><type>value_compare</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an object of value_compare constructed out of the comparison object.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1afb602c8426b35928b9dfe29228f6b76f" name="find"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1ad3d1609cc8e4935cc8b5e59ee859bec6" name="find" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An const_iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a71fca41812785f8985ab17b7dd17e1a1" name="find"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a52a31b8e62985138724c7f1717b9f8f5" name="find" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An const_iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a5bb1a8bf54df95dd2179ca4ec62f41d6" name="count" cv="const"><type>size_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: The number of elements with key equivalent to x.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+count(k) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1af3eecdd55f2667fb79df7f65123e419d" name="count" cv="const"><type>size_type</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: The number of elements with key equivalent to x.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+count(k) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a1403f3321bf8fc12ac0a70e71ef9ff4a" name="contains" cv="const"><type>bool</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: Returns true if there is an element with key equivalent to key in the container, otherwise false.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a69b1b58a9b47f0b1a71a443e727fb211" name="contains" cv="const"><type>bool</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: Returns true if there is an element with key equivalent to key in the container, otherwise false.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1aa3dd2ee8a078d04e3ff99135b29e7f09" name="lower_bound"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a2f44ac3a156526c189a19a980fd5a979" name="lower_bound" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a88adf36993b4ed2ddf52ef28921ff854" name="lower_bound"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a85789c21a00d983197e76d863d733bb9" name="lower_bound" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a9045698af138eadf20e69f8c6c629c31" name="upper_bound"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a2f07ec2cf15434c939bc8988e6add934" name="upper_bound" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1abde0535d898d4d5f19767fe780f79bf9" name="upper_bound"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a372ad917bdc92d4a930674c3d422d180" name="upper_bound" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a0d4075322a99202f2c5ee1eabd8d0705">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a56cf2e3007c20d09f6fb70554eb7f8b4" name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a6d6000f1e5289b83afe25d9e95e8aff9" name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1adb70d6e58a65c5c67d70334732d01114" name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a1632c9ca9ef4db79f6e44443a35ea73b" name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1aeb4d1478b4f9ec0fbac43647c59dc5a0" name="extract_sequence"><type>sequence_type</type><description><para><emphasis role="bold">Effects</emphasis>: Extracts the internal sequence container.</para><para><emphasis role="bold">Complexity</emphasis>: Same as the move constructor of sequence_type, usually constant.</para><para><emphasis role="bold">Postcondition</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a7b35ce55aa2b89c3c110806fb51ddee9">empty()</link></para><para><emphasis role="bold">Throws</emphasis>: If secuence_type's move constructor throws <sbr/>
 </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a9a98c374e9caf228ec6ae5f7d7209375" name="adopt_sequence"><type>void</type><parameter name="seq"><paramtype>sequence_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Discards the internally hold sequence container and adopts the one passed externally using the move assignment.</para><para><emphasis role="bold">Complexity</emphasis>: Assuming O(1) move assignment, O(NlogN) with N = seq.size()</para><para><emphasis role="bold">Throws</emphasis>: If the comparison or the move constructor throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a696b03d23f7ea13023a5f499d90f01f5" name="adopt_sequence"><type>void</type><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="seq"><paramtype>sequence_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: seq shall be ordered according to this-&gt;compare().</para><para><emphasis role="bold">Effects</emphasis>: Discards the internally hold sequence container and adopts the one passed externally using the move assignment.</para><para><emphasis role="bold">Complexity</emphasis>: Assuming O(1) move assignment, O(1)</para><para><emphasis role="bold">Throws</emphasis>: If the move assignment throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a8c9a84643a7f96465d0b6c1c11688d3d" name="sequence" cv="const noexcept"><type>const sequence_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const view of the underlying sequence.</para><para><emphasis role="bold">Complexity</emphasis>: Constant</para><para><emphasis role="bold">Throws</emphasis>: Nothing </para></description></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a3562445dca463e3beb0e4a05ffcbd193" name="operator=="><type>bool</type><parameter name="x"><paramtype>const <classname>flat_multimap</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are equal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1a502d81542ed1d3eb34c7306252cbf641" name="operator!="><type>bool</type><parameter name="x"><paramtype>const <classname>flat_multimap</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are unequal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1ac9fcda862ed221e12885239a442d35b8" name="operator&lt;"><type>bool</type><parameter name="x"><paramtype>const <classname>flat_multimap</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1aa50fc5f66b8aa1e30302d61620134c19" name="operator&gt;"><type>bool</type><parameter name="x"><paramtype>const <classname>flat_multimap</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1ad1d51b9c6531638dcbdd3fb275845136" name="operator&lt;="><type>bool</type><parameter name="x"><paramtype>const <classname>flat_multimap</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1ab45122a250f9986ad0d80f29c1e558fd" name="operator&gt;="><type>bool</type><parameter name="x"><paramtype>const <classname>flat_multimap</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap_1af4f4c6f420eff49ea8467c46a44e0928" name="swap" cv="noexcept(noexcept(x.swap(y)))"><type>void</type><parameter name="x"><paramtype><classname>flat_multimap</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype><classname>flat_multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: x.swap(y)</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
</method-group>
</class>






































































































<function id="doxygen.boost_container_header_reference.flat__map_8hpp_1a0c6515acb9c6dd6c574980baaf4a8a91" name="flat_map"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__map_8hpp_1a002198b9f46b74e50ec960682c38712c" name="flat_map"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="AllocatorOrCompare"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>AllocatorOrCompare const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__map_8hpp_1a8800723acf49352651668ba5274657a0" name="flat_map"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Compare"/>
          <template-type-parameter name="Allocator"/>
          <template-type-parameter name=""><default>dtl::require_nonallocator_t&lt;Compare&gt;</default></template-type-parameter>
          <template-type-parameter name=""><default>dtl::require_allocator_t&lt;Allocator&gt;</default></template-type-parameter>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Compare const &amp;</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__map_8hpp_1a82ba8fde9c98206335e74399558b3337" name="flat_map"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__map_8hpp_1ac93f0fdf1b2c90c40a0d1bb23c1e0323" name="flat_map"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="AllocatorOrCompare"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>AllocatorOrCompare const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__map_8hpp_1ad744dc0e2b5b02b577dc81a08b465b31" name="flat_map"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Compare"/>
          <template-type-parameter name="Allocator"/>
          <template-type-parameter name=""><default>dtl::require_nonallocator_t&lt;Compare&gt;</default></template-type-parameter>
          <template-type-parameter name=""><default>dtl::require_allocator_t&lt;Allocator&gt;</default></template-type-parameter>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Compare const &amp;</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__map_8hpp_1a0e1225aff3825723a52dda3416adf579" name="flat_multimap"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__map_8hpp_1a8f31f97a4a7f96e4bcc8952ddcafbd21" name="flat_multimap"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="AllocatorOrCompare"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>AllocatorOrCompare const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__map_8hpp_1a1abe404548bcd1a2871153adfe8832b4" name="flat_multimap"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Compare"/>
          <template-type-parameter name="Allocator"/>
          <template-type-parameter name=""><default>dtl::require_nonallocator_t&lt;Compare&gt;</default></template-type-parameter>
          <template-type-parameter name=""><default>dtl::require_allocator_t&lt;Allocator&gt;</default></template-type-parameter>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Compare const &amp;</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__map_8hpp_1a2a3ab1d9de0bc6a2981230aa53ced5de" name="flat_multimap"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__map_8hpp_1a1a96b23925887a1733c603847a43bb4c" name="flat_multimap"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="AllocatorOrCompare"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>AllocatorOrCompare const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__map_8hpp_1a2ff799ff9026fe35ee680b49432ef296" name="flat_multimap"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Compare"/>
          <template-type-parameter name="Allocator"/>
          <template-type-parameter name=""><default>dtl::require_nonallocator_t&lt;Compare&gt;</default></template-type-parameter>
          <template-type-parameter name=""><default>dtl::require_allocator_t&lt;Allocator&gt;</default></template-type-parameter>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Compare const &amp;</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>


</namespace>
</namespace>
<macro id="doxygen.boost_container_header_reference.flat__map_8hpp_1a35a574832df18432816fd150388eaa6c" name="BOOST_CONTAINER_STD_PAIR_IS_MOVABLE"/>
</header>
<header id="doxygen.boost_container_header_reference.pmr_2flat__map_8hpp" name="boost/container/pmr/flat_map.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1flat__map__of" name="flat_map_of"><template>
      <template-type-parameter name="Key"/>
      <template-type-parameter name="T"/>
      <template-type-parameter name="Compare"><default>std::less&lt;Key&gt;</default></template-type-parameter>
    </template><description><para>A portable metafunction to obtain a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__map">flat_map</link> that uses a polymorphic allocator </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1flat__map__of_1a279c975d0ac3f828fdd205ae5f1ef57b" name="type"><type><classname>boost::container::flat_map</classname>&lt; Key, T, Compare, <classname>polymorphic_allocator</classname>&lt; std::pair&lt; Key, T &gt; &gt; &gt;</type></typedef>
</struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1flat__multimap__of" name="flat_multimap_of"><template>
      <template-type-parameter name="Key"/>
      <template-type-parameter name="T"/>
      <template-type-parameter name="Compare"><default>std::less&lt;Key&gt;</default></template-type-parameter>
    </template><description><para>A portable metafunction to obtain a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multimap">flat_multimap</link> that uses a polymorphic allocator </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1flat__multimap__of_1a6dcf741c97ca73f308a701d0331d68ee" name="type"><type><classname>boost::container::flat_multimap</classname>&lt; Key, T, Compare, <classname>polymorphic_allocator</classname>&lt; std::pair&lt; Key, T &gt; &gt; &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.pmr_2flat__map_8hpp_1ae3920fd3b00bac20ed0ab00efa2f4720" name="flat_map"><type><classname>boost::container::flat_map</classname>&lt; Key, T, Compare, <classname>polymorphic_allocator</classname>&lt; std::pair&lt; Key, T &gt; &gt; &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.pmr_2flat__map_8hpp_1abe506791f2a33154b444e52e93c7a59f" name="flat_multimap"><type><classname>boost::container::flat_multimap</classname>&lt; Key, T, Compare, <classname>polymorphic_allocator</classname>&lt; std::pair&lt; Key, T &gt; &gt; &gt;</type></typedef>






</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.flat__set_8hpp" name="boost/container/flat_set.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset" name="flat_multiset"><template>
      <template-type-parameter name="Key"><purpose><para>is the type to be inserted in the multiset, which is also the key_type </para></purpose></template-type-parameter>
      <template-type-parameter name="Compare"><default>std::less&lt;Key&gt;</default><purpose><para>is the comparison functor used to order keys </para></purpose></template-type-parameter>
      <template-type-parameter name="AllocatorOrContainer"><default>new_allocator&lt;Key&gt;</default><purpose><para>is either:<itemizedlist>
<listitem><para>The allocator to allocate <computeroutput>value_type</computeroutput>s (e.g. <emphasis>allocator&lt; std::pair&lt;Key, T&gt; &gt; </emphasis>). (in this case <emphasis>sequence_type</emphasis> will be vector&lt;value_type, AllocatorOrContainer&gt;)</para>
</listitem><listitem><para>The SequenceContainer to be used as the underlying <emphasis>sequence_type</emphasis>. It must be a vector-like sequence container with random-access iterators. </para>
</listitem></itemizedlist>
</para></purpose></template-type-parameter>
    </template><description><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset">flat_multiset</link> is a Sorted Associative Container that stores objects of type Key and can store multiple copies of the same key value.</para><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset">flat_multiset</link> is similar to std::multiset but it's implemented by as an ordered sequence container. The underlying sequence container is by default <emphasis>vector</emphasis> but it can also work user-provided vector-like SequenceContainers (like <emphasis><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link></emphasis> or <emphasis><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector">small_vector</link></emphasis>).</para><para>Using vector-like sequence containers means that inserting a new element into a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset">flat_multiset</link> might invalidate previous iterators and references (unless that sequence container is <emphasis><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link></emphasis> or a similar container that offers stable pointers and references). Similarly, erasing an element might invalidate iterators and references pointing to elements that come after (their keys are bigger) the erased element.</para><para>This container provides random-access iterators.</para><para>
</para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a8d72878d1e2da53692d13ee748bb06b3" name="key_type"><type>Key</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a7695be361b434f85f1df72a6e821c790" name="key_compare"><type>Compare</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a914ecaf06c8595fed182792fc4f6863b" name="value_type"><type>Key</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a5d4016147374ef1bb627fc0b9b766c77" name="sequence_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a460673801337bdc09e8428fd70080f99" name="allocator_type"><type>sequence_type::allocator_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ad483e392d7bc4efa2b74da3c0ab091f0" name="allocator_traits_type"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a9d54c5a7fa698f9271e94cbacef160d3" name="pointer"><type>sequence_type::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ad7859a1ac95530bf23b1bf71b0f63bce" name="const_pointer"><type>sequence_type::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a497105bfbb5d9145384ec6e5461db664" name="reference"><type>sequence_type::reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ab6941ad531bb10943cfe715da84f5c9a" name="const_reference"><type>sequence_type::const_reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a0f07bd529ddba29fe2ff51d439969d80" name="size_type"><type>sequence_type::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ad6f0597ca3c0998737fc7a8895e9ff66" name="difference_type"><type>sequence_type::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a999dbb689afcc6bad1a47ff81757259f" name="stored_allocator_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a0b7d9edec0eb1755ef83ec8525a5ee9b" name="value_compare"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a7d7d619bef7f530352c3a15e1e87ade9" name="iterator"><type>sequence_type::iterator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4871f03701935f920a426a81b263a3bc" name="const_iterator"><type>sequence_type::const_iterator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a502d1837051df75f685027c20f9bf872" name="reverse_iterator"><type>sequence_type::reverse_iterator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4b44d34b4934e05720bce768312eb485" name="const_reverse_iterator"><type>sequence_type::const_reverse_iterator</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1af6262064d6117ec28f135b85d0aa7f28" cv="noexcept(dtl::is_nothrow_default_constructible&lt; AllocatorOrContainer &gt;::value &amp;&amp;dtl::is_nothrow_default_constructible&lt; Compare &gt;::value)"><description><para><emphasis role="bold">Effects</emphasis>: Default constructs an empty container.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a46856f1f8f3bec6d17030c7d53aa59e2" specifiers="explicit"><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1adf89f03707cf0f15ae3b3346a3ea1255" specifiers="explicit"><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ab8d2048941e573b1cb9e320be565407b"><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object and allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a6b1e6f1a5515a641945f4d9aa2b5c03e"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using comp and otherwise N logN, where N is last - first.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a49bdb3d5db8acb5d790b8a0d0a51b601"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified allocator, and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using comp and otherwise N logN, where N is last - first.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1af69cb1ef772df819d27583c1563772fe"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using comp and otherwise N logN, where N is last - first.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ac58ea693b698d0face143fed853fa76d"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object and allocator, and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using comp and otherwise N logN, where N is last - first.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ac9e39480115846e71108d32a9afb6bd2"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset">flat_multiset</link> and inserts elements from the ordered range [first ,last ). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1af788cff362d1e56c08f4643fd1001007"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset">flat_multiset</link> using the specified comparison object and inserts elements from the ordered range [first ,last ). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ae70b7c6e5dec02e09267807c748b2cc7"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset">flat_multiset</link> using the specified comparison object and allocator, and inserts elements from the ordered range [first, last ). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a3afdb88b8a708e96b5b58e4fd7e2c880"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset">flat_multiset</link> using the specified allocator and inserts elements from the ordered range [first ,last ). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a76f537f7936134cc2d49cf2ac06cc55d"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Default constructs an empty container.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ac4d6d4056a140af370e45a929226edcd"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified allocator, and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using comp and otherwise N logN, where N is il.begin() - il.end().   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1afa6e9942bd2cba5335fce23e3adbddec"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using comp and otherwise N logN, where N is il.begin() - il.end().   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a0d6e5fa1a9f01435409007c9b04eb41f"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object and allocator, and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using comp and otherwise N logN, where N is il.begin() - il.end().   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ae39b86f2c8795f472e6d2ffe752ea378"><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty containerand inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ac73e9a688d4f6168b5d6f7466292ad09"><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object and inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ac08f7469802b9e30b9ebd60547d1ac73"><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object and allocator, and inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a31f8bf2f21d3e8a82e99d32b87b6b307"><parameter name="x"><paramtype>const <classname>flat_multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs the container.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size().   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a23fec65c3a9fd2740e8fc591c7e20c4e" cv="noexcept(boost::container::dtl::is_nothrow_move_constructible&lt; Compare &gt;::value)"><parameter name="x"><paramtype><classname>flat_multiset</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs thecontainer. Constructs *this using x's resources.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Postcondition</emphasis>: x is emptied.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a08edde803bd6c4316357ecbe6018e444"><parameter name="x"><paramtype>const <classname>flat_multiset</classname> &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a container using the specified allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size().   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a846a6f8fbedfd00ea71b88e9501c32b8"><parameter name="x"><paramtype><classname>flat_multiset</classname> &amp;&amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a container using the specified allocator. Constructs *this using x's resources.</para><para><emphasis role="bold">Complexity</emphasis>: Constant if a == x.get_allocator(), linear otherwise   </para></description></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a3752f769d81d81a742d9bbe3eb0b4936"><type><classname>flat_multiset</classname> &amp;</type><parameter name="x"><paramtype>const <classname>flat_multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Makes *this a copy of x.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size().   </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1afd14f8c34278ee37a49c35fab90b42d6" cv="noexcept((allocator_traits_type::propagate_on_container_move_assignment::value||allocator_traits_type::is_always_equal::value) &amp;&amp;boost::container::dtl::is_nothrow_move_assignable&lt; Compare &gt;::value)"><type><classname>flat_multiset</classname> &amp;</type><parameter name="x"><paramtype><classname>flat_multiset</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Throws</emphasis>: If <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a0701b56d932091c18e3c4b78ffc90c80">allocator_traits_type::propagate_on_container_move_assignment</link> is false and (allocation throws or value_type's move constructor throws)</para><para><emphasis role="bold">Complexity</emphasis>: Constant if allocator_traits_type:: propagate_on_container_move_assignment is true or this-&gt;get&gt;allocator() == x.get_allocator(). Linear otherwise.   </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a3b9eee8f0b00a7913fba5a2bb00c2b0f"><type><classname>flat_multiset</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy all elements from il to *this.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in il.size().   </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a7724af1bc5dad2d9ba7b12cf95f6042e" name="get_allocator" cv="const noexcept"><type>allocator_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a copy of the allocator that was passed to the object's constructor.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a31b5f591a6c5c40d5eab9b4b500a4ce1" name="get_stored_allocator" cv="noexcept"><type>stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a0b97e9c796840ea5f8aace5874c4f96d" name="get_stored_allocator" cv="const noexcept"><type>const stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a7892f87245383cc64616f6905e77fb28" name="begin" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a71dc4ae63e67ab5b934c756ef2077ab9" name="begin" cv="const"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1addbec224adee200402b0df8f31c3c575" name="cbegin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1acc7e76ab6fc7b61e84285bdfffde6f72" name="end" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a61b16435552afd5fa747680ee34df8e8" name="end" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a5799350eccfa287a0bc6256aff4eee79" name="cend" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ac41e1cbf571f288b930dd60e39d88086" name="rbegin" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1adb6b3b648b29ad17d8e1af819e7b7840" name="rbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a32935feb77ec48c9713da595ef5cd98f" name="crbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1aeae2ea511ba0000bc3b2cdf49dc73e4a" name="rend" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ac5d551debcb952b1db8ab31508e336d2" name="rend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a3f5f0abc91160e654b3534b7b1935f5f" name="crend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a61e4bfcb928b8f741bebadd934630534" name="empty" cv="const noexcept"><type>bool</type><description><para><emphasis role="bold">Effects</emphasis>: Returns true if the container contains no elements.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4a22e5c1dc19891a1e11f1a22881a373" name="size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the number of the elements contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a7e01c008095d1f3ab32b34a03408b2a3" name="max_size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the largest possible size of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ac4c895ae17126ac33bf90da7b37fbb7d" name="capacity" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Number of elements for which memory has been allocated. <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ac4c895ae17126ac33bf90da7b37fbb7d">capacity()</link> is always greater than or equal to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4a22e5c1dc19891a1e11f1a22881a373">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4388c7a9cd432af7d3520f184832e224" name="reserve"><type>void</type><parameter name="cnt"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If n is less than or equal to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ac4c895ae17126ac33bf90da7b37fbb7d">capacity()</link>, or the underlying container has no <computeroutput>reserve</computeroutput> member, this call has no effect. Otherwise, it is a request for allocation of additional memory. If the request is successful, then <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ac4c895ae17126ac33bf90da7b37fbb7d">capacity()</link> is greater than or equal to n; otherwise, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ac4c895ae17126ac33bf90da7b37fbb7d">capacity()</link> is unchanged. In either case, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4a22e5c1dc19891a1e11f1a22881a373">size()</link> is unchanged.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Note</emphasis>: If <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ac4c895ae17126ac33bf90da7b37fbb7d">capacity()</link> is less than "cnt", iterators and references to to values might be invalidated.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a0d96effeb593983390ef143d4203c8cd" name="shrink_to_fit"><type>void</type><purpose><emphasis role="bold">Effects</emphasis>: Tries to deallocate the excess of memory created  </purpose><description><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or Key's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4a22e5c1dc19891a1e11f1a22881a373">size()</link>.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ab382e5154cb53a5335a8f55c50e9dd81" name="emplace"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type Key constructed with std::forward&lt;Args&gt;(args)... and returns the iterator pointing to the newly inserted element.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus linear insertion to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a419266938ccf9639b5a1f03e27a801b1" name="emplace_hint"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type Key constructed with std::forward&lt;Args&gt;(args)... in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time (constant if x is inserted right before p) plus insertion linear to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a78d76143b457699fb354ffafe43288a2" name="insert"><type>iterator</type><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts x and returns the iterator pointing to the newly inserted element.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus linear insertion to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a473d270e87e3a933107b6b541569549e" name="insert"><type>iterator</type><parameter name="x"><paramtype>value_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a new value_type move constructed from x and returns the iterator pointing to the newly inserted element.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus linear insertion to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a3abb1c40f07c5f5fc5af0647f87d1c43" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of x in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time (constant if x is inserted right before p) plus insertion linear to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1aa2435b935548123c27ac6ab72b8a9724" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>value_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a new value move constructed from x in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time (constant if x is inserted right before p) plus insertion linear to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1af6821d2dc33f29b5fec2686d60d176bf" name="insert"><type>void</type><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: first, last are not iterators into *this.</para><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [first,last) .</para><para><emphasis role="bold">Complexity</emphasis>: N log(N).</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ae433892bb30a1f3faaf880f1bb5ce442" name="insert"><type>void</type><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: first, last are not iterators into *this and must be ordered according to the predicate.</para><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [first,last) .This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Complexity</emphasis>: Linear.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a26ca3653d5e088d2c76d17637432ed77" name="insert"><type>void</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: N log(N).</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a1c1943a3a54b0ebbca6e6e4319522c1e" name="insert"><type>void</type><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: Range [il.begin(), il.end()) must be ordered according to the predicate.</para><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Complexity</emphasis>: Linear.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ac8ee56c55da5de79b3ba91873cff26af" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>flat_multiset</classname>&lt; Key, C2, AllocatorOrContainer &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a7724af1bc5dad2d9ba7b12cf95f6042e">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Move-inserts each element from source into *this a using the comparison object of *this.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4a22e5c1dc19891a1e11f1a22881a373">size()</link> + source.size().</para><para><emphasis role="bold">Note</emphasis>: Invalidates all iterators and references.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a15285322a8cc52bfdf5c3aaf11035a73" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>flat_multiset</classname>&lt; Key, C2, AllocatorOrContainer &gt; &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a7724af1bc5dad2d9ba7b12cf95f6042e">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Move-inserts each element from source into *this a using the comparison object of *this.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4a22e5c1dc19891a1e11f1a22881a373">size()</link> + source.size().</para><para><emphasis role="bold">Note</emphasis>: Invalidates all iterators and references.    </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a7a99e74b08013f1cb453329f047b5e2d" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>flat_set</classname>&lt; Key, C2, AllocatorOrContainer &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a7724af1bc5dad2d9ba7b12cf95f6042e">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Move-inserts each element from source into *this a using the comparison object of *this.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4a22e5c1dc19891a1e11f1a22881a373">size()</link> + source.size().</para><para><emphasis role="bold">Note</emphasis>: Invalidates all iterators and references.    </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ab0c2a8c02163626c70c1351aa431d94a" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>flat_set</classname>&lt; Key, C2, AllocatorOrContainer &gt; &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a7724af1bc5dad2d9ba7b12cf95f6042e">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Move-inserts each element from source into *this a using the comparison object of *this.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4a22e5c1dc19891a1e11f1a22881a373">size()</link> + source.size().</para><para><emphasis role="bold">Note</emphasis>: Invalidates all iterators and references.     </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a5db9957a380dd59ea48dacb5654ed5f4" name="erase"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases the element pointed to by p.</para><para><emphasis role="bold">Returns</emphasis>: Returns an iterator pointing to the element immediately following q prior to the element being erased. If no such element exists, returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1acc7e76ab6fc7b61e84285bdfffde6f72">end()</link>.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements with keys bigger than p</para><para><emphasis role="bold">Note</emphasis>: Invalidates elements with keys not less than the erased element.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1af36f09edf695db656997f239ae0a04ce" name="erase"><type>size_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If present, erases the element in the container with key equivalent to x.</para><para><emphasis role="bold">Returns</emphasis>: Returns the number of erased elements (0/1).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus erasure time linear to the elements with bigger keys.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a113b9ac5ac0efc39fc9620bd1bb13d46" name="erase"><type>iterator</type><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases all the elements in the range [first, last).</para><para><emphasis role="bold">Returns</emphasis>: Returns last.</para><para><emphasis role="bold">Complexity</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4a22e5c1dc19891a1e11f1a22881a373">size()</link>*N where N is the distance from first to last.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus erasure time linear to the elements with bigger keys.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a60e8cbcc5dd0c3200690107a130e6ef7" name="swap" cv="noexcept(allocator_traits_type::is_always_equal::value &amp;&amp;boost::container::dtl::is_nothrow_swappable&lt; Compare &gt;::value)"><type>void</type><parameter name="x"><paramtype><classname>flat_multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Swaps the contents of *this and x.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a77e1943af40bcaf103bddf8b7e15862f" name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a7892f87245383cc64616f6905e77fb28">begin()</link>,<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1acc7e76ab6fc7b61e84285bdfffde6f72">end()</link>).</para><para><emphasis role="bold">Postcondition</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4a22e5c1dc19891a1e11f1a22881a373">size()</link> == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4a22e5c1dc19891a1e11f1a22881a373">size()</link>.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a240489d526b17f092b5ed078e8f514fb" name="key_comp" cv="const"><type>key_compare</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the comparison object out of which a was constructed.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a26356185691d412d76c0aff60aed83ee" name="value_comp" cv="const"><type>value_compare</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an object of value_compare constructed out of the comparison object.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ac41392983c0b9c1bd66b45c9116974ae" name="find"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1acc7e76ab6fc7b61e84285bdfffde6f72">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a46ba02180039c0901ee5adf569d52de8" name="find" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const_iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1acc7e76ab6fc7b61e84285bdfffde6f72">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a02c7b07bff2ed4b5a1735407386a17f5" name="nth" cv="noexcept"><type>iterator</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4a22e5c1dc19891a1e11f1a22881a373">size()</link> &gt;= n.</para><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the nth element from the beginning of the container. Returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1acc7e76ab6fc7b61e84285bdfffde6f72">end()</link> if n == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4a22e5c1dc19891a1e11f1a22881a373">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a9baa314a41d09c4d7fb4be5be4c114de" name="nth" cv="const noexcept"><type>const_iterator</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4a22e5c1dc19891a1e11f1a22881a373">size()</link> &gt;= n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the nth element from the beginning of the container. Returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1acc7e76ab6fc7b61e84285bdfffde6f72">end()</link> if n == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4a22e5c1dc19891a1e11f1a22881a373">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a17816cd129188cfd33905f07b80fd21e" name="index_of" cv="noexcept"><type>size_type</type><parameter name="p"><paramtype>iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a7892f87245383cc64616f6905e77fb28">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1acc7e76ab6fc7b61e84285bdfffde6f72">end()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Returns the index of the element pointed by p and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4a22e5c1dc19891a1e11f1a22881a373">size()</link> if p == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1acc7e76ab6fc7b61e84285bdfffde6f72">end()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a7f3c13e55c6c89ade84282dae04f9d41" name="index_of" cv="const noexcept"><type>size_type</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a7892f87245383cc64616f6905e77fb28">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1acc7e76ab6fc7b61e84285bdfffde6f72">end()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Returns the index of the element pointed by p and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a4a22e5c1dc19891a1e11f1a22881a373">size()</link> if p == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1acc7e76ab6fc7b61e84285bdfffde6f72">end()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a38f259d6049a0737118bf0c6532b2454" name="count" cv="const"><type>size_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: The number of elements with key equivalent to x.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+count(k)   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a1a794443145c51fd6d62299672075ff7" name="contains" cv="const"><type>bool</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: Returns true if there is an element with key equivalent to key in the container, otherwise false.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()).   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1adb2ea4a5f10612d362dcac5e91bb55f3" name="contains" cv="const"><type>bool</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: Returns true if there is an element with key equivalent to key in the container, otherwise false.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()).   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a5baa865ea755f401cffd1894eb7d3058" name="lower_bound"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1acc7e76ab6fc7b61e84285bdfffde6f72">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1aa353aeef66ae3fbdb1ae8824bfc9e64f" name="lower_bound" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1acc7e76ab6fc7b61e84285bdfffde6f72">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ad04acdd827791a83f0af80c004e6c5e3" name="upper_bound"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1acc7e76ab6fc7b61e84285bdfffde6f72">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a443616f271e8fb02a69ec9e189ac5f98" name="upper_bound" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1acc7e76ab6fc7b61e84285bdfffde6f72">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ae55388f3a984795dc928caa00c04b181" name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1aa610977cd350bfa916672fcf07d4dd64" name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ad219b245149c2b7881e7968ab641f081" name="extract_sequence"><type>sequence_type</type><description><para><emphasis role="bold">Effects</emphasis>: Extracts the internal sequence container.</para><para><emphasis role="bold">Complexity</emphasis>: Same as the move constructor of sequence_type, usually constant.</para><para><emphasis role="bold">Postcondition</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a61e4bfcb928b8f741bebadd934630534">empty()</link></para><para><emphasis role="bold">Throws</emphasis>: If secuence_type's move constructor throws <sbr/>
 </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a473ca1ade9a49e1e2be3609cb9d682a8" name="adopt_sequence"><type>void</type><parameter name="seq"><paramtype>sequence_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Discards the internally hold sequence container and adopts the one passed externally using the move assignment.</para><para><emphasis role="bold">Complexity</emphasis>: Assuming O(1) move assignment, O(NlogN) with N = seq.size()</para><para><emphasis role="bold">Throws</emphasis>: If the comparison or the move constructor throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ab1e832af2424732f6da3d065b765eaf5" name="adopt_sequence"><type>void</type><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="seq"><paramtype>sequence_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: seq shall be ordered according to this-&gt;compare()</para><para><emphasis role="bold">Effects</emphasis>: Discards the internally hold sequence container and adopts the one passed externally using the move assignment.</para><para><emphasis role="bold">Complexity</emphasis>: Assuming O(1) move assignment, O(1)</para><para><emphasis role="bold">Throws</emphasis>: If the move assignment throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1aaf1b938a6a533757d703ebca70f82452" name="sequence" cv="const noexcept"><type>const sequence_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const view of the underlying sequence.</para><para><emphasis role="bold">Complexity</emphasis>: Constant</para><para><emphasis role="bold">Throws</emphasis>: Nothing </para></description></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ab351df8b9f631754e01a4b5bf91579bc" name="operator=="><type>bool</type><parameter name="x"><paramtype>const <classname>flat_multiset</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are equal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ac5988f217bd8f120d2e4dc37c1b213b0" name="operator!="><type>bool</type><parameter name="x"><paramtype>const <classname>flat_multiset</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are unequal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a7db3c41af9127f8e4d5a6570344467f4" name="operator&lt;"><type>bool</type><parameter name="x"><paramtype>const <classname>flat_multiset</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1af2b07a3f3222141d782520c78f3f8978" name="operator&gt;"><type>bool</type><parameter name="x"><paramtype>const <classname>flat_multiset</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1ac6f9873901b58667c995fcdb1ca89b7a" name="operator&lt;="><type>bool</type><parameter name="x"><paramtype>const <classname>flat_multiset</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1af69d8b5b3e2455a06d2bec9db50f3568" name="operator&gt;="><type>bool</type><parameter name="x"><paramtype>const <classname>flat_multiset</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset_1a5592053eb8ccb20c99aceee78c33f97f" name="swap" cv="noexcept(allocator_traits_type::is_always_equal::value &amp;&amp;boost::container::dtl::is_nothrow_swappable&lt; Compare &gt;::value)"><type>void</type><parameter name="x"><paramtype><classname>flat_multiset</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype><classname>flat_multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: x.swap(y)</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
</method-group>
</class><class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set" name="flat_set"><template>
      <template-type-parameter name="Key"><purpose><para>is the type to be inserted in the set, which is also the key_type </para></purpose></template-type-parameter>
      <template-type-parameter name="Compare"><default>std::less&lt;Key&gt;</default><purpose><para>is the comparison functor used to order keys </para></purpose></template-type-parameter>
      <template-type-parameter name="AllocatorOrContainer"><default>new_allocator&lt;Key&gt;</default><purpose><para>is either:<itemizedlist>
<listitem><para>The allocator to allocate <computeroutput>value_type</computeroutput>s (e.g. <emphasis>allocator&lt; std::pair&lt;Key, T&gt; &gt; </emphasis>). (in this case <emphasis>sequence_type</emphasis> will be vector&lt;value_type, AllocatorOrContainer&gt;)</para>
</listitem><listitem><para>The SequenceContainer to be used as the underlying <emphasis>sequence_type</emphasis>. It must be a vector-like sequence container with random-access iterators. </para>
</listitem></itemizedlist>
</para></purpose></template-type-parameter>
    </template><description><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set">flat_set</link> is a Sorted Associative Container that stores objects of type Key. It is also a Unique Associative Container, meaning that no two elements are the same.</para><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set">flat_set</link> is similar to std::set but it's implemented by as an ordered sequence container. The underlying sequence container is by default <emphasis>vector</emphasis> but it can also work user-provided vector-like SequenceContainers (like <emphasis><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link></emphasis> or <emphasis><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector">small_vector</link></emphasis>).</para><para>Using vector-like sequence containers means that inserting a new element into a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set">flat_set</link> might invalidate previous iterators and references (unless that sequence container is <emphasis><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link></emphasis> or a similar container that offers stable pointers and references). Similarly, erasing an element might invalidate iterators and references pointing to elements that come after (their keys are bigger) the erased element.</para><para>This container provides random-access iterators.</para><para>
</para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab158e52ab45ea6989a703b1651e8a71a" name="key_type"><type>Key</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1acdfcb33e6f8e8c06b6fdc98d465d87c7" name="key_compare"><type>Compare</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a277d806081494741c43f980a282b2470" name="value_type"><type>Key</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1abd0cca77db834671815d1491475648b6" name="sequence_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a5b68a08fc9ac87130918db53aefd0ffb" name="allocator_type"><type>sequence_type::allocator_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1af3866464a1854bfda8875713b4119a61" name="allocator_traits_type"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ac5b269278e095e5bffa43d93b3eb1383" name="pointer"><type>sequence_type::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ad966a9d2e2c47d22b9f15f43c115d528" name="const_pointer"><type>sequence_type::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1afac79cbd9c995a29092276eb5a491ff6" name="reference"><type>sequence_type::reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a55419fad6d5a3ff6ef5b279adbc83028" name="const_reference"><type>sequence_type::const_reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a047aceac1b0acf06289ea9db081d5767" name="size_type"><type>sequence_type::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a91f0362fe76da0de589481c9d06b2a5b" name="difference_type"><type>sequence_type::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a07e476cac4a9614a6165aa9696731546" name="stored_allocator_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a306bd26609f86b5a06f2f6efbcc54fec" name="value_compare"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1afe4fb9c8899ae1026aa910fa2743a9fa" name="iterator"><type>sequence_type::iterator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a216c04cc83673f901fe0158e9f2490a4" name="const_iterator"><type>sequence_type::const_iterator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a653eeba8c45b5b73d42b0fce390bb8e8" name="reverse_iterator"><type>sequence_type::reverse_iterator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1af7c63616b2f197c0207761c09cf1d3ed" name="const_reverse_iterator"><type>sequence_type::const_reverse_iterator</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a5f71a61eb06bd805a4c92741e0f6f04e" cv="noexcept(dtl::is_nothrow_default_constructible&lt; AllocatorOrContainer &gt;::value &amp;&amp;dtl::is_nothrow_default_constructible&lt; Compare &gt;::value)"><description><para><emphasis role="bold">Effects</emphasis>: Default constructs an empty container.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1afbf347efb7c9bda29e0ef43c00f431e5" specifiers="explicit"><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7a9f7acc27ca8c9676257bad66f6357d" specifiers="explicit"><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a1c8e0644686d6c819756ab87f71ebc34"><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object and allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ae7e3a493185799ab5dbb0d7307e3825f"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using comp and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a6295490bbe9f9194cef0c0b70488c690"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified allocator, and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using comp and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ac7abb53842bb7e4a99a53901b64c0428"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using comp and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a0691981e8c644d0cabf0864da0fb5f78"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object and allocator, and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using comp and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1af5db1065002254e005b18f6721e1ea5d"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container and inserts elements from the ordered unique range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a940bb022fc0f1d5b16c2ee13c327eec7"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object and inserts elements from the ordered unique range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ac81aa69d438d1a6f56f6b104bc42f4e2"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object and allocator, and inserts elements from the ordered unique range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a4f2f5f941a0365129f17a1f572c9986d"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified allocator and inserts elements from the ordered unique range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a39546c37b0797365ddcf555bec1d326d"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using comp and otherwise N logN, where N is il.begin() - il.end(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a3038ccc5295ea9eb93ef8263370b7776"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified allocator, and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using comp and otherwise N logN, where N is il.begin() - il.end(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1aacc0c6caf92c4087db51b6755d5b56e1"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using comp and otherwise N logN, where N is il.begin() - il.end(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a435f461edf39c3b63ef5cd1929edc8d3"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object and allocator, and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using comp and otherwise N logN, where N is il.begin() - il.end(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a4f7aaa74553f78d2ef0c5fa52a9d587e"><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object and inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1af357a6ac5c37d80024367d90966447a4"><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object and inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a0f43f2a79af51b3bf60fa4ed26adcd04"><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty container using the specified comparison object and allocator, and inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a87a050059f54cd09d578cd24aeaaa448"><parameter name="x"><paramtype>const <classname>flat_set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs the container.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ae3d1fbac6997771129466a006e03c779" cv="noexcept(boost::container::dtl::is_nothrow_move_constructible&lt; Compare &gt;::value)"><parameter name="x"><paramtype><classname>flat_set</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs thecontainer. Constructs *this using x's resources.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Postcondition</emphasis>: x is emptied. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a123627482a2313798920d8ae1ac82002"><parameter name="x"><paramtype>const <classname>flat_set</classname> &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a container using the specified allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a12bc14bbdc71c1869c7ed05e857c3948"><parameter name="x"><paramtype><classname>flat_set</classname> &amp;&amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a container using the specified allocator. Constructs *this using x's resources.</para><para><emphasis role="bold">Complexity</emphasis>: Constant if a == x.get_allocator(), linear otherwise </para></description></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a73ef9463d56ad316197100db9096af98"><type><classname>flat_set</classname> &amp;</type><parameter name="x"><paramtype>const <classname>flat_set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Makes *this a copy of x.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab3580f926885cb8371457ac6910cfa05" cv="noexcept((allocator_traits_type::propagate_on_container_move_assignment::value||allocator_traits_type::is_always_equal::value) &amp;&amp;boost::container::dtl::is_nothrow_move_assignable&lt; Compare &gt;::value)"><type><classname>flat_set</classname> &amp;</type><parameter name="x"><paramtype><classname>flat_set</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Throws</emphasis>: If <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a0701b56d932091c18e3c4b78ffc90c80">allocator_traits_type::propagate_on_container_move_assignment</link> is false and (allocation throws or value_type's move constructor throws)</para><para><emphasis role="bold">Complexity</emphasis>: Constant if allocator_traits_type:: propagate_on_container_move_assignment is true or this-&gt;get&gt;allocator() == x.get_allocator(). Linear otherwise. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a81aac37ecf35d23bf175d56ae0ae573e"><type><classname>flat_set</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy all elements from il to *this.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in il.size(). </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ae62261200845848b114d822ea7af1ccd" name="get_allocator" cv="const noexcept"><type>allocator_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a copy of the allocator that was passed to the object's constructor.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a563d13e2c474925004d89a3ded5bc924" name="get_stored_allocator" cv="noexcept"><type>stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a2c40d16b8e8a9bf08a9c0c48f20fda7a" name="get_stored_allocator" cv="const noexcept"><type>const stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1aca1fda1e8ef12fb996605fc96f33e298" name="begin" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a3dcdb64425af6c4666b27554c970de19" name="begin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10" name="end" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a14906d5de6ae15e0e165d6d1bb3d0b6f" name="end" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a63b6b8ad06180fa1279aa4c6685caa89" name="rbegin" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a8b56b6fb4c79ec6f15079afac31dfe0e" name="rbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a021c8a92015da3abdf5cc28dd66551e0" name="rend" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a6ed8077fccbc738431e354bb9348f9fd" name="rend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a548c860675910be66d1f273689fa32a5" name="cbegin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a9b0fe67bc1020cd93fa528584a2c386f" name="cend" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a1ba0c48d3a672ae25e6fcc23569ab5e5" name="crbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a482c4625611ee9ed7a10956a30e1e304" name="crend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a3dc69d1a8990c3eb44d38db290d0e37e" name="empty" cv="const noexcept"><type>bool</type><description><para><emphasis role="bold">Effects</emphasis>: Returns true if the container contains no elements.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab1478cd5e5bbb10d71ce71e5e65e4bc6" name="size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the number of the elements contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab2e85e2b6d05e07a7babe3e16ad98d74" name="max_size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the largest possible size of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ad693335c3b4bae22b6afee50941a8811" name="capacity" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Number of elements for which memory has been allocated. <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ad693335c3b4bae22b6afee50941a8811">capacity()</link> is always greater than or equal to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab1478cd5e5bbb10d71ce71e5e65e4bc6">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a857a7a060b4382195fe2e1671e156b7b" name="reserve"><type>void</type><parameter name="cnt"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If n is less than or equal to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ad693335c3b4bae22b6afee50941a8811">capacity()</link>, or the underlying container has no <computeroutput>reserve</computeroutput> member, this call has no effect. Otherwise, it is a request for allocation of additional memory. If the request is successful, then <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ad693335c3b4bae22b6afee50941a8811">capacity()</link> is greater than or equal to n; otherwise, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ad693335c3b4bae22b6afee50941a8811">capacity()</link> is unchanged. In either case, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab1478cd5e5bbb10d71ce71e5e65e4bc6">size()</link> is unchanged.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Note</emphasis>: If <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ad693335c3b4bae22b6afee50941a8811">capacity()</link> is less than "cnt", iterators and references to to values might be invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a8e3fb85d76d22c58ed125a4e70163cdb" name="shrink_to_fit"><type>void</type><purpose><emphasis role="bold">Effects</emphasis>: Tries to deallocate the excess of memory created </purpose><description><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or Key's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab1478cd5e5bbb10d71ce71e5e65e4bc6">size()</link>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a575fb5a521c52820181aac120a7c91bb" name="emplace"><type>std::pair&lt; iterator, bool &gt;</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object x of type Key constructed with std::forward&lt;Args&gt;(args)... if and only if there is no element in the container with key equivalent to the key of x.</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion takes place, and the iterator component of the pair points to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus linear insertion to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a6742bcc033878f3f0fad1b42e554ae4b" name="emplace_hint"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type Key constructed with std::forward&lt;Args&gt;(args)... in the container if and only if there is no element in the container with key equivalent to the key of x. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time (constant if x is inserted right before p) plus insertion linear to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1aabc14b9614f316599a385628e946a792" name="insert"><type>std::pair&lt; iterator, bool &gt;</type><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts x if and only if there is no element in the container with key equivalent to the key of x.</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion takes place, and the iterator component of the pair points to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus linear insertion to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a57ee210538b194a6f513804dc0385ea9" name="insert"><type>std::pair&lt; iterator, bool &gt;</type><parameter name="x"><paramtype>value_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a new value_type move constructed from the pair if and only if there is no element in the container with key equivalent to the key of x.</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion takes place, and the iterator component of the pair points to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus linear insertion to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1afe7144270c059c0684e355b3f6fd48f7" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of x in the container if and only if there is no element in the container with key equivalent to the key of x. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time (constant if x is inserted right before p) plus insertion linear to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a5bea1d138b1b413e2f8b47fa3d3ff64a" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>value_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an element move constructed from x in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time (constant if x is inserted right before p) plus insertion linear to the elements with bigger keys than x.</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ad651fcd21d0b67a4879462dd796a7eb7" name="insert"><type>void</type><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: first, last are not iterators into *this.</para><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [first,last) if and only if there is no element with key equivalent to the key of that element.</para><para><emphasis role="bold">Complexity</emphasis>: N log(N).</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ae2ecc1e31f134570622c6e2e13b66615" name="insert"><type>void</type><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: first, last are not iterators into *this and must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [first,last) .This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Complexity</emphasis>: Linear.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a15aff4e782c3b37b0327a37d21e332c9" name="insert"><type>void</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [il.begin(), il.end()) if and only if there is no element with key equivalent to the key of that element.</para><para><emphasis role="bold">Complexity</emphasis>: N log(N).</para><para><emphasis role="bold">Note</emphasis>: If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a6eb0a0fe69699aa6bcf14f16212c9f3b" name="insert"><type>void</type><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: Range [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [il.begin(), il.end()) .This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Complexity</emphasis>: Linear.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. If an element is inserted it might invalidate elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a2cdcf4d4bbeb2861bc2c78bcd936cfeb" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>flat_set</classname>&lt; Key, C2, AllocatorOrContainer &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ae62261200845848b114d822ea7af1ccd">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Move-inserts each element from source into *this a using the comparison object of *this. If there is an element in a with key equivalent to the key of an element from source, then that element is not moved from source.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab1478cd5e5bbb10d71ce71e5e65e4bc6">size()</link> + source.size().</para><para><emphasis role="bold">Note</emphasis>: Invalidates all iterators and references.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a9b2322c2f5848b976e0ed4961f15f589" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>flat_set</classname>&lt; Key, C2, AllocatorOrContainer &gt; &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ae62261200845848b114d822ea7af1ccd">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Move-inserts each element from source into *this a using the comparison object of *this. If there is an element in a with key equivalent to the key of an element from source, then that element is not moved from source.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab1478cd5e5bbb10d71ce71e5e65e4bc6">size()</link> + source.size().</para><para><emphasis role="bold">Note</emphasis>: Invalidates all iterators and references.    </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1acd78c7c9835b80ae1bed4e1ec14c6e45" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>flat_multiset</classname>&lt; Key, C2, AllocatorOrContainer &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ae62261200845848b114d822ea7af1ccd">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Move-inserts each element from source into *this a using the comparison object of *this. If there is an element in a with key equivalent to the key of an element from source, then that element is not moved from source.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab1478cd5e5bbb10d71ce71e5e65e4bc6">size()</link> + source.size().</para><para><emphasis role="bold">Note</emphasis>: Invalidates all iterators and references.    </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7d9db793cf5b2bdc5d210f1af625e40f" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>flat_multiset</classname>&lt; Key, C2, AllocatorOrContainer &gt; &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ae62261200845848b114d822ea7af1ccd">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Move-inserts each element from source into *this a using the comparison object of *this. If there is an element in a with key equivalent to the key of an element from source, then that element is not moved from source.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab1478cd5e5bbb10d71ce71e5e65e4bc6">size()</link> + source.size().</para><para><emphasis role="bold">Note</emphasis>: Invalidates all iterators and references.     </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a5c81b8d91a207e604b55f4ce820598b0" name="erase"><type>size_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If present, erases the element in the container with key equivalent to x.</para><para><emphasis role="bold">Returns</emphasis>: Returns the number of erased elements (0/1).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus erasure time linear to the elements with bigger keys. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a49d1eee989404afaca4d816e1695eb03" name="erase"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases the element pointed to by p.</para><para><emphasis role="bold">Returns</emphasis>: Returns an iterator pointing to the element immediately following q prior to the element being erased. If no such element exists, returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link>.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements with keys bigger than p</para><para><emphasis role="bold">Note</emphasis>: Invalidates elements with keys not less than the erased element. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a82d20640d424f013bb5900a694bb33c2" name="erase"><type>iterator</type><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases all the elements in the range [first, last).</para><para><emphasis role="bold">Returns</emphasis>: Returns last.</para><para><emphasis role="bold">Complexity</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab1478cd5e5bbb10d71ce71e5e65e4bc6">size()</link>*N where N is the distance from first to last.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic search time plus erasure time linear to the elements with bigger keys. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1aa0838f16ed868a7bf4376b1f41979f07" name="swap" cv="noexcept(allocator_traits_type::is_always_equal::value &amp;&amp;boost::container::dtl::is_nothrow_swappable&lt; Compare &gt;::value)"><type>void</type><parameter name="x"><paramtype><classname>flat_set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Swaps the contents of *this and x.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a63102651b5e697fa41825bba78d34a7c" name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1aca1fda1e8ef12fb996605fc96f33e298">begin()</link>,<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link>).</para><para><emphasis role="bold">Postcondition</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab1478cd5e5bbb10d71ce71e5e65e4bc6">size()</link> == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab1478cd5e5bbb10d71ce71e5e65e4bc6">size()</link>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a37486707b4f55e8f96bca7690496604d" name="key_comp" cv="const"><type>key_compare</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the comparison object out of which a was constructed.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1afd86748c988f0fa9daacfd2627a606ab" name="value_comp" cv="const"><type>value_compare</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an object of value_compare constructed out of the comparison object.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1adfba88b887900688c8eec20c9fa03da5" name="find"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a14b474ef192d79660f9b2114c3703124" name="find" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const_iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a2f8d649311404558f0e1ceb0dd2884ad" name="find"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1af372255008da895130cec834b6843567" name="find" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const_iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a2896776c7aff3789e40f73600d19413c" name="nth" cv="noexcept"><type>iterator</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab1478cd5e5bbb10d71ce71e5e65e4bc6">size()</link> &gt;= n.</para><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the nth element from the beginning of the container. Returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link> if n == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab1478cd5e5bbb10d71ce71e5e65e4bc6">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab0bce95d0cf07969a1347c3847532fdf" name="nth" cv="const noexcept"><type>const_iterator</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab1478cd5e5bbb10d71ce71e5e65e4bc6">size()</link> &gt;= n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the nth element from the beginning of the container. Returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link> if n == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab1478cd5e5bbb10d71ce71e5e65e4bc6">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a16da297744fa955d1f5d137a115ec567" name="index_of" cv="noexcept"><type>size_type</type><parameter name="p"><paramtype>iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1aca1fda1e8ef12fb996605fc96f33e298">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Returns the index of the element pointed by p and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab1478cd5e5bbb10d71ce71e5e65e4bc6">size()</link> if p == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1aa697e810f1acfcdce0830e312436bb03" name="index_of" cv="const noexcept"><type>size_type</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1aca1fda1e8ef12fb996605fc96f33e298">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Returns the index of the element pointed by p and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ab1478cd5e5bbb10d71ce71e5e65e4bc6">size()</link> if p == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a05647915eca9837395a61964d28620d6" name="count" cv="const"><type>size_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: The number of elements with key equivalent to x.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+count(k) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a01016d72429769164f94935a630c9b7f" name="count" cv="const"><type>size_type</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: The number of elements with key equivalent to x.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+count(k) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a1ef95b4f90e36235b1673221255e6bcf" name="contains" cv="const"><type>bool</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: Returns true if there is an element with key equivalent to key in the container, otherwise false.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a5025b3d69a6083ee93218a71cf5d19a4" name="contains" cv="const"><type>bool</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: Returns true if there is an element with key equivalent to key in the container, otherwise false.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a4337dbd99b7ab70ced3925183cbcc97f" name="lower_bound"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1af12c93946bbcc2b3f65694919d57477e" name="lower_bound" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ae30b67f2f52c3c85edd52ba55c3a1568" name="lower_bound"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ae655f2955d791c0adf4bb8f7a9878376" name="lower_bound" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a0be36a0a40c0ad4abef608604942b845" name="upper_bound"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ac427917c14fbd0adb61fda70d0a2f638" name="upper_bound" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a3b53bcedcf9182f6eb5f6bdb54d3c348" name="upper_bound"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a341a77e3e91f125aaabb474ee70d2676" name="upper_bound" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a7c234ef6389362e39967da466fed5c10">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1aea97c1663a2ba7560192780bf027fa25" name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ae3ea3d09ce923804d601127306fdd0c0" name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ad044b2925c7d465dc784618ae5c61b84" name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a2d30eaf0c729ba1a2960340e49245c6d" name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a74e98a9aa2debc8eedd20e81d93ab168" name="extract_sequence"><type>sequence_type</type><description><para><emphasis role="bold">Effects</emphasis>: Extracts the internal sequence container.</para><para><emphasis role="bold">Complexity</emphasis>: Same as the move constructor of sequence_type, usually constant.</para><para><emphasis role="bold">Postcondition</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a3dc69d1a8990c3eb44d38db290d0e37e">empty()</link></para><para><emphasis role="bold">Throws</emphasis>: If sequence_type's move constructor throws <sbr/>
 </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a5aaef4841f9b0810cdc4bd9bc49398c6" name="adopt_sequence"><type>void</type><parameter name="seq"><paramtype>sequence_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Discards the internally hold sequence container and adopts the one passed externally using the move assignment. Erases non-unique elements.</para><para><emphasis role="bold">Complexity</emphasis>: Assuming O(1) move assignment, O(NlogN) with N = seq.size()</para><para><emphasis role="bold">Throws</emphasis>: If the comparison or the move constructor throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1abc01187b753a0fe9f36138a1f0cd193a" name="adopt_sequence"><type>void</type><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="seq"><paramtype>sequence_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: seq shall be ordered according to this-&gt;compare() and shall contain unique elements.</para><para><emphasis role="bold">Effects</emphasis>: Discards the internally hold sequence container and adopts the one passed externally using the move assignment.</para><para><emphasis role="bold">Complexity</emphasis>: Assuming O(1) move assignment, O(1)</para><para><emphasis role="bold">Throws</emphasis>: If the move assignment throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a11aa1cd8761cea08f2e3fa5108208710" name="sequence" cv="const noexcept"><type>const sequence_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const view of the underlying sequence.</para><para><emphasis role="bold">Complexity</emphasis>: Constant</para><para><emphasis role="bold">Throws</emphasis>: Nothing </para></description></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a92159073c56f99bcd49c0e61731a1bbb" name="operator=="><type>bool</type><parameter name="x"><paramtype>const <classname>flat_set</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are equal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ad0311e992a991bc871768d55e5ab5f91" name="operator!="><type>bool</type><parameter name="x"><paramtype>const <classname>flat_set</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are unequal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a4f99112173e75d4becc92c2b509896a3" name="operator&lt;"><type>bool</type><parameter name="x"><paramtype>const <classname>flat_set</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a86d38a3f3eb1d5950d2cb303935ae099" name="operator&gt;"><type>bool</type><parameter name="x"><paramtype>const <classname>flat_set</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1ae14c9ee43f4a6136a2b4e9d0395c7c83" name="operator&lt;="><type>bool</type><parameter name="x"><paramtype>const <classname>flat_set</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a6b4aba27d21c79770e685cb66a916d21" name="operator&gt;="><type>bool</type><parameter name="x"><paramtype>const <classname>flat_set</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>flat_set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set_1a83cc1f49421e06df9284823ce9bb46aa" name="swap" cv="noexcept(allocator_traits_type::is_always_equal::value &amp;&amp;boost::container::dtl::is_nothrow_swappable&lt; Compare &gt;::value)"><type>void</type><parameter name="x"><paramtype><classname>flat_set</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype><classname>flat_set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: x.swap(y)</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
</method-group>
</class>


























































































<function id="doxygen.boost_container_header_reference.flat__set_8hpp_1a775cb03683dd590dc174edb474932e25" name="flat_set"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__set_8hpp_1a96874dfff63c9a3df75d7b5642e306b8" name="flat_set"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="AllocatorOrCompare"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>AllocatorOrCompare const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__set_8hpp_1a4cffccef32f15d917cda7cc3198903e4" name="flat_set"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Compare"/>
          <template-type-parameter name="Allocator"/>
          <template-type-parameter name=""><default>dtl::require_nonallocator_t&lt;Compare&gt;</default></template-type-parameter>
          <template-type-parameter name=""><default>dtl::require_allocator_t&lt;Allocator&gt;</default></template-type-parameter>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Compare const &amp;</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__set_8hpp_1a865a822083bb3eb64a92e174fd0c4789" name="flat_set"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__set_8hpp_1ae1119486fe669dd38e373bb0dc6bc415" name="flat_set"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="AllocatorOrCompare"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>AllocatorOrCompare const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__set_8hpp_1ab476c45704bb51c4c6e15141b20f437f" name="flat_set"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Compare"/>
          <template-type-parameter name="Allocator"/>
          <template-type-parameter name=""><default>dtl::require_nonallocator_t&lt;Compare&gt;</default></template-type-parameter>
          <template-type-parameter name=""><default>dtl::require_allocator_t&lt;Allocator&gt;</default></template-type-parameter>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Compare const &amp;</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__set_8hpp_1a55f182f6529e9216e27fab20fa642c2e" name="flat_multiset"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__set_8hpp_1a129335e00bb86ee0705593935c9a17a0" name="flat_multiset"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="AllocatorOrCompare"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>AllocatorOrCompare const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__set_8hpp_1a49724983fd1049469f8f984e28d1bfd3" name="flat_multiset"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Compare"/>
          <template-type-parameter name="Allocator"/>
          <template-type-parameter name=""><default>dtl::require_nonallocator_t&lt;Compare&gt;</default></template-type-parameter>
          <template-type-parameter name=""><default>dtl::require_allocator_t&lt;Allocator&gt;</default></template-type-parameter>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Compare const &amp;</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__set_8hpp_1a1f02c1741acb01920be9cb65622fe613" name="flat_multiset"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__set_8hpp_1af581ed1225a1bd43a42b04675dfe44ca" name="flat_multiset"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="AllocatorOrCompare"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>AllocatorOrCompare const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.flat__set_8hpp_1a78d73a207cac21ce59ddac6719cf7889" name="flat_multiset"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Compare"/>
          <template-type-parameter name="Allocator"/>
          <template-type-parameter name=""><default>dtl::require_nonallocator_t&lt;Compare&gt;</default></template-type-parameter>
          <template-type-parameter name=""><default>dtl::require_allocator_t&lt;Allocator&gt;</default></template-type-parameter>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Compare const &amp;</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>














</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.pmr_2flat__set_8hpp" name="boost/container/pmr/flat_set.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1flat__multiset__of" name="flat_multiset_of"><template>
      <template-type-parameter name="Key"/>
      <template-type-parameter name="Compare"><default>std::less&lt;Key&gt;</default></template-type-parameter>
    </template><description><para>A portable metafunction to obtain a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__multiset">flat_multiset</link> that uses a polymorphic allocator </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1flat__multiset__of_1ae13a142d8b9171a2ead82e8636b8873c" name="type"><type><classname>boost::container::flat_multiset</classname>&lt; Key, Compare, <classname>polymorphic_allocator</classname>&lt; Key &gt; &gt;</type></typedef>
</struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1flat__set__of" name="flat_set_of"><template>
      <template-type-parameter name="Key"/>
      <template-type-parameter name="Compare"><default>std::less&lt;Key&gt;</default></template-type-parameter>
    </template><description><para>A portable metafunction to obtain a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1flat__set">flat_set</link> that uses a polymorphic allocator </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1flat__set__of_1a1f4c324af42c419071e81ea542c8c029" name="type"><type><classname>boost::container::flat_set</classname>&lt; Key, Compare, <classname>polymorphic_allocator</classname>&lt; Key &gt; &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.pmr_2flat__set_8hpp_1a880b34d37fec91e488fe5f7013bc07ac" name="flat_set"><type><classname>boost::container::flat_set</classname>&lt; Key, Compare, <classname>polymorphic_allocator</classname>&lt; Key &gt; &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.pmr_2flat__set_8hpp_1a4fd6c602f0e26a7d667690e0401a48b9" name="flat_multiset"><type><classname>boost::container::flat_multiset</classname>&lt; Key, Compare, <classname>polymorphic_allocator</classname>&lt; Key &gt; &gt;</type></typedef>






</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.list_8hpp" name="boost/container/list.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list" name="list"><template>
      <template-type-parameter name="T"><purpose><para>The type of object that is stored in the list </para></purpose></template-type-parameter>
      <template-type-parameter name="Allocator"><default>void</default><purpose><para>The allocator used for all internal memory management, use void for the default allocator </para></purpose></template-type-parameter>
    </template><inherit access="protected">dtl::node_alloc_holder&lt; real_allocator&lt; T, void &gt;::type, dtl::intrusive_list_type&lt; real_allocator&lt; T, void &gt;::type &gt;::type &gt;</inherit><description><para>A list is a doubly linked list. That is, it is a Sequence that supports both forward and backward traversal, and (amortized) constant time insertion and removal of elements at the beginning or the end, or in the middle. Lists have the important property that insertion and splicing do not invalidate iterators to list elements, and that even removal invalidates only the iterators that point to the elements that are removed. The ordering of iterators may be changed (that is, list&lt;T&gt;::iterator might have a different predecessor or successor after a list operation than it did before), but the iterators themselves will not be invalidated or made to point to different elements unless that invalidation or mutation is explicit.</para><para>
</para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a0238a7ebf49ac07bb70d6ef5a8faae7d" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1af5a7ea540ba44a95c1b19decf5c2db40" name="pointer"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ae038939156267594097788ec3713fd2e" name="const_pointer"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a2e420c1050f54202093354201aaacd46" name="reference"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1aae73190fe851b4b03abc4024c15c7130" name="const_reference"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::const_reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1aae8f9da78aa54174264d53b903970a26" name="size_type"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a04601b35d1b6f465417b957a63d7d607" name="difference_type"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1abfdcd803a045ca68d24a99bd952d6e99" name="allocator_type"><type>ValueAllocator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a4db771d8617882de134d4487d82e1e4c" name="stored_allocator_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a837cfaf2c6015cc1173b5c683887a9f2" name="iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1af6c9601dd779e71d14997c62b2fc89ef" name="const_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ab7b9a5ebd00a666a83218f847e108444" name="reverse_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a27d8e815199c59aecb129644e5141b8d" name="const_reverse_iterator"><type>implementation_defined</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a950fb409062488eb5109b26e5f493764" cv="noexcept(dtl::is_nothrow_default_constructible&lt; ValueAllocator &gt;::value)"><description><para><emphasis role="bold">Effects</emphasis>: Default constructs a list.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a6317737a4e425d836a472f509ffddf1d" specifiers="explicit" cv="noexcept"><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a list taking the allocator as parameter.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a44be0a04125f69b275e792fa5a3238fd" specifiers="explicit"><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a list and inserts n value-initialized value_types.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's default or copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ab9bf3ebe3009396902a2ff8c93bf4677"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a list that will use a copy of allocator a and inserts n copies of value.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's default or copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a4d176c237da434dded2bea60adae3fe6"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="value"><paramtype>const T &amp;</paramtype></parameter><parameter name="a"><paramtype>const ValueAllocator &amp;</paramtype><default>ValueAllocator()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a list that will use a copy of allocator a and inserts n copies of value.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's default or copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1aa3fcb01c990c068843541a17c88c6734"><parameter name="x"><paramtype>const <classname>list</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a list.</para><para><emphasis role="bold">Postcondition</emphasis>: x == *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements x contains. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a8fa607524c7183ebfe444ba172200779" cv="noexcept"><parameter name="x"><paramtype><classname>list</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructor. Moves x's resources to *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1acecae21a4ba90e19591f48f5415efdfa"><parameter name="x"><paramtype>const <classname>list</classname> &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a list using the specified allocator.</para><para><emphasis role="bold">Postcondition</emphasis>: x == *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor or copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements x contains. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a616e58f3e9410fd2fdd1ab3dcdc798af"><parameter name="x"><paramtype><classname>list</classname> &amp;&amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructor sing the specified allocator. Moves x's resources to *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocation or value_type's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant if a == x.get_allocator(), linear otherwise. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a50d3f25fbc7a049f62fce8cf9cb57212"><template>
          <template-type-parameter name="InpIt"/>
        </template><parameter name="first"><paramtype>InpIt</paramtype></parameter><parameter name="last"><paramtype>InpIt</paramtype></parameter><parameter name="a"><paramtype>const ValueAllocator &amp;</paramtype><default>ValueAllocator()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a list that will use a copy of allocator a and inserts a copy of the range [first, last) in the list.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's constructor taking a dereferenced InIt throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the range [first, last). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ae4b863f584c2b7dc89f14ac525343336"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="a"><paramtype>const ValueAllocator &amp;</paramtype><default>ValueAllocator()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a list that will use a copy of allocator a and inserts a copy of the range [il.begin(), il.end()) in the list.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's constructor taking a dereferenced std::initializer_list iterator throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the range [il.begin(), il.end()). </para></description></constructor>
<destructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a1e1d3b90a89f789c9e4506414e9da9ab" cv="noexcept"><description><para><emphasis role="bold">Effects</emphasis>: Destroys the list. All stored values are destroyed and used memory is deallocated.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements. </para></description></destructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ae47331498fe232a6fe7a35b6e15d4203"><type><classname>list</classname> &amp;</type><parameter name="x"><paramtype>const <classname>list</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Makes *this contain the same elements as x.</para><para><emphasis role="bold">Postcondition</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a874eb00ab336826422d8faecb7b2af7a">size()</link> == x.size(). *this contains a copy of each of x's elements.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in x. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ab8eec10e9a1313605beb31d503ba3950" cv="noexcept(allocator_traits_type::propagate_on_container_move_assignment::value||allocator_traits_type::is_always_equal::value)"><type><classname>list</classname> &amp;</type><parameter name="x"><paramtype><classname>list</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move assignment. All x's values are transferred to *this.</para><para><emphasis role="bold">Postcondition</emphasis>: x.empty(). *this contains a the elements x had before the function.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_traits_type::propagate_on_container_move_assignment is false and (allocation throws or value_type's move constructor throws)</para><para><emphasis role="bold">Complexity</emphasis>: Constant if allocator_traits_type:: propagate_on_container_move_assignment is true or this-&gt;get&gt;allocator() == x.get_allocator(). Linear otherwise. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a76d7bc941aa454a1a4a7a3dba1caabcd"><type><classname>list</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Makes *this contain the same elements as il.</para><para><emphasis role="bold">Postcondition</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a874eb00ab336826422d8faecb7b2af7a">size()</link> == il.size(). *this contains a copy of each of x's elements.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in x. </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a071fcc66232dfa659814201c61a4fa33" name="assign"><type>void</type><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="val"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assigns the n copies of val to *this.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ac3d2797fbd87cf9533545ac697459a0d" name="assign"><type>void</type><template>
          <template-type-parameter name="InpIt"/>
        </template><parameter name="first"><paramtype>InpIt</paramtype></parameter><parameter name="last"><paramtype>InpIt</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assigns the range [first, last) to *this.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's constructor from dereferencing InpIt throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a813b79fc4d587b9f64643c08a7f31c6d" name="assign"><type>void</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assigns the range [il.begin(), il.end()) to *this.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's constructor from dereferencing std::initializer_list iterator throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a358a27b2831dde369009a71203a0e5c5" name="get_allocator" cv="const noexcept"><type>allocator_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a copy of the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: If allocator's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a6fe7f096b7da367ff107872e14878039" name="get_stored_allocator" cv="noexcept"><type>stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ac3a12480be0b729b118a7eb7dbb21e6f" name="get_stored_allocator" cv="const noexcept"><type>const stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ac7e07ea9dd3fa01d367e236bbc3053ca" name="begin" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the first element contained in the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ad3a678f2e4ca71814b3be91ea84e3372" name="begin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a0658b9d1864749fb16f8ca7f4280b006" name="end" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the end of the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a12a5af410f94148eb402f3d91d1a1ee5" name="end" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ae12832a8d5c58c9c429b5189cef23c7e" name="rbegin" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the beginning of the reversed list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a648f5213d8d94e5fd73e438403cbbb2f" name="rbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a580fc9b126f4ed59cca70893923eb39c" name="rend" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the end of the reversed list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a4a598ff9c001d84560ea9b34a80941fa" name="rend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a9bfa56576713022d7ba6f4e42feb632d" name="cbegin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a5ac3655835fc209d9fbe265c6d797735" name="cend" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a7e55b9db55407e15670f43d69a4fb162" name="crbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a2061fb7476dfc5fc6d3ed0db5dc87bab" name="crend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a966c233aaefc8ffc26a3daadbec52472" name="empty" cv="const noexcept"><type>bool</type><description><para><emphasis role="bold">Effects</emphasis>: Returns true if the list contains no elements.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a874eb00ab336826422d8faecb7b2af7a" name="size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the number of the elements contained in the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a79fad7ab71eedadf8165a8e78baf0e30" name="max_size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the largest possible size of the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a8aa31e60280291033ca103a5eb9b7855" name="resize"><type>void</type><parameter name="new_size"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts or erases elements at the end such that the size becomes n. New elements are value initialized.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the difference between <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a874eb00ab336826422d8faecb7b2af7a">size()</link> and new_size. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a6e2590eea7180baa967ad09cac809015" name="resize"><type>void</type><parameter name="new_size"><paramtype>size_type</paramtype></parameter><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts or erases elements at the end such that the size becomes n. New elements are copy constructed from x.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the difference between <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a874eb00ab336826422d8faecb7b2af7a">size()</link> and new_size. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ad5016195bf9421fe7d8b9abeba33c8d8" name="front" cv="noexcept"><type>reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the first element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a47bb298b5be6766db8774cb25fc98dd2" name="front" cv="const noexcept"><type>const_reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the first element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a0ca0079cba7dce24da959b61f527dacf" name="back" cv="noexcept"><type>reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the first element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a466184500031c1ada2197283c4a868c0" name="back" cv="const noexcept"><type>const_reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the first element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a4a5a0c5e658bc791498056f539ffc8fc" name="emplace_back"><type>reference</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... in the end of the list.</para><para><emphasis role="bold">Returns</emphasis>: A reference to the created object.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's in-place constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a2b4f099b691e72a786b45bb6bea04aaf" name="emplace_front"><type>reference</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... in the beginning of the list.</para><para><emphasis role="bold">Returns</emphasis>: A reference to the created object.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's in-place constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1aa9412ff5019750ee110cc52023076073" name="emplace"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="position"><paramtype>const_iterator</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... before p.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's in-place constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1acd8484f45eb858bb7bf9a61517bc64be" name="push_front"><type>void</type><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of x at the beginning of the list.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ac9dad7c1ceb985b0fa1a4a11df1b783f" name="push_front"><type>void</type><parameter name="x"><paramtype>T &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a new element in the beginning of the list and moves the resources of x to this new element.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a451105056a763f7340a983e3215a6fc6" name="push_back"><type>void</type><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of x at the end of the list.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a0a94ffd6c0c5e087b1d7a56baae0c579" name="push_back"><type>void</type><parameter name="x"><paramtype>T &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a new element in the end of the list and moves the resources of x to this new element.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ac92651c9811c09f9443f1f69afee4379" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a copy of x before p.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the inserted element.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or x's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1aa9bb01dcb7d8b8ba091db48bec3b30cf" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>T &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a new element before p with x's resources.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the inserted element.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a2e3612b1d80f13d7b16417f9bf5d1b8a" name="insert"><type>iterator</type><parameter name="position"><paramtype>const_iterator</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Inserts n copies of x before p.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or p if n is 0.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1aee3e517864424032442998256369d218" name="insert"><type>iterator</type><template>
          <template-type-parameter name="InpIt"/>
        </template><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="first"><paramtype>InpIt</paramtype></parameter><parameter name="last"><paramtype>InpIt</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a copy of the [first, last) range before p.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or p if first == last.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, T's constructor from a dereferenced InpIt throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to distance [first, last). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a0efd959c80d0b44a076968d8cdc83e62" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a copy of the [il.begin(), il.end()) range before p.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or p if if.begin() == il.end().</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, T's constructor from a dereferenced std::initializer_list iterator throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to distance [il.begin(), il.end()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a90cab1dc3637c0545b87b5323d31ed72" name="pop_front" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Removes the first element from the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a8323cd8b59958faacdf7ebcdeb7d2729" name="pop_back" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Removes the last element from the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1aa9e8979150d7fb7f727614984bce9dd3" name="erase" cv="noexcept"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Erases the element at p.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ab91fdf7c9a37fb3fc0d9417b441879be" name="erase" cv="noexcept"><type>iterator</type><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: first and last must be valid iterator to elements in *this.</para><para><emphasis role="bold">Effects</emphasis>: Erases the elements pointed by [first, last).</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the distance between first and last. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a7fec8c198e8173e5a889ce0257fbb95c" name="swap" cv="noexcept(allocator_traits_type::propagate_on_container_swap::value||allocator_traits_type::is_always_equal::value)"><type>void</type><parameter name="x"><paramtype><classname>list</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Swaps the contents of *this and x.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a248e12963458f00af5776368520bdeaf" name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Erases all the elements of the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the list. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a3bab4e5548f3173eaec707eee526fdcd" name="splice" cv="noexcept"><type>void</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>list</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must point to an element contained by the list. x != *this. this' allocator and x's allocator shall compare equal</para><para><emphasis role="bold">Effects</emphasis>: Transfers all the elements of list x to this list, before the the element pointed by p. No destructors or copy constructors are called.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1aa72f4e96d584426b09268c52013448a4" name="splice" cv="noexcept"><type>void</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>list</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must point to an element contained by the list. x != *this. this' allocator and x's allocator shall compare equal</para><para><emphasis role="bold">Effects</emphasis>: Transfers all the elements of list x to this list, before the the element pointed by p. No destructors or copy constructors are called.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1aef3db81322ebeb60abf35cb4883012c9" name="splice" cv="noexcept"><type>void</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>list</classname> &amp;</paramtype></parameter><parameter name="i"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must point to an element contained by this list. i must point to an element contained in list x. this' allocator and x's allocator shall compare equal</para><para><emphasis role="bold">Effects</emphasis>: Transfers the value pointed by i, from list x to this list, before the element pointed by p. No destructors or copy constructors are called. If p == i or p == ++i, this function is a null operation.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a91f22699dde7951dc2ba77cf24f4c979" name="splice" cv="noexcept"><type>void</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>list</classname> &amp;&amp;</paramtype></parameter><parameter name="i"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must point to an element contained by this list. i must point to an element contained in list x. this' allocator and x's allocator shall compare equal.</para><para><emphasis role="bold">Effects</emphasis>: Transfers the value pointed by i, from list x to this list, before the element pointed by p. No destructors or copy constructors are called. If p == i or p == ++i, this function is a null operation.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ae7483ad0a723a90743d0193485be1d76" name="splice" cv="noexcept"><type>void</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>list</classname> &amp;</paramtype></parameter><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must point to an element contained by this list. first and last must point to elements contained in list x. this' allocator and x's allocator shall compare equal</para><para><emphasis role="bold">Effects</emphasis>: Transfers the range pointed by first and last from list x to this list, before the element pointed by p. No destructors or copy constructors are called.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements transferred.</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a467c72e1283f5b2ec8c5c737fb9f55cc" name="splice" cv="noexcept"><type>void</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>list</classname> &amp;&amp;</paramtype></parameter><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must point to an element contained by this list. first and last must point to elements contained in list x. this' allocator and x's allocator shall compare equal.</para><para><emphasis role="bold">Effects</emphasis>: Transfers the range pointed by first and last from list x to this list, before the element pointed by p. No destructors or copy constructors are called.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements transferred.</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a428dcbbc9f0a96ac80c5b9a5a9ee7d9d" name="splice" cv="noexcept"><type>void</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>list</classname> &amp;</paramtype></parameter><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must point to an element contained by this list. first and last must point to elements contained in list x. n == distance(first, last). this' allocator and x's allocator shall compare equal</para><para><emphasis role="bold">Effects</emphasis>: Transfers the range pointed by first and last from list x to this list, before the element pointed by p. No destructors or copy constructors are called.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ac74cb06e82eadccaa787289bb42be24d" name="splice" cv="noexcept"><type>void</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>list</classname> &amp;&amp;</paramtype></parameter><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must point to an element contained by this list. first and last must point to elements contained in list x. n == distance(first, last). this' allocator and x's allocator shall compare equal</para><para><emphasis role="bold">Effects</emphasis>: Transfers the range pointed by first and last from list x to this list, before the element pointed by p. No destructors or copy constructors are called.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a3182beb3f83209653af9f465806bc6f1" name="remove"><type>void</type><parameter name="value"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Removes all the elements that compare equal to value.</para><para><emphasis role="bold">Throws</emphasis>: If comparison throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear time. It performs exactly <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a874eb00ab336826422d8faecb7b2af7a">size()</link> comparisons for equality.</para><para><emphasis role="bold">Note</emphasis>: The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a0b69ba7ae5f31307aef5467ad55de2bb" name="remove_if"><type>void</type><template>
          <template-type-parameter name="Pred"/>
        </template><parameter name="pred"><paramtype>Pred</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Removes all the elements for which a specified predicate is satisfied.</para><para><emphasis role="bold">Throws</emphasis>: If pred throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear time. It performs exactly <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a874eb00ab336826422d8faecb7b2af7a">size()</link> calls to the predicate.</para><para><emphasis role="bold">Note</emphasis>: The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a1b86f181e218ab0c5d9da4d6bb05bfa0" name="unique"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Removes adjacent duplicate elements or adjacent elements that are equal from the list.</para><para><emphasis role="bold">Throws</emphasis>: If comparison throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear time (<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a874eb00ab336826422d8faecb7b2af7a">size()</link>-1 comparisons equality comparisons).</para><para><emphasis role="bold">Note</emphasis>: The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a1e085b921a945148b9e41a788491545d" name="unique"><type>void</type><template>
          <template-type-parameter name="BinaryPredicate"/>
        </template><parameter name="binary_pred"><paramtype>BinaryPredicate</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Removes adjacent duplicate elements or adjacent elements that satisfy some binary predicate from the list.</para><para><emphasis role="bold">Throws</emphasis>: If pred throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear time (<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a874eb00ab336826422d8faecb7b2af7a">size()</link>-1 comparisons calls to pred()).</para><para><emphasis role="bold">Note</emphasis>: The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a9bf30cbeb5b41150e8bde50ccb70d825" name="merge"><type>void</type><parameter name="x"><paramtype><classname>list</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: The lists x and *this must be distinct.</para><para><emphasis role="bold">Effects</emphasis>: This function removes all of x's elements and inserts them in order into *this according to std::less&lt;value_type&gt;. The merge is stable; that is, if an element from *this is equivalent to one from x, then the element from *this will precede the one from x.</para><para><emphasis role="bold">Throws</emphasis>: If comparison throws.</para><para><emphasis role="bold">Complexity</emphasis>: This function is linear time: it performs at most <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a874eb00ab336826422d8faecb7b2af7a">size()</link> + x.size() - 1 comparisons. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1afda0c4ff245764e7a4e7bfe663063e09" name="merge"><type>void</type><parameter name="x"><paramtype><classname>list</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: The lists x and *this must be distinct.</para><para><emphasis role="bold">Effects</emphasis>: This function removes all of x's elements and inserts them in order into *this according to std::less&lt;value_type&gt;. The merge is stable; that is, if an element from *this is equivalent to one from x, then the element from *this will precede the one from x.</para><para><emphasis role="bold">Throws</emphasis>: If comparison throws.</para><para><emphasis role="bold">Complexity</emphasis>: This function is linear time: it performs at most <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a874eb00ab336826422d8faecb7b2af7a">size()</link> + x.size() - 1 comparisons. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1acf993aeade85df9d1cb6e39b75d3756d" name="merge"><type>void</type><template>
          <template-type-parameter name="StrictWeakOrdering"/>
        </template><parameter name="x"><paramtype><classname>list</classname> &amp;</paramtype></parameter><parameter name="comp"><paramtype>const StrictWeakOrdering &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a comparison function that induces a strict weak ordering and both *this and x must be sorted according to that ordering The lists x and *this must be distinct.</para><para><emphasis role="bold">Effects</emphasis>: This function removes all of x's elements and inserts them in order into *this. The merge is stable; that is, if an element from *this is equivalent to one from x, then the element from *this will precede the one from x.</para><para><emphasis role="bold">Throws</emphasis>: If comp throws.</para><para><emphasis role="bold">Complexity</emphasis>: This function is linear time: it performs at most <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a874eb00ab336826422d8faecb7b2af7a">size()</link> + x.size() - 1 comparisons.</para><para><emphasis role="bold">Note</emphasis>: Iterators and references to *this are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a4551b75321b3e3b42e15e50306139d35" name="merge"><type>void</type><template>
          <template-type-parameter name="StrictWeakOrdering"/>
        </template><parameter name="x"><paramtype><classname>list</classname> &amp;&amp;</paramtype></parameter><parameter name="comp"><paramtype>StrictWeakOrdering</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a comparison function that induces a strict weak ordering and both *this and x must be sorted according to that ordering The lists x and *this must be distinct.</para><para><emphasis role="bold">Effects</emphasis>: This function removes all of x's elements and inserts them in order into *this. The merge is stable; that is, if an element from *this is equivalent to one from x, then the element from *this will precede the one from x.</para><para><emphasis role="bold">Throws</emphasis>: If comp throws.</para><para><emphasis role="bold">Complexity</emphasis>: This function is linear time: it performs at most <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a874eb00ab336826422d8faecb7b2af7a">size()</link> + x.size() - 1 comparisons.</para><para><emphasis role="bold">Note</emphasis>: Iterators and references to *this are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1aee108ec05133d61b130ca4c3fe2d83d7" name="sort"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: This function sorts the list *this according to std::less&lt;value_type&gt;. The sort is stable, that is, the relative order of equivalent elements is preserved.</para><para><emphasis role="bold">Throws</emphasis>: If comparison throws.</para><para><emphasis role="bold">Notes</emphasis>: Iterators and references are not invalidated.</para><para><emphasis role="bold">Complexity</emphasis>: The number of comparisons is approximately N log N, where N is the list's size. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a2ea5d4d5c69f15eafbd97f410d0b9727" name="sort"><type>void</type><template>
          <template-type-parameter name="StrictWeakOrdering"/>
        </template><parameter name="comp"><paramtype>StrictWeakOrdering</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: This function sorts the list *this according to std::less&lt;value_type&gt;. The sort is stable, that is, the relative order of equivalent elements is preserved.</para><para><emphasis role="bold">Throws</emphasis>: If comp throws.</para><para><emphasis role="bold">Notes</emphasis>: Iterators and references are not invalidated.</para><para><emphasis role="bold">Complexity</emphasis>: The number of comparisons is approximately N log N, where N is the list's size. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ac2f29070a1c28b2916b4fbb2458b033d" name="reverse" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Reverses the order of elements in the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: This function is linear time.</para><para><emphasis role="bold">Note</emphasis>: Iterators and references are not invalidated </para></description></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a6c5aafe4d06277f82f57aee0cdb1ca37" name="operator=="><type>bool</type><parameter name="x"><paramtype>const <classname>list</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>list</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are equal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a0787f710dd628f4bb9d4ba695a4e259c" name="operator!="><type>bool</type><parameter name="x"><paramtype>const <classname>list</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>list</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are unequal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1af799bcacbfde5fd04ef3f3e140ab1208" name="operator&lt;"><type>bool</type><parameter name="x"><paramtype>const <classname>list</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>list</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ac5d45434fdbd9237bde1888a274586cd" name="operator&gt;"><type>bool</type><parameter name="x"><paramtype>const <classname>list</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>list</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1ab1bb7e6e4237ae948e6955fedc7c10ce" name="operator&lt;="><type>bool</type><parameter name="x"><paramtype>const <classname>list</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>list</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a555e0ee265c43af857d39f36dee5321e" name="operator&gt;="><type>bool</type><parameter name="x"><paramtype>const <classname>list</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>list</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1list_1a9867713fea69f1336e16653fde3ad110" name="swap" cv="noexcept(noexcept(x.swap(y)))"><type>void</type><parameter name="x"><paramtype><classname>list</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype><classname>list</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: x.swap(y)</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
</method-group>
</class>
























































































<function id="doxygen.boost_container_header_reference.list_8hpp_1a8eb21b375381f7431ac5034c2a59aa75" name="list"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.list_8hpp_1a36c5c055c8c2331a013f2a50defcdbd2" name="list"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="ValueAllocator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>ValueAllocator const &amp;</paramtype></parameter></function>


























</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.pmr_2list_8hpp" name="boost/container/pmr/list.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1list__of" name="list_of"><template>
      <template-type-parameter name="T"/>
    </template><description><para>A portable metafunction to obtain a list that uses a polymorphic allocator </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1list__of_1a7554b3772f2ed8e650d6a0a291af9c10" name="type"><type><classname>boost::container::list</classname>&lt; T, <classname>polymorphic_allocator</classname>&lt; T &gt; &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.pmr_2list_8hpp_1a3b3c7f6274f15fedf120ecb001bb960f" name="list"><type><classname>boost::container::list</classname>&lt; T, <classname>polymorphic_allocator</classname>&lt; T &gt; &gt;</type></typedef>






</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.map_8hpp" name="boost/container/map.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map" name="map"><template>
      <template-type-parameter name="Key"><purpose><para>is the key_type of the map </para></purpose></template-type-parameter>
      <template-type-parameter name="T"><purpose><para>is the <computeroutput>mapped_type</computeroutput> </para></purpose></template-type-parameter>
      <template-type-parameter name="Compare"><default>std::less&lt;Key&gt;</default><purpose><para>is the ordering function for Keys (e.g. <emphasis>std::less&lt;Key&gt;</emphasis>). </para></purpose></template-type-parameter>
      <template-type-parameter name="Allocator"><default>void</default><purpose><para>is the allocator to allocate the <computeroutput>value_type</computeroutput>s (e.g. <emphasis>allocator&lt; std::pair&lt;const Key, T&gt; &gt; </emphasis>). </para></purpose></template-type-parameter>
      <template-type-parameter name="Options"><default>tree_assoc_defaults</default><purpose><para>is an packed option type generated using using <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1tree__assoc__options">boost::container::tree_assoc_options</link>. </para></purpose></template-type-parameter>
    </template><description><para>A map is a kind of associative container that supports unique keys (contains at most one of each key value) and provides for fast retrieval of values of another type T based on the keys. The map class supports bidirectional iterators.</para><para>A map satisfies all of the requirements of a container and of a reversible container and of an associative container. The <computeroutput>value_type</computeroutput> stored by this container is the value_type is std::pair&lt;const Key, T&gt;.</para><para>
</para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1aa6871b8c0860d9f3cb9c411d287d632e" name="key_type"><type>Key</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a551d27c100cfbc22fcf466cf40093f4a" name="mapped_type"><type>T</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a39311ab9433eba543893457ba2f05645" name="allocator_type"><type>base_t::allocator_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a6b502af4b83fb8bb798c12fb8aa4686d" name="allocator_traits_type"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a07aae38b5ba863d22db34cd1350c4315" name="value_type"><type><classname>boost::container::allocator_traits</classname>&lt; allocator_type &gt;::value_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a9baf460b036350612ec1e3ceaf34bc0d" name="pointer"><type><classname>boost::container::allocator_traits</classname>&lt; allocator_type &gt;::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a652808cc58339ccd0c6f8815bbf75faf" name="const_pointer"><type><classname>boost::container::allocator_traits</classname>&lt; allocator_type &gt;::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a2058112fb157d13d8d91f831320e6470" name="reference"><type><classname>boost::container::allocator_traits</classname>&lt; allocator_type &gt;::reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ab789f6ee6c20e9de2987cfabd88953e1" name="const_reference"><type><classname>boost::container::allocator_traits</classname>&lt; allocator_type &gt;::const_reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a3c01dc4685c0d498e97444fe5c3035fa" name="size_type"><type><classname>boost::container::allocator_traits</classname>&lt; allocator_type &gt;::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a229db683ba917d2ab9ca8e45953aaaaf" name="difference_type"><type><classname>boost::container::allocator_traits</classname>&lt; allocator_type &gt;::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ab1c0d9c18103f9edcd21dc3b4f5d9f38" name="stored_allocator_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a737c1af127f3d6ad62f30258dfc26173" name="value_compare"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1aa9ffa545ccf508fb2594255212d9bd11" name="key_compare"><type>Compare</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1abf2b9da215b2ca367eb6b87a6944c600" name="iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a815fe8e223e734dc6f2ea00fdf17b19f" name="const_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1af57c5b686832333e6f7f048940284949" name="reverse_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a302df6e5ad9952b1d89e1449c6cd8877" name="const_reverse_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1adefa00b2ae92178b6a0f462282572134" name="movable_value_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1af9773bbdb1ae6f01acf1cdf45e9bee77" name="node_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a3827c292997092ba40367409ddc7961b" name="insert_return_type"><type>implementation_defined</type></typedef>
<method-group name="public member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a499143fc80a9a79312f37c41352a7bae" name="BOOST_CONTAINER_STATIC_ASSERT"><type/><parameter name=""><paramtype>(dtl::is_same&lt; typename allocator_type::value_type, std::pair&lt; const Key, T &gt; &gt;::value)</paramtype></parameter></method>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1aca394d62e53518fb5c0ba16ba7534852" cv="noexcept(dtl::is_nothrow_default_constructible&lt; allocator_type &gt;::value &amp;&amp;dtl::is_nothrow_default_constructible&lt; Compare &gt;::value)"><description><para><emphasis role="bold">Effects</emphasis>: Default constructs an empty map.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1aa9b3d694f45da9a35d6e46649be3a088"><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map using the specified comparison object and allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a84e3f6061b5fb94b37c028c4a7b203d5" specifiers="explicit"><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map using the specified comparison object.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a22f9ad88462f51d385a4a11d406932f5" specifiers="explicit"><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map using the specified allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a14460c0d8280c58de7d07243d9819b14"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a9a6623bb768e5c9856889f4c0496581a"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map using the specified allocator, and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1abb4af29cba1aeb65f797661511d4170f"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map using the specified comparison object and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a4a8db336d41f2742143fc107b3d32467"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map using the specified comparison object and allocator, and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1addad300787c87c91c696b1072220432c"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map and inserts elements from the ordered unique range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a2c6223e20a4ffceacac57bf2ee5b1868"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map using the specified comparison object and inserts elements from the ordered unique range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a5bfea05f45c22dda1b7b6b2f41af42a1"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map using the specified comparison object and allocator, and inserts elements from the ordered unique range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a87a063493fdee2f733e3921d9be780cf"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map using the specified allocator object and inserts elements from the ordered unique range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ac6d8d74416d0484ba616bbf7c028410a"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted according to the predicate and otherwise N logN, where N is il.first() - il.end(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ab1a96c14aeb632a7cd0d60bb16909ad5"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map using the specified comparison object and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is il.first() - il.end(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a45eb3cff16bc588fe16fa2602f7a8be0"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map using the specified allocator, and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is il.first() - il.end(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a34ceaa914e628486ee881f557cf4f903"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map using the specified comparison object and allocator, and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is il.first() - il.end(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1acc7e6ad32fb5c9539b343ee2fdce975a"><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map and inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a3a83ced1516c6eaff08b144c8e848074"><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map using the specified comparison object, and inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a26007866d62f9c5cbc64af058fc6db2c"><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map using the specified comparison object and allocator, and inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ab433f232a6ca91b429a75f5b87f45ad4"><parameter name="x"><paramtype>const <classname>map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a map.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a271650dd826e39a012082e74c2f269b2" cv="noexcept(boost::container::dtl::is_nothrow_move_constructible&lt; Compare &gt;::value)"><parameter name="x"><paramtype><classname>map</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a map. Constructs *this using x's resources.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Postcondition</emphasis>: x is emptied. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a0fc260ce3cc3ebf8b1bcf362f9d08480"><parameter name="x"><paramtype>const <classname>map</classname> &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a map using the specified allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ab3c66879860bd67d0cfcb250b2e9a7f4"><parameter name="x"><paramtype><classname>map</classname> &amp;&amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a map using the specified allocator. Constructs *this using x's resources.</para><para><emphasis role="bold">Complexity</emphasis>: Constant if x == x.get_allocator(), linear otherwise.</para><para><emphasis role="bold">Postcondition</emphasis>: x is emptied. </para></description></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a0321f1da338b8bb2870e9f8d4565c71d"><type><classname>map</classname> &amp;</type><parameter name="x"><paramtype>const <classname>map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Makes *this a copy of x.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1aa9f25774a9d0565b02499b2b8ed17726" cv="noexcept((allocator_traits_type::propagate_on_container_move_assignment::value||allocator_traits_type::is_always_equal::value) &amp;&amp;boost::container::dtl::is_nothrow_move_assignable&lt; Compare &gt;::value)"><type><classname>map</classname> &amp;</type><parameter name="x"><paramtype><classname>map</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: this-&gt;swap(x.get()).</para><para><emphasis role="bold">Throws</emphasis>: If <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a0701b56d932091c18e3c4b78ffc90c80">allocator_traits_type::propagate_on_container_move_assignment</link> is false and (allocation throws or value_type's move constructor throws)</para><para><emphasis role="bold">Complexity</emphasis>: Constant if allocator_traits_type:: propagate_on_container_move_assignment is true or this-&gt;get&gt;allocator() == x.get_allocator(). Linear otherwise. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1aa266f3105fcb488a08341dccfe60a101"><type><classname>map</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assign content of il to *this. </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a210f4e9f095bb964ec985051a01dc553" name="get_allocator" cv="const"><type>allocator_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a copy of the allocator that was passed to the object's constructor.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a8580568a7bc0ed9d9f1266f6ab196c56" name="get_stored_allocator" cv="noexcept"><type>stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a1e2093ad30693c68d3952f2f5bbced6e" name="get_stored_allocator" cv="const noexcept"><type>const stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a10b2d46133c760af90fda93913cab601" name="begin" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a6720e6f5760609ae7eae2678b92f09c4" name="begin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a33e6f6233e08747cb12e5a0f2651787d" name="cbegin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a265dd4561993c7c2346703bc837f3510" name="end" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1abce8ceb2b7567e73eeb03f3d63beb11d" name="end" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a7241af7869c460b0d7227ff83d3909ce" name="cend" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ac097de46d0862cc11c60566a989c13d0" name="rbegin" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ad3c69ce7714499a388d88b7cf178a5ca" name="rbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a7bbf1ffacd638d956848951ad35d745d" name="crbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ac222a532132580bd012d16b3c0fbe6f9" name="rend" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a56f0883fb45bff6a8cd0eabac4dc8413" name="rend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a117548128c0c99845585893c71fb370e" name="crend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ae3db867d9318ada909134e770916d467" name="empty" cv="const noexcept"><type>bool</type><description><para><emphasis role="bold">Effects</emphasis>: Returns true if the container contains no elements.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a6668d6abe622628389da87394512ab2d" name="size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the number of the elements contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a6099fd9786da2317736a5a4cb8bd6eec" name="max_size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the largest possible size of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ac6bad968131953ed01440470a63dda5c" name="operator[]"><type>mapped_type &amp;</type><parameter name="k"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If there is no key equivalent to x in the map, inserts value_type(x, T()) into the map.</para><para><emphasis role="bold">Returns</emphasis>: A reference to the mapped_type corresponding to x in *this.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a3a8e2936b362b796ed800dce531ebcf7" name="operator[]"><type>mapped_type &amp;</type><parameter name="k"><paramtype>key_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If there is no key equivalent to x in the map, inserts value_type(boost::move(x), T()) into the map (the key is move-constructed)</para><para><emphasis role="bold">Returns</emphasis>: A reference to the mapped_type corresponding to x in *this.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a28b8c32af4cbc6b8e54199312a8bf6d7" name="insert_or_assign"><type>std::pair&lt; iterator, bool &gt;</type><template>
          <template-type-parameter name="M"/>
        </template><parameter name="k"><paramtype>const key_type &amp;</paramtype></parameter><parameter name="obj"><paramtype>M &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If a key equivalent to k already exists in the container, assigns forward&lt;M&gt;(obj) to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value as if by insert, constructing it from value_type(k, forward&lt;M&gt;(obj)).</para><para>No iterators or references are invalidated. If the insertion is successful, pointers and references to the element obtained while it is held in the node handle are invalidated, and pointers and references obtained to that element before it was extracted become valid.</para><para><emphasis role="bold">Returns</emphasis>: The bool component is true if the insertion took place and false if the assignment took place. The iterator component is pointing at the element that was inserted or updated.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in the size of the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1adc5a8b86f8f0045649f095f85df5e815" name="insert_or_assign"><type>std::pair&lt; iterator, bool &gt;</type><template>
          <template-type-parameter name="M"/>
        </template><parameter name="k"><paramtype>key_type &amp;&amp;</paramtype></parameter><parameter name="obj"><paramtype>M &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If a key equivalent to k already exists in the container, assigns forward&lt;M&gt;(obj) to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value as if by insert, constructing it from value_type(k, move(obj)).</para><para>No iterators or references are invalidated. If the insertion is successful, pointers and references to the element obtained while it is held in the node handle are invalidated, and pointers and references obtained to that element before it was extracted become valid.</para><para><emphasis role="bold">Returns</emphasis>: The bool component is true if the insertion took place and false if the assignment took place. The iterator component is pointing at the element that was inserted or updated.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in the size of the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1aad58b98faf3ae2766a01cc42a11b846f" name="insert_or_assign"><type>iterator</type><template>
          <template-type-parameter name="M"/>
        </template><parameter name="hint"><paramtype>const_iterator</paramtype></parameter><parameter name="k"><paramtype>const key_type &amp;</paramtype></parameter><parameter name="obj"><paramtype>M &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If a key equivalent to k already exists in the container, assigns forward&lt;M&gt;(obj) to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value as if by insert, constructing it from value_type(k, forward&lt;M&gt;(obj)) and the new element to the container as close as possible to the position just before hint.</para><para>No iterators or references are invalidated. If the insertion is successful, pointers and references to the element obtained while it is held in the node handle are invalidated, and pointers and references obtained to that element before it was extracted become valid.</para><para><emphasis role="bold">Returns</emphasis>: The bool component is true if the insertion took place and false if the assignment took place. The iterator component is pointing at the element that was inserted or updated.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in the size of the container in general, but amortized constant if the new element is inserted just before hint. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a99fd668d74a90ed8e7f8d024742f23db" name="insert_or_assign"><type>iterator</type><template>
          <template-type-parameter name="M"/>
        </template><parameter name="hint"><paramtype>const_iterator</paramtype></parameter><parameter name="k"><paramtype>key_type &amp;&amp;</paramtype></parameter><parameter name="obj"><paramtype>M &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If a key equivalent to k already exists in the container, assigns forward&lt;M&gt;(obj) to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value as if by insert, constructing it from value_type(k, move(obj)) and the new element to the container as close as possible to the position just before hint.</para><para>No iterators or references are invalidated. If the insertion is successful, pointers and references to the element obtained while it is held in the node handle are invalidated, and pointers and references obtained to that element before it was extracted become valid.</para><para><emphasis role="bold">Returns</emphasis>: The bool component is true if the insertion took place and false if the assignment took place. The iterator component is pointing at the element that was inserted or updated.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in the size of the container in general, but amortized constant if the new element is inserted just before hint. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a0cd174c81886399ad7319face7bb403a" name="at"><type>T &amp;</type><parameter name="k"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A reference to the element whose key is equivalent to x. Throws: An exception object of type out_of_range if no such element is present. <emphasis role="bold">Complexity</emphasis>: logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a85098f80ae933892247d33a367535be9" name="at" cv="const"><type>const T &amp;</type><parameter name="k"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A reference to the element whose key is equivalent to x. Throws: An exception object of type out_of_range if no such element is present. <emphasis role="bold">Complexity</emphasis>: logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a3ee472b1d6a969fd07ee0c8a5b04c5d8" name="insert"><type>std::pair&lt; iterator, bool &gt;</type><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts x if and only if there is no element in the container with key equivalent to the key of x.</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion takes place, and the iterator component of the pair points to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a79579dcbd66fe58d3c5ff312deac333b" name="insert"><type>std::pair&lt; iterator, bool &gt;</type><parameter name="x"><paramtype>value_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a new value from x if and only if there is no element in the container with key equivalent to the key of x.</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion takes place, and the iterator component of the pair points to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a9c0541d9cc9cfda613da00e283fede7e" name="insert"><type>std::pair&lt; iterator BOOST_MOVE_I bool &gt;</type><template>
          <template-type-parameter name="Pair"/>
        </template><parameter name="x"><paramtype>Pair &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a new value_type created from the pair if and only if there is no element in the container with key equivalent to the key of x.</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion takes place, and the iterator component of the pair points to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a21661476b2d14cce5c5833e660c8b4be" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ab2546bc3a84519ef9930f5857a19ae55" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>value_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of x in the container if and only if there is no element in the container with key equivalent to the key of x. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if t is inserted right before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a83a770f52a770a25605e94aceb945c10" name="insert"><type>iterator</type><template>
          <template-type-parameter name="Pair"/>
        </template><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>Pair &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of x in the container if and only if there is no element in the container with key equivalent to the key of x. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if t is inserted right before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ac46816cd11e3a6f77112af8103c4a70c" name="insert"><type>void</type><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: first, last are not iterators into *this.</para><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [first,last) if and only if there is no element with key equivalent to the key of that element.</para><para><emphasis role="bold">Complexity</emphasis>: At most N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a6668d6abe622628389da87394512ab2d">size()</link>+N) (N is the distance from first to last) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a8d38eee50a03a03d903ab1769c614874" name="insert"><type>void</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [il.begin(), il.end()) if and only if there is no element with key equivalent to the key of that element.</para><para><emphasis role="bold">Complexity</emphasis>: At most N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a6668d6abe622628389da87394512ab2d">size()</link>+N) (N is the distance from il.begin() to il.end()) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a3f8aca3a52aa2e96674c0a7d47b8ee60" name="insert"><type>insert_return_type</type><parameter name="nh"><paramtype>node_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: nh is empty or this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a210f4e9f095bb964ec985051a01dc553">get_allocator()</link> == nh.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: If nh is empty, has no effect. Otherwise, inserts the element owned by nh if and only if there is no element in the container with a key equivalent to nh.key().</para><para><emphasis role="bold">Returns</emphasis>: If nh is empty, insert_return_type.inserted is false, insert_return_type.position is <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a265dd4561993c7c2346703bc837f3510">end()</link>, and insert_return_type.node is empty. Otherwise if the insertion took place, insert_return_type.inserted is true, insert_return_type.position points to the inserted element, and insert_return_type.node is empty; if the insertion failed, insert_return_type.inserted is false, insert_return_type.node has the previous value of nh, and insert_return_type.position points to an element with a key equivalent to nh.key().</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ad120e3b5147984803137c484131ee917" name="insert"><type>insert_return_type</type><parameter name="hint"><paramtype>const_iterator</paramtype></parameter><parameter name="nh"><paramtype>node_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Same as <computeroutput>insert(node_type &amp;&amp; nh)</computeroutput> but the element is inserted as close as possible to the position just prior to "hint".</para><para><emphasis role="bold">Complexity</emphasis>: logarithmic in general, but amortized constant if the element is inserted right before "hint". </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ab6235c3740a4aebec534e472da4dd253" name="emplace"><type>std::pair&lt; iterator, bool &gt;</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object x of type T constructed with std::forward&lt;Args&gt;(args)... in the container if and only if there is no element in the container with an equivalent key. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion takes place, and the iterator component of the pair points to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if t is inserted right before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1abb1e839ac77038269b087226e7c91987" name="emplace_hint"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... in the container if and only if there is no element in the container with an equivalent key. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if t is inserted right before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a001b3d54355a35ab10e3e22b1afe5328" name="try_emplace"><type>std::pair&lt; iterator, bool &gt;</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="k"><paramtype>const key_type &amp;</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: value_type shall be EmplaceConstructible into map from piecewise_construct, forward_as_tuple(k), forward_as_tuple(forward&lt;Args&gt;(args)...).</para><para><emphasis role="bold">Effects</emphasis>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(k), forward_as_tuple(forward&lt;Args&gt;(args)...).</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion took place. The returned iterator points to the map element whose key is equivalent to k.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a3eae479432165fdca6c42a24c73e248a" name="try_emplace"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="hint"><paramtype>const_iterator</paramtype></parameter><parameter name="k"><paramtype>const key_type &amp;</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: value_type shall be EmplaceConstructible into map from piecewise_construct, forward_as_tuple(k), forward_as_tuple(forward&lt;Args&gt;(args)...).</para><para><emphasis role="bold">Effects</emphasis>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(k), forward_as_tuple(forward&lt;Args&gt;(args)...).</para><para><emphasis role="bold">Returns</emphasis>: The returned iterator points to the map element whose key is equivalent to k.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if value is inserted right before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ab9ef80b8780ee52449c42a7201e54142" name="try_emplace"><type>std::pair&lt; iterator, bool &gt;</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="k"><paramtype>key_type &amp;&amp;</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: value_type shall be EmplaceConstructible into map from piecewise_construct, forward_as_tuple(move(k)), forward_as_tuple(forward&lt;Args&gt;(args)...).</para><para><emphasis role="bold">Effects</emphasis>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(move(k)), forward_as_tuple(forward&lt;Args&gt;(args)...).</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion took place. The returned iterator points to the map element whose key is equivalent to k.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a25483ece187d440df69536e57ab74285" name="try_emplace"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="hint"><paramtype>const_iterator</paramtype></parameter><parameter name="k"><paramtype>key_type &amp;&amp;</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: value_type shall be EmplaceConstructible into map from piecewise_construct, forward_as_tuple(move(k)), forward_as_tuple(forward&lt;Args&gt;(args)...).</para><para><emphasis role="bold">Effects</emphasis>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(move(k)), forward_as_tuple(forward&lt;Args&gt;(args)...).</para><para><emphasis role="bold">Returns</emphasis>: The returned iterator points to the map element whose key is equivalent to k.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if value is inserted right before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a08ddcacf53d76f0750e14572bd141fe2" name="erase"><type>size_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If present, erases the element in the container with key equivalent to x.</para><para><emphasis role="bold">Returns</emphasis>: Returns the number of erased elements (0/1).</para><para><emphasis role="bold">Complexity</emphasis>: log(size()) + count(k) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a2210c2553996231a1d09ce5d6530a7b3" name="erase"><type>size_type</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Effects</emphasis>: If present, erases the element in the container with key equivalent to x.</para><para><emphasis role="bold">Returns</emphasis>: Returns the number of erased elements (0/1). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a23e6ac57cd678134bd5ff251865b982e" name="erase" cv="noexcept"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases the element pointed to by p.</para><para><emphasis role="bold">Returns</emphasis>: Returns an iterator pointing to the element immediately following q prior to the element being erased. If no such element exists, returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a265dd4561993c7c2346703bc837f3510">end()</link>.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a6f82463eb738e708896ef0a48dc5fd27" name="erase" cv="noexcept"><type>iterator</type><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases all the elements in the range [first, last).</para><para><emphasis role="bold">Returns</emphasis>: Returns last.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+N where N is the distance from first to last. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ada93e688ffdfa54c27ac50a59a1f3b58" name="extract"><type>node_type</type><parameter name="k"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Removes the first element in the container with key equivalent to k.</para><para><emphasis role="bold">Returns</emphasis>: A node_type owning the element if found, otherwise an empty node_type.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a497ac2518efda83a139dde7b1d295d6a" name="extract"><type>node_type</type><parameter name="position"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Removes the element pointed to by "position".</para><para><emphasis role="bold">Returns</emphasis>: A node_type owning the element, otherwise an empty node_type.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ac6253caa2c4f76fa38b74f2ca4ed83b3" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>map</classname>&lt; Key, T, C2, Allocator, Options &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a210f4e9f095bb964ec985051a01dc553">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Attempts to extract each element in source and insert it into a using the comparison object of *this. If there is an element in a with key equivalent to the key of an element from source, then that element is not extracted from source.</para><para><emphasis role="bold">Postcondition</emphasis>: Pointers and references to the transferred elements of source refer to those same elements but as members of *this. Iterators referring to the transferred elements will continue to refer to their elements, but they now behave as iterators into *this, not into source.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless the comparison object throws.</para><para><emphasis role="bold">Complexity</emphasis>: N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a6668d6abe622628389da87394512ab2d">size()</link> + N) (N has the value source.size()) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a773fe3d12cff848773c1f4d09f691e58" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>map</classname>&lt; Key, T, C2, Allocator, Options &gt; &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a210f4e9f095bb964ec985051a01dc553">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Attempts to extract each element in source and insert it into a using the comparison object of *this. If there is an element in a with key equivalent to the key of an element from source, then that element is not extracted from source.</para><para><emphasis role="bold">Postcondition</emphasis>: Pointers and references to the transferred elements of source refer to those same elements but as members of *this. Iterators referring to the transferred elements will continue to refer to their elements, but they now behave as iterators into *this, not into source.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless the comparison object throws.</para><para><emphasis role="bold">Complexity</emphasis>: N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a6668d6abe622628389da87394512ab2d">size()</link> + N) (N has the value source.size())   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1afb9ac4bf19e0d9223024c950b05770ef" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>multimap</classname>&lt; Key, T, C2, Allocator, Options &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a210f4e9f095bb964ec985051a01dc553">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Attempts to extract each element in source and insert it into a using the comparison object of *this. If there is an element in a with key equivalent to the key of an element from source, then that element is not extracted from source.</para><para><emphasis role="bold">Postcondition</emphasis>: Pointers and references to the transferred elements of source refer to those same elements but as members of *this. Iterators referring to the transferred elements will continue to refer to their elements, but they now behave as iterators into *this, not into source.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless the comparison object throws.</para><para><emphasis role="bold">Complexity</emphasis>: N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a6668d6abe622628389da87394512ab2d">size()</link> + N) (N has the value source.size())   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a82e176cc23e952f07afca37c2f20a8f4" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>multimap</classname>&lt; Key, T, C2, Allocator, Options &gt; &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a210f4e9f095bb964ec985051a01dc553">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Attempts to extract each element in source and insert it into a using the comparison object of *this. If there is an element in a with key equivalent to the key of an element from source, then that element is not extracted from source.</para><para><emphasis role="bold">Postcondition</emphasis>: Pointers and references to the transferred elements of source refer to those same elements but as members of *this. Iterators referring to the transferred elements will continue to refer to their elements, but they now behave as iterators into *this, not into source.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless the comparison object throws.</para><para><emphasis role="bold">Complexity</emphasis>: N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a6668d6abe622628389da87394512ab2d">size()</link> + N) (N has the value source.size())   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a1c27f1d358ace29c5a07663fcc0e8ec0" name="swap" cv="noexcept(allocator_traits_type::is_always_equal::value &amp;&amp;boost::container::dtl::is_nothrow_swappable&lt; Compare &gt;::value)"><type>void</type><parameter name="x"><paramtype><classname>map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Swaps the contents of *this and x.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1aafe29e294fe610b715249155cb068365" name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a10b2d46133c760af90fda93913cab601">begin()</link>,<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a265dd4561993c7c2346703bc837f3510">end()</link>).</para><para><emphasis role="bold">Postcondition</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a6668d6abe622628389da87394512ab2d">size()</link> == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a6668d6abe622628389da87394512ab2d">size()</link>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1aa4d9fd282ea02f8ba344ecf73b91186e" name="key_comp" cv="const"><type>key_compare</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the comparison object out of which a was constructed.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a96ef24674077697ed60595648bd1854e" name="value_comp" cv="const"><type>value_compare</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an object of value_compare constructed out of the comparison object.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a47764e29c622f380e0e09e16a40663cc" name="find"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a265dd4561993c7c2346703bc837f3510">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a1543287fef993c6bb2b368f9ceeca6c6" name="find" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const_iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a265dd4561993c7c2346703bc837f3510">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a57faaaed623a70aea730fbecce1055c9" name="find"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a265dd4561993c7c2346703bc837f3510">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1abcd09bdb9bf3a041fcaadb97c83c57c3" name="find" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const_iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a265dd4561993c7c2346703bc837f3510">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a172f52fdabc9cca6a4499dc886ef7562" name="count" cv="const"><type>size_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: The number of elements with key equivalent to x.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+count(k) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1aa5aa8b07e58357e0b337b3d581e12953" name="count" cv="const"><type>size_type</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: The number of elements with key equivalent to x.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+count(k) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ac23e1e5f3141f36fad456ed84c9c8e61" name="contains" cv="const"><type>bool</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: Returns true if there is an element with key equivalent to key in the container, otherwise false.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1af7b0c55b59bd4fc1be2231d7c5145975" name="contains" cv="const"><type>bool</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: Returns true if there is an element with key equivalent to key in the container, otherwise false.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ad89dfd9ebe244e66559ca2ff4204d981" name="lower_bound"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a265dd4561993c7c2346703bc837f3510">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ac9beff789ce0b338d64e4f9e58d3bc46" name="lower_bound" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a265dd4561993c7c2346703bc837f3510">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1aa9e2ead11df4cf1a6c606e5e7b9c2a1b" name="lower_bound"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a265dd4561993c7c2346703bc837f3510">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a137fd612ee2f0c8316ef5ac6baa51277" name="lower_bound" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a265dd4561993c7c2346703bc837f3510">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a714b7e43bd8f763c85078020252caa28" name="upper_bound"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a265dd4561993c7c2346703bc837f3510">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a972ca6210460a93967437e7732388928" name="upper_bound" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a265dd4561993c7c2346703bc837f3510">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1aab502bb0962806010c4b54c00fb23dac" name="upper_bound"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a265dd4561993c7c2346703bc837f3510">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a01079f2b6f6931b341284e7956616e57" name="upper_bound" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a265dd4561993c7c2346703bc837f3510">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1adf021840db946f1b654eaba671bff98e" name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a63f259a24ffebaa641a003ab553f75c3" name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a78ffe7ab54ddebdd095924f89a982e30" name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1aa88340323bb5af075be1b14bdd2bfe25" name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ad63e18a881eb7df12cec0053845b5a55" name="rebalance"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Rebalances the tree. It's a no-op for Red-Black and AVL trees.</para><para><emphasis role="bold">Complexity</emphasis>: Linear </para></description></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1acbbfd3ea5faa5b237a72532267a77054" name="operator=="><type>bool</type><parameter name="x"><paramtype>const <classname>map</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are equal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a4c0e5b478f5f956c8cfc8810d8df160a" name="operator!="><type>bool</type><parameter name="x"><paramtype>const <classname>map</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are unequal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ac305e97856a3b260a59f9fa9cab24b69" name="operator&lt;"><type>bool</type><parameter name="x"><paramtype>const <classname>map</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1ab32cfca270f424f7c3bd3eab3f2898d6" name="operator&gt;"><type>bool</type><parameter name="x"><paramtype>const <classname>map</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1af802eab8f68866bca3cfe97c268c23b7" name="operator&lt;="><type>bool</type><parameter name="x"><paramtype>const <classname>map</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1aec26970f50623e5a818f72123810f31b" name="operator&gt;="><type>bool</type><parameter name="x"><paramtype>const <classname>map</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1map_1a9150c2854348b5003c950f70d3b77b8e" name="swap" cv="noexcept(allocator_traits_type::is_always_equal::value &amp;&amp;boost::container::dtl::is_nothrow_swappable&lt; Compare &gt;::value)"><type>void</type><parameter name="x"><paramtype><classname>map</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype><classname>map</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: x.swap(y)</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
</method-group>
</class><class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap" name="multimap"><template>
      <template-type-parameter name="Key"><purpose><para>is the key_type of the map </para></purpose></template-type-parameter>
      <template-type-parameter name="T"/>
      <template-type-parameter name="Compare"><default>std::less&lt;Key&gt;</default><purpose><para>is the ordering function for Keys (e.g. <emphasis>std::less&lt;Key&gt;</emphasis>). </para></purpose></template-type-parameter>
      <template-type-parameter name="Allocator"><default>new_allocator&lt; std::pair&lt; const Key, T&gt; &gt;</default><purpose><para>is the allocator to allocate the <computeroutput>value_type</computeroutput>s (e.g. <emphasis>allocator&lt; std::pair&lt;const Key, T&gt; &gt; </emphasis>). </para></purpose></template-type-parameter>
      <template-type-parameter name="Options"><default>tree_assoc_defaults</default><purpose><para>is an packed option type generated using using <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1tree__assoc__options">boost::container::tree_assoc_options</link>. </para></purpose></template-type-parameter>
    </template><description><para>A multimap is a kind of associative container that supports equivalent keys (possibly containing multiple copies of the same key value) and provides for fast retrieval of values of another type T based on the keys. The multimap class supports bidirectional iterators.</para><para>A multimap satisfies all of the requirements of a container and of a reversible container and of an associative container. The <computeroutput>value_type</computeroutput> stored by this container is the value_type is std::pair&lt;const Key, T&gt;.</para><para>
</para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a180650d52c62fc6e4b787b8cfed81dc5" name="key_type"><type>Key</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a4cfc914c6b1ffb704a1c2d5c8fe2e75f" name="mapped_type"><type>T</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1abf6fdeaf9adfeac05b8177135b60230b" name="allocator_type"><type>base_t::allocator_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ad16d52d4f1f55f99cfdda3b13ac7e65c" name="allocator_traits_type"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a040aa383cc9fd06bef4554f6813d69fe" name="value_type"><type><classname>boost::container::allocator_traits</classname>&lt; allocator_type &gt;::value_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a14c8931263ca0139a1e65bf6b9d91c5f" name="pointer"><type><classname>boost::container::allocator_traits</classname>&lt; allocator_type &gt;::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ac81b66fa3d11b805bc6eba9ac4eb3c0b" name="const_pointer"><type><classname>boost::container::allocator_traits</classname>&lt; allocator_type &gt;::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a9edf7f955e1f1c342e0287e2dbcaea19" name="reference"><type><classname>boost::container::allocator_traits</classname>&lt; allocator_type &gt;::reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a615c8d9f9c414cc248210ca404eb3bd3" name="const_reference"><type><classname>boost::container::allocator_traits</classname>&lt; allocator_type &gt;::const_reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a240cf57c52c9a5a182abfc4853a8e792" name="size_type"><type><classname>boost::container::allocator_traits</classname>&lt; allocator_type &gt;::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ad36c99a999dd926d5b575776eea8b0e9" name="difference_type"><type><classname>boost::container::allocator_traits</classname>&lt; allocator_type &gt;::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1aa059dad53f4fb11ff3e904a3623a008e" name="stored_allocator_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1abe6cd067b81cd464d4880d65b5586fa9" name="value_compare"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a98b730fe8745ab70dfb8eba3ae0a2a73" name="key_compare"><type>Compare</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ac20c68bfc717533e1dbb7ee8485397ef" name="iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a8558266942c9d90f2c05694fd39d9c41" name="const_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1abc8dd3cbfc90040daa38abde45ee2ce8" name="reverse_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1af2e6766246738821953235c0134bb9ad" name="const_reverse_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a87c023f5b030335be62dd32d4e908713" name="movable_value_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ac69c28420f93aff51a39c30f8b7448be" name="node_type"><type>implementation_defined</type></typedef>
<method-group name="public member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a1736092f3ce021ddfa053ead39c020b3" name="BOOST_CONTAINER_STATIC_ASSERT"><type/><parameter name=""><paramtype>(dtl::is_same&lt; typename allocator_type::value_type, std::pair&lt; const Key, T &gt; &gt;::value)</paramtype></parameter></method>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1affda2f6cf4cdfffad9b822f4406c6c43" cv="noexcept(dtl::is_nothrow_default_constructible&lt; allocator_type &gt;::value &amp;&amp;dtl::is_nothrow_default_constructible&lt; Compare &gt;::value)"><description><para><emphasis role="bold">Effects</emphasis>: Default constructs an empty multimap.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a2d4a966c1df5ce69db7ae574f2d209be" specifiers="explicit"><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multimap using the specified allocator object and allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a6472c40196811ad6c54456fb34f64e3f" specifiers="explicit"><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multimap using the specified comparison.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ab957c7dfc7bfec1b9ab492d7d9e65e71"><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multimap using the specified comparison and allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a9f8e3f0a93b639259e19fdcccf893cba"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multimap and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a936d14e4c2e981babb163197a873f737"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multimap using the specified allocator, and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1af846f05848d7c967f4c266bc7a1bcf14"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multimap using the specified comparison object and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a5efe99d0c04e3e50ccb63d3f80fbfbb5"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multimap using the specified comparison object and allocator, and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1acb49d21e8a81380bb8be6324538a0743"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multimap and inserts elements from the ordered range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a5e2b3ca5c4fb0d245cdc727f82076c46"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multimap using the specified comparison object and inserts elements from the ordered range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ace405fc2906103292ad3abc722233e8b"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multimap using the specified comparison object and allocator, and inserts elements from the ordered range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a364424065f3c264efffb5ed4c2539537"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multimap using the specified allocator and inserts elements from the ordered range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a403ee21718644f23706dee62257ff02e"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multimap and and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is il.first() - il.end(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a7c1750d7492c3998b41c6daca13de59e"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multimap using the specified allocator, and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is il.first() - il.end(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a3a57c6a379f3d1874ec919097581e7d5"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multimap using the specified comparison object and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is il.first() - il.end(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1afe9da377be2d20dff8478906fad39f23"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multimap using the specified comparison object and allocator, and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is il.first() - il.end(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a75a4062735499e05054f556d0952b86e"><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map and inserts elements from the ordered range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ad74bb1f0ccf8174e58a34ed1f9222259"><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map using the specified comparison object and inserts elements from the ordered range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a2383e848e8968032a143352b7ab10795"><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty map and inserts elements from the ordered range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1afd9dbf297cb8236b1f97832e840889cf"><parameter name="x"><paramtype>const <classname>multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a multimap.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a10f84f91dfb1bbd5c4e5067cd8757040" cv="noexcept(boost::container::dtl::is_nothrow_move_constructible&lt; Compare &gt;::value)"><parameter name="x"><paramtype><classname>multimap</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a multimap. Constructs *this using x's resources.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Postcondition</emphasis>: x is emptied. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a3c81ef395f2bcd61468f056f6a2d8c43"><parameter name="x"><paramtype>const <classname>multimap</classname> &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a multimap.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a39c27d63d219a41a89333ee8e5da905d"><parameter name="x"><paramtype><classname>multimap</classname> &amp;&amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a multimap using the specified allocator. Constructs *this using x's resources. <emphasis role="bold">Complexity</emphasis>: Constant if a == x.get_allocator(), linear otherwise.</para><para><emphasis role="bold">Postcondition</emphasis>: x is emptied. </para></description></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a255951d0b4e794992144dcb770f9dd31"><type><classname>multimap</classname> &amp;</type><parameter name="x"><paramtype>const <classname>multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Makes *this a copy of x.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1aead665d084abb3debcdc77a916714d01" cv="noexcept((allocator_traits_type::propagate_on_container_move_assignment::value||allocator_traits_type::is_always_equal::value) &amp;&amp;boost::container::dtl::is_nothrow_move_assignable&lt; Compare &gt;::value)"><type><classname>multimap</classname> &amp;</type><parameter name="x"><paramtype><classname>multimap</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: this-&gt;swap(x.get()).</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a756793b8926020922df08a7d47919875"><type><classname>multimap</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assign content of il to *this. </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a939705b32a362e29776db1fb04da3dd7" name="get_allocator" cv="const"><type>allocator_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a copy of the allocator that was passed to the object's constructor.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a0f2c7eed18cff9651fd83ec9a10eb601" name="get_stored_allocator"><type>stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a1c09232a4f67b3b6300214639ec3d847" name="get_stored_allocator" cv="const"><type>const stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1abde50ea26b4d4afef36a03dacb34be75" name="begin"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a736858799e7fbf65c80cd993fad71b47" name="begin" cv="const"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1aef92dce3401c9403ed2c62ccf914a5b1" name="cbegin" cv="const"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ab2e90b8278dfe485a74d91516733127c" name="end" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a6934b05159d13f33686e9f90cdbbf608" name="end" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a6d615b3e821c5780ed4533e8f96bc9b9" name="cend" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a368db23cca6402d18a7dc0a814a781ab" name="rbegin" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1af89b75d361df28498202d769b692e0c1" name="rbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1aa69904018e9e54d88988ed64031abb00" name="crbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ac04e8864cbb4f3ea3eacc5bcc5ccf164" name="rend" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a9ca39125438bb91711444c499e5d0289" name="rend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a5ee42a4197801bb961fb0b8eb1a11e84" name="crend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ae3ab9fa56fa1dd4d86e1af660630e61b" name="empty" cv="const"><type>bool</type><description><para><emphasis role="bold">Effects</emphasis>: Returns true if the container contains no elements.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1aa64883f68653b0b2e56fc1101606ac47" name="size" cv="const"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the number of the elements contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a07a41e61fc217ccd5b9c3687471f7794" name="max_size" cv="const"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the largest possible size of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a11c5d9729ad90584e5f5ead3392234b7" name="emplace"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if t is inserted right before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1aea741390c8b22962ad4a21a0b2d9801c" name="emplace_hint"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if t is inserted right before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a91206f7171b1349ad2bbf3f2225131b4" name="insert"><type>iterator</type><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts x and returns the iterator pointing to the newly inserted element.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a79d0c9ca70bb7e1a9f9409080c8c19be" name="insert"><type>iterator</type><parameter name="x"><paramtype>value_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a new value move-constructed from x and returns the iterator pointing to the newly inserted element.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a78505a5bd9d4f71841e0674e0793f8f7" name="insert"><type>iterator</type><template>
          <template-type-parameter name="Pair"/>
        </template><parameter name="x"><paramtype>Pair &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a new value constructed from x and returns the iterator pointing to the newly inserted element.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ad2ec07c3c0e40716d68af16fd241b975" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of x in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if t is inserted right before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a335b2fd94894a712bdc65a2907717bd3" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>movable_value_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a new value move constructed from x in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if t is inserted right before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a81fcad88651fb19f05ba4aec86358c6a" name="insert"><type>iterator</type><template>
          <template-type-parameter name="Pair"/>
        </template><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>Pair &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a new value constructed from x in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if t is inserted right before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a587f39e4b48b472a05260a3dd49e5ea6" name="insert"><type>void</type><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: first, last are not iterators into *this.</para><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [first,last) .</para><para><emphasis role="bold">Complexity</emphasis>: At most N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1aa64883f68653b0b2e56fc1101606ac47">size()</link>+N) (N is the distance from first to last) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a69bacd71fa3e9e0128c35bdc4b5db1dc" name="insert"><type>void</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [il.begin(), il.end().</para><para><emphasis role="bold">Complexity</emphasis>: At most N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1aa64883f68653b0b2e56fc1101606ac47">size()</link>+N) (N is the distance from il.begin() to il.end()) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1aca3f2b046c68d35754b2b91c5d7a3e77" name="insert"><type>iterator</type><parameter name="nh"><paramtype>node_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: nh is empty or this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a939705b32a362e29776db1fb04da3dd7">get_allocator()</link> == nh.get_allocator().</para><para><emphasis role="bold">Effects/Returns</emphasis>: If nh is empty, has no effect and returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ab2e90b8278dfe485a74d91516733127c">end()</link>. Otherwise, inserts the element owned by nh and returns an iterator pointing to the newly inserted element. If a range containing elements with keys equivalent to nh.key() exists, the element is inserted at the end of that range. nh is always emptied.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a601f38de23b29acbf0a89dd33982ef73" name="insert"><type>iterator</type><parameter name="hint"><paramtype>const_iterator</paramtype></parameter><parameter name="nh"><paramtype>node_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Same as <computeroutput>insert(node_type &amp;&amp; nh)</computeroutput> but the element is inserted as close as possible to the position just prior to "hint".</para><para><emphasis role="bold">Complexity</emphasis>: logarithmic in general, but amortized constant if the element is inserted right before "hint". </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1af72153af063cbc42df1d1e32aacf0630" name="erase"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases the element pointed to by p.</para><para><emphasis role="bold">Returns</emphasis>: Returns an iterator pointing to the element immediately following q prior to the element being erased. If no such element exists, returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ab2e90b8278dfe485a74d91516733127c">end()</link>.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a41ecc2694cf3aa973187c8f395d982eb" name="erase"><type>size_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If present, erases the element in the container with key equivalent to x.</para><para><emphasis role="bold">Returns</emphasis>: Returns the number of erased elements (0/1).</para><para><emphasis role="bold">Complexity</emphasis>: log(size()) + count(k)   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a0459171f2886d031941d40565d5489ec" name="erase"><type>iterator</type><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases all the elements in the range [first, last).</para><para><emphasis role="bold">Returns</emphasis>: Returns last.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+N where N is the distance from first to last.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a52f04cacbd1a199d7dca79bc3d1f4075" name="extract"><type>node_type</type><parameter name="k"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Removes the first element in the container with key equivalent to k.</para><para><emphasis role="bold">Returns</emphasis>: A node_type owning the element if found, otherwise an empty node_type.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()).   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a37d9fc84f409bd5d6ba83abea4914e78" name="extract"><type>node_type</type><parameter name="position"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Removes the element pointed to by "position".</para><para><emphasis role="bold">Returns</emphasis>: A node_type owning the element, otherwise an empty node_type.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ad2116b7cf0e699fdfa7f0fdca343dc3e" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>multimap</classname>&lt; Key, T, C2, Allocator, Options &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a939705b32a362e29776db1fb04da3dd7">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Extracts each element in source and insert it into a using the comparison object of *this.</para><para><emphasis role="bold">Postcondition</emphasis>: Pointers and references to the transferred elements of source refer to those same elements but as members of *this. Iterators referring to the transferred elements will continue to refer to their elements, but they now behave as iterators into *this, not into source.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless the comparison object throws.</para><para><emphasis role="bold">Complexity</emphasis>: N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1aa64883f68653b0b2e56fc1101606ac47">size()</link> + N) (N has the value source.size()) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a3cd420edb40259b12ee4cc5216fc66fc" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>multimap</classname>&lt; Key, T, C2, Allocator, Options &gt; &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a939705b32a362e29776db1fb04da3dd7">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Extracts each element in source and insert it into a using the comparison object of *this.</para><para><emphasis role="bold">Postcondition</emphasis>: Pointers and references to the transferred elements of source refer to those same elements but as members of *this. Iterators referring to the transferred elements will continue to refer to their elements, but they now behave as iterators into *this, not into source.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless the comparison object throws.</para><para><emphasis role="bold">Complexity</emphasis>: N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1aa64883f68653b0b2e56fc1101606ac47">size()</link> + N) (N has the value source.size())   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a23d2393523c0c8290d4046409af2506e" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>map</classname>&lt; Key, T, C2, Allocator, Options &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a939705b32a362e29776db1fb04da3dd7">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Extracts each element in source and insert it into a using the comparison object of *this.</para><para><emphasis role="bold">Postcondition</emphasis>: Pointers and references to the transferred elements of source refer to those same elements but as members of *this. Iterators referring to the transferred elements will continue to refer to their elements, but they now behave as iterators into *this, not into source.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless the comparison object throws.</para><para><emphasis role="bold">Complexity</emphasis>: N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1aa64883f68653b0b2e56fc1101606ac47">size()</link> + N) (N has the value source.size())   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a34396949bae6d18c55ac2ffd6a1468e8" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>map</classname>&lt; Key, T, C2, Allocator, Options &gt; &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a939705b32a362e29776db1fb04da3dd7">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Extracts each element in source and insert it into a using the comparison object of *this.</para><para><emphasis role="bold">Postcondition</emphasis>: Pointers and references to the transferred elements of source refer to those same elements but as members of *this. Iterators referring to the transferred elements will continue to refer to their elements, but they now behave as iterators into *this, not into source.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless the comparison object throws.</para><para><emphasis role="bold">Complexity</emphasis>: N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1aa64883f68653b0b2e56fc1101606ac47">size()</link> + N) (N has the value source.size())   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a0247469156c469afa34465d0388d5ec2" name="swap" cv="noexcept(allocator_traits_type::is_always_equal::value &amp;&amp;boost::container::dtl::is_nothrow_swappable&lt; Compare &gt;::value)"><type>void</type><parameter name="x"><paramtype><classname>multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Swaps the contents of *this and x.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a688ed0322e645706ce98d465d3172cc7" name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1abde50ea26b4d4afef36a03dacb34be75">begin()</link>,<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ab2e90b8278dfe485a74d91516733127c">end()</link>).</para><para><emphasis role="bold">Postcondition</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1aa64883f68653b0b2e56fc1101606ac47">size()</link> == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1aa64883f68653b0b2e56fc1101606ac47">size()</link>.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a5774916f1eda7f0167935b4b66d0e49f" name="key_comp" cv="const"><type>key_compare</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the comparison object out of which a was constructed.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a66cb46101a72a26c8dc69a87f9b010b8" name="value_comp" cv="const"><type>value_compare</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an object of value_compare constructed out of the comparison object.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ae7b071239a6f7d5f0ccfc3e758d45330" name="find"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ab2e90b8278dfe485a74d91516733127c">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a552acf41ee49e35a5b112937a7771133" name="find" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ab2e90b8278dfe485a74d91516733127c">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ac81150a15486b0b4151f930004d4418e" name="find"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ab2e90b8278dfe485a74d91516733127c">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a6d7b5d60e90561f70fdbe02ac8ce7fe5" name="find" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const_iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ab2e90b8278dfe485a74d91516733127c">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a6b93879cd31816816c63205e042d2282" name="count" cv="const"><type>size_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: The number of elements with key equivalent to x.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+count(k) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a24176ccf55c6d9f4e581e43c5f39a8dd" name="count" cv="const"><type>size_type</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: The number of elements with key equivalent to x.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+count(k) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a49a277661e7f942875153e2e7e1ce2c4" name="contains" cv="const"><type>bool</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: Returns true if there is an element with key equivalent to key in the container, otherwise false.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1af3a285182795167062c8d53daa6bc927" name="contains" cv="const"><type>bool</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: Returns true if there is an element with key equivalent to key in the container, otherwise false.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a925b96ff38280ca5e060515654131102" name="lower_bound"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ab2e90b8278dfe485a74d91516733127c">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a148c12c554159377e5ecb051fcc7a564" name="lower_bound" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ab2e90b8278dfe485a74d91516733127c">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1af3c08b94f120a8a91be493140054bb3b" name="lower_bound"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ab2e90b8278dfe485a74d91516733127c">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a8260ba992883669495ee432a245f02b5" name="lower_bound" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ab2e90b8278dfe485a74d91516733127c">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a3cfec883a72b21762d14f3c47d28aa69" name="upper_bound"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ab2e90b8278dfe485a74d91516733127c">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a91c94935b316fe5aeda43439d63032fc" name="upper_bound" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ab2e90b8278dfe485a74d91516733127c">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a0c1c5a190a8b431018535b2ff4fd3035" name="upper_bound"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ab2e90b8278dfe485a74d91516733127c">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a9f4150af3aaca5a67e3521994d9dab9b" name="upper_bound" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ab2e90b8278dfe485a74d91516733127c">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a849bffaa3ea4ed0a4793fa1f5ee2719d" name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a9f7bb470457159fe41368d05cdfbc64e" name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a97f3eb9dffe225c608a7ee58957cd539" name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a54f82ed6d139acd41cb925bf3fd5175c" name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a0563030ea5689d6b9a16578406f49729" name="rebalance"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Rebalances the tree. It's a no-op for Red-Black and AVL trees.</para><para><emphasis role="bold">Complexity</emphasis>: Linear </para></description></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a07f256348fcced36ba47ffab68d879e3" name="operator=="><type>bool</type><parameter name="x"><paramtype>const <classname>multimap</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are equal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ac24c685d18fc157aa57fa0e475b0e1b0" name="operator!="><type>bool</type><parameter name="x"><paramtype>const <classname>multimap</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are unequal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a93da3bfadddebc2281c5c0498a11e06a" name="operator&lt;"><type>bool</type><parameter name="x"><paramtype>const <classname>multimap</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a4210b0c35a1039e3a9fdda5e4377f16c" name="operator&gt;"><type>bool</type><parameter name="x"><paramtype>const <classname>multimap</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1ad7f037094961a946da46f1415644a912" name="operator&lt;="><type>bool</type><parameter name="x"><paramtype>const <classname>multimap</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a9e2e46a554be94875038236eaecf7703" name="operator&gt;="><type>bool</type><parameter name="x"><paramtype>const <classname>multimap</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap_1a8489168d10935f9c35a0e4581c85e729" name="swap" cv="noexcept(allocator_traits_type::is_always_equal::value &amp;&amp;boost::container::dtl::is_nothrow_swappable&lt; Compare &gt;::value)"><type>void</type><parameter name="x"><paramtype><classname>multimap</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype><classname>multimap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: x.swap(y)</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
</method-group>
</class>












































































<function id="doxygen.boost_container_header_reference.map_8hpp_1a6a67c8c7ae0171a031fb6768852bebad" name="map"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.map_8hpp_1a1a40a17b816ae83ff6900da89de502f4" name="map"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="AllocatorOrCompare"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>AllocatorOrCompare const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.map_8hpp_1ad4943cbdb31e0297492ae40d7dbf20a6" name="map"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Compare"/>
          <template-type-parameter name="Allocator"/>
          <template-type-parameter name=""><default>dtl::require_nonallocator_t&lt;Compare&gt;</default></template-type-parameter>
          <template-type-parameter name=""><default>dtl::require_allocator_t&lt;Allocator&gt;</default></template-type-parameter>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Compare const &amp;</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.map_8hpp_1ab5299c16fb634d04968232527e5efdc9" name="map"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.map_8hpp_1a4026de65130d82d499ca8d65e5b7d8ae" name="map"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="AllocatorOrCompare"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>AllocatorOrCompare const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.map_8hpp_1ad3cbf61dfa40bbea0956fc6fcbd4dadb" name="map"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Compare"/>
          <template-type-parameter name="Allocator"/>
          <template-type-parameter name=""><default>dtl::require_nonallocator_t&lt;Compare&gt;</default></template-type-parameter>
          <template-type-parameter name=""><default>dtl::require_allocator_t&lt;Allocator&gt;</default></template-type-parameter>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Compare const &amp;</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.map_8hpp_1a702f779aff96363e592851430790af5d" name="multimap"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.map_8hpp_1a74ab6532b456736d9efbec45c29386ff" name="multimap"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="AllocatorOrCompare"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>AllocatorOrCompare const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.map_8hpp_1a1e21707e8cadcc8ded702558fc539e1a" name="multimap"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Compare"/>
          <template-type-parameter name="Allocator"/>
          <template-type-parameter name=""><default>dtl::require_nonallocator_t&lt;Compare&gt;</default></template-type-parameter>
          <template-type-parameter name=""><default>dtl::require_allocator_t&lt;Allocator&gt;</default></template-type-parameter>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Compare const &amp;</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.map_8hpp_1a3d32b5d142645a78a1aeac0178f9f308" name="multimap"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.map_8hpp_1a2ac11352bb0f3dfa002f56e114464665" name="multimap"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="AllocatorOrCompare"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>AllocatorOrCompare const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.map_8hpp_1a61b02867712d8a40bb3cb83ec5099c5c" name="multimap"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Compare"/>
          <template-type-parameter name="Allocator"/>
          <template-type-parameter name=""><default>dtl::require_nonallocator_t&lt;Compare&gt;</default></template-type-parameter>
          <template-type-parameter name=""><default>dtl::require_allocator_t&lt;Allocator&gt;</default></template-type-parameter>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Compare const &amp;</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>




























</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.pmr_2map_8hpp" name="boost/container/pmr/map.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1map__of" name="map_of"><template>
      <template-type-parameter name="Key"/>
      <template-type-parameter name="T"/>
      <template-type-parameter name="Compare"><default>std::less&lt;Key&gt;</default></template-type-parameter>
      <template-type-parameter name="Options"><default>void</default></template-type-parameter>
    </template><description><para>A portable metafunction to obtain a map that uses a polymorphic allocator </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1map__of_1a0abe05a52b7f63327259756270d80c14" name="type"><type><classname>boost::container::map</classname>&lt; Key, T, Compare, <classname>polymorphic_allocator</classname>&lt; std::pair&lt; const Key, T &gt; &gt;, Options &gt;</type></typedef>
</struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1multimap__of" name="multimap_of"><template>
      <template-type-parameter name="Key"/>
      <template-type-parameter name="T"/>
      <template-type-parameter name="Compare"><default>std::less&lt;Key&gt;</default></template-type-parameter>
      <template-type-parameter name="Options"><default>void</default></template-type-parameter>
    </template><description><para>A portable metafunction to obtain a multimap that uses a polymorphic allocator </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1multimap__of_1a1f2bd34b7f8d155ab896bd65e664a88a" name="type"><type><classname>boost::container::multimap</classname>&lt; Key, T, Compare, <classname>polymorphic_allocator</classname>&lt; std::pair&lt; const Key, T &gt; &gt;, Options &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.pmr_2map_8hpp_1a0133603ce52998d3a19958d33f03e707" name="map"><type><classname>boost::container::map</classname>&lt; Key, T, Compare, <classname>polymorphic_allocator</classname>&lt; std::pair&lt; const Key, T &gt; &gt;, Options &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.pmr_2map_8hpp_1a49ac6bae018d884198669a805457b4b5" name="multimap"><type><classname>boost::container::multimap</classname>&lt; Key, T, Compare, <classname>polymorphic_allocator</classname>&lt; std::pair&lt; const Key, T &gt; &gt;, Options &gt;</type></typedef>






</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.new__allocator_8hpp" name="boost/container/new_allocator.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator" name="new_allocator"><template>
      <template-type-parameter name="T"/>
    </template><purpose>This class is a reduced STL-compatible allocator that allocates memory using operator new. </purpose><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1new__allocator_1_1rebind" name="rebind"><template>
      <template-type-parameter name="T2"/>
    </template><description><para>Obtains an <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator">new_allocator</link> that allocates objects of type T2 </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1new__allocator_1_1rebind_1a7f24e9968de931a2545076219aea111e" name="other"><type><classname>new_allocator</classname>&lt; T2 &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1a6dfcbee6e3aabc31422d6c3bd5e09858" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1ada8192922eecac1a838094f849bf2938" name="pointer"><type>T *</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1a2c79e141bf9e399f94dad51cf7c0d623" name="const_pointer"><type>const T *</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1a607a75670ab8f4bf450a6696b434930a" name="reference"><type>T &amp;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1ad0615a4a6dcdabc6af56d5443c3502c9" name="const_reference"><type>const T &amp;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1aa64edbf5a0d0ba6c547ac2fb4a9d4ec0" name="size_type"><type>std::size_t</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1ac63f5ffb2ee31b0e0a4ebc71be3b4478" name="difference_type"><type>std::ptrdiff_t</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1a4e81979da73654d964c9ed09d972897a" name="propagate_on_container_move_assignment"><purpose>A integral constant of type bool with value true. </purpose><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1aed4d843e60ca956c7fdee9b2e54dbdac" name="is_always_equal"><purpose>A integral constant of type bool with value true. </purpose><type>implementation_defined</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1a51875aee097373ae28bceb7bdfeff83e" cv="noexcept"><description><para>Default constructor Never throws </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1a657799055196fc9d7276cf90d1475a18" cv="noexcept"><parameter name=""><paramtype>const <classname>new_allocator</classname> &amp;</paramtype></parameter><description><para>Constructor from other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator">new_allocator</link>. Never throws </para></description></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1a66a0a0cc4500a5b3d5268cc6ab225cf6" cv="noexcept"><type><classname>new_allocator</classname> &amp;</type><parameter name=""><paramtype>const <classname>new_allocator</classname> &amp;</paramtype></parameter><description><para>Copy assignment operator from other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator">new_allocator</link>. Never throws </para></description></copy-assignment>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1a868a505a60a2bf1d1c02d0bf68edb9c8" cv="noexcept"><template>
          <template-type-parameter name="T2"/>
        </template><parameter name=""><paramtype>const <classname>new_allocator</classname>&lt; T2 &gt; &amp;</paramtype></parameter><description><para>Constructor from related <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator">new_allocator</link>. Never throws </para></description></constructor>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1a4cdecb0130bdee1030c1f953dca4c732" name="allocate"><type>pointer</type><parameter name="count"><paramtype>size_type</paramtype></parameter><description><para>Allocates memory for an array of count elements. Throws bad_alloc if there is no enough memory </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1a8aea7c5aaa0b8844e6f54d2a076295bc" name="deallocate" cv="noexcept"><type>void</type><parameter name="ptr"><paramtype>pointer</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para>Deallocates previously allocated memory. Never throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1a75f65577e4fb46d1dfa235bb21bd6b71" name="max_size" cv="const noexcept"><type>size_type</type><description><para>Returns the maximum number of elements that could be allocated. Never throws </para></description></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1afb7b628d6f888d9ecc2bf549558521d3" name="swap" cv="noexcept"><type>void</type><parameter name=""><paramtype><classname>new_allocator</classname> &amp;</paramtype></parameter><parameter name=""><paramtype><classname>new_allocator</classname> &amp;</paramtype></parameter><description><para>Swaps two allocators, does nothing because this <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator">new_allocator</link> is stateless </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1ab22812f44758b003493ca6dc6d6d0440" name="operator==" cv="noexcept"><type>bool</type><parameter name=""><paramtype>const <classname>new_allocator</classname> &amp;</paramtype></parameter><parameter name=""><paramtype>const <classname>new_allocator</classname> &amp;</paramtype></parameter><description><para>An <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator">new_allocator</link> always compares to true, as memory allocated with one instance can be deallocated by another instance </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_1a93d2b46b916a348664dee7be84ca044d" name="operator!=" cv="noexcept"><type>bool</type><parameter name=""><paramtype>const <classname>new_allocator</classname> &amp;</paramtype></parameter><parameter name=""><paramtype>const <classname>new_allocator</classname> &amp;</paramtype></parameter><description><para>An <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator">new_allocator</link> always compares to false, as memory allocated with one instance can be deallocated by another instance </para></description></method>
</method-group>
</class><class-specialization id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_3_01void_01_4" name="new_allocator"><template>
    </template><specialization><template-arg>void</template-arg></specialization><purpose>Specialization of <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator">new_allocator</link> for void types. </purpose><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1new__allocator_3_01void_01_4_1_1rebind" name="rebind"><template>
    </template><description><para>Obtains an <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator">new_allocator</link> that allocates objects of type T2 </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1new__allocator_3_01void_01_4_1_1rebind_1ad45a787d8906a712a2aa3b960135b93d" name="other"><type><classname>new_allocator</classname>&lt; T2 &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_3_01void_01_4_1af42095801f619ee860d88799dacb237b" name="value_type"><type>void</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_3_01void_01_4_1a4fcc7c699af77225e08fe86d954e1b77" name="pointer"><type>void *</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_3_01void_01_4_1a25a69c09e40e6e05d181d50138a77d38" name="const_pointer"><type>const void *</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_3_01void_01_4_1a046f6556c06408e1ebd00b5f1621c172" name="propagate_on_container_move_assignment"><purpose>A integral constant of type bool with value true. </purpose><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_3_01void_01_4_1a2eaacd07fbf5d1f0d97e23912c97fe1c" name="is_always_equal"><purpose>A integral constant of type bool with value true. </purpose><type>implementation_defined</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_3_01void_01_4_1a93cee6a644d901d189f14b4c166aa2f6" cv="noexcept"><description><para>Default constructor Never throws </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_3_01void_01_4_1a5a234c7d53ee2924fd10f83b191b7beb" cv="noexcept"><parameter name=""><paramtype>const <classname>new_allocator</classname> &amp;</paramtype></parameter><description><para>Constructor from other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator">new_allocator</link>. Never throws </para></description></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_3_01void_01_4_1a23492568c571caa8a347ab2385899ee8" cv="noexcept"><type><classname>new_allocator</classname> &amp;</type><parameter name=""><paramtype>const <classname>new_allocator</classname> &amp;</paramtype></parameter><description><para>Copy assignment operator from other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator">new_allocator</link>. Never throws </para></description></copy-assignment>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_3_01void_01_4_1a7038bb52b1845439c0770e2e826ac42e" cv="noexcept"><template>
          <template-type-parameter name="T2"/>
        </template><parameter name=""><paramtype>const <classname>new_allocator</classname>&lt; T2 &gt; &amp;</paramtype></parameter><description><para>Constructor from related <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator">new_allocator</link>. Never throws </para></description></constructor>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_3_01void_01_4_1afb7b628d6f888d9ecc2bf549558521d3" name="swap" cv="noexcept"><type>void</type><parameter name=""><paramtype><classname>new_allocator</classname> &amp;</paramtype></parameter><parameter name=""><paramtype><classname>new_allocator</classname> &amp;</paramtype></parameter><description><para>Swaps two allocators, does nothing because this <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator">new_allocator</link> is stateless </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_3_01void_01_4_1ab22812f44758b003493ca6dc6d6d0440" name="operator==" cv="noexcept"><type>bool</type><parameter name=""><paramtype>const <classname>new_allocator</classname> &amp;</paramtype></parameter><parameter name=""><paramtype>const <classname>new_allocator</classname> &amp;</paramtype></parameter><description><para>An <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator">new_allocator</link> always compares to true, as memory allocated with one instance can be deallocated by another instance </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator_3_01void_01_4_1a93d2b46b916a348664dee7be84ca044d" name="operator!=" cv="noexcept"><type>bool</type><parameter name=""><paramtype>const <classname>new_allocator</classname> &amp;</paramtype></parameter><parameter name=""><paramtype>const <classname>new_allocator</classname> &amp;</paramtype></parameter><description><para>An <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1new__allocator">new_allocator</link> always compares to false, as memory allocated with one instance can be deallocated by another instance </para></description></method>
</method-group>
</class-specialization>




















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.node__allocator_8hpp" name="boost/container/node_allocator.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator" name="node_allocator"><template>
      <template-type-parameter name="T"/>
      <template-nontype-parameter name="NodesPerBlock"><type>std::size_t</type><default>NodeAlloc_nodes_per_block</default></template-nontype-parameter>
    </template><description><para>An STL node allocator that uses a modified DlMalloc as memory source.</para><para>This node allocator shares a segregated storage between all instances of <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator">node_allocator</link> with equal sizeof(T).</para><para>NodesPerBlock is the number of nodes allocated at once when the allocator runs out of nodes </para></description><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1node__allocator_1_1rebind" name="rebind"><template>
      <template-type-parameter name="T2"/>
    </template><description><para>Obtains <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator">node_allocator</link> from <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator">node_allocator</link> </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1node__allocator_1_1rebind_1af0a6f91d1d3211b102b6e445a30907b6" name="other"><type><classname>node_allocator</classname>&lt; T2, NodesPerBlock &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1af604a46a4eeec96f94511303977cacf2" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1abc898306d08377ea4dff8b21c30b817b" name="pointer"><type>T *</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1a9a98585a026cf5b8102f930989bfb5d8" name="const_pointer"><type>const T *</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1abb9ef211a0e2b9b23bfc682cbd884f5c" name="reference"><type>::boost::container::dtl::unvoid_ref&lt; T &gt;::type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1a05d13f096407e57027a4fa6703fdd2bb" name="const_reference"><type>::boost::container::dtl::unvoid_ref&lt; constT &gt;::type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1aca0ab5d610a5a428a3d151c93956d821" name="size_type"><type>std::size_t</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1afd0694af9870c23835b1a9a939e8b295" name="difference_type"><type>std::ptrdiff_t</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1a12bbb92d56c415f8975afb2f145d54f9" name="version"><type>boost::container::dtl::version_type&lt; self_t,(unsigned int) Version &gt;</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1a8a9ba47bdd739c3e42843b791aad7bf7" cv="noexcept"><purpose>Default constructor. </purpose></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1acea99bdd0b53a8f44deefa5b6991a8a2" cv="noexcept"><parameter name=""><paramtype>const <classname>node_allocator</classname> &amp;</paramtype></parameter><purpose>Copy constructor from other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator">node_allocator</link>. </purpose></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1a8fe90ccfc204384f56455cdf40d2cd1e" cv="noexcept"><template>
          <template-type-parameter name="T2"/>
        </template><parameter name=""><paramtype>const <classname>node_allocator</classname>&lt; T2, NodesPerBlock &gt; &amp;</paramtype></parameter><purpose>Copy constructor from related <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator">node_allocator</link>. </purpose></constructor>
<destructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1aae3f498dc2f6efe96c45ba9d4ef26f6a" cv="noexcept"><purpose>Destructor. </purpose></destructor>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1ae9b979a89b441c9595841ce7bd9c7948" name="max_size" cv="const"><type>size_type</type><description><para>Returns the number of elements that could be allocated. Never throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1a8bdfe2748b031138cedddf629b07366f" name="allocate"><type>pointer</type><parameter name="count"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype>const void *</paramtype><default>0</default></parameter><description><para>Allocate memory for an array of count elements. Throws bad_alloc if there is no enough memory </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1a43fd4c135ae0ddfd386925f27d6ac82c" name="deallocate" cv="noexcept"><type>void</type><parameter name="ptr"><paramtype>const pointer &amp;</paramtype></parameter><parameter name="count"><paramtype>size_type</paramtype></parameter><description><para>Deallocate allocated memory. Never throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1a1d5cfc7f41185d60ee06ffec93045c2c" name="allocation_command"><type>pointer</type><parameter name="command"><paramtype>allocation_type</paramtype></parameter><parameter name="limit_size"><paramtype>size_type</paramtype></parameter><parameter name="prefer_in_recvd_out_size"><paramtype>size_type &amp;</paramtype></parameter><parameter name="reuse"><paramtype>pointer &amp;</paramtype></parameter></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1abe11f75c5f81e53c9465175f7901d808" name="size" cv="const noexcept"><type>size_type</type><parameter name="p"><paramtype>pointer</paramtype></parameter><description><para>Returns maximum the number of objects the previously allocated memory pointed by p can hold. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1ae16477b73fa9557a1157c2261aeb8f65" name="allocate_one"><type>pointer</type><description><para>Allocates just one object. Memory allocated with this function must be deallocated only with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1a87512fbbe1d0250ab203e0a25ee77b6e">deallocate_one()</link>. Throws bad_alloc if there is no enough memory </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1aed423327cb7b310e1a114b9509c8024f" name="allocate_individual"><type>void</type><parameter name="num_elements"><paramtype>std::size_t</paramtype></parameter><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter><description><para>Allocates many elements of size == 1. Elements must be individually deallocated with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1a87512fbbe1d0250ab203e0a25ee77b6e">deallocate_one()</link> </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1a87512fbbe1d0250ab203e0a25ee77b6e" name="deallocate_one" cv="noexcept"><type>void</type><parameter name="p"><paramtype>pointer</paramtype></parameter><description><para>Deallocates memory previously allocated with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1ae16477b73fa9557a1157c2261aeb8f65">allocate_one()</link>. You should never use deallocate_one to deallocate memory allocated with other functions different from <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1ae16477b73fa9557a1157c2261aeb8f65">allocate_one()</link>. Never throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1a3952b56a1db4937ab7e905a3f6491b35" name="deallocate_individual" cv="noexcept"><type>void</type><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1a8f6bd58678d74c5e066975ee6c02a1f7" name="allocate_many"><type>void</type><parameter name="elem_size"><paramtype>size_type</paramtype></parameter><parameter name="n_elements"><paramtype>std::size_t</paramtype></parameter><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter><description><para>Allocates many elements of size elem_size. Elements must be individually deallocated with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1a43fd4c135ae0ddfd386925f27d6ac82c">deallocate()</link> </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1aff21837afd89f7b563d35b4aa663e6f8" name="allocate_many"><type>void</type><parameter name="elem_sizes"><paramtype>const size_type *</paramtype></parameter><parameter name="n_elements"><paramtype>size_type</paramtype></parameter><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter><description><para>Allocates n_elements elements, each one of size elem_sizes[i] Elements must be individually deallocated with <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1a43fd4c135ae0ddfd386925f27d6ac82c">deallocate()</link> </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1ae09056e1e89045e4a98896e371efac8e" name="deallocate_many" cv="noexcept"><type>void</type><parameter name="chain"><paramtype>multiallocation_chain &amp;</paramtype></parameter></method>
</method-group>
<method-group name="public static functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1af2a54c4c7b0d27bdcefafbbec050f15e" name="deallocate_free_blocks" cv="noexcept" specifiers="static"><type>void</type><purpose>Deallocates all free blocks of the pool. </purpose></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1aac6a701921416e1e6b5e33685a95a7c1" name="swap" cv="noexcept"><type>void</type><parameter name=""><paramtype>self_t &amp;</paramtype></parameter><parameter name=""><paramtype>self_t &amp;</paramtype></parameter><description><para>Swaps allocators. Does not throw. If each allocator is placed in a different memory segment, the result is undefined. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1ae48eea15dad6ab37a017e8f70e93cad4" name="operator==" cv="noexcept"><type>bool</type><parameter name=""><paramtype>const <classname>node_allocator</classname> &amp;</paramtype></parameter><parameter name=""><paramtype>const <classname>node_allocator</classname> &amp;</paramtype></parameter><description><para>An allocator always compares to true, as memory allocated with one instance can be deallocated by another instance </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1aed51191b70cdace561ccb55fb09dd289" name="operator!=" cv="noexcept"><type>bool</type><parameter name=""><paramtype>const <classname>node_allocator</classname> &amp;</paramtype></parameter><parameter name=""><paramtype>const <classname>node_allocator</classname> &amp;</paramtype></parameter><description><para>An allocator always compares to false, as memory allocated with one instance can be deallocated by another instance </para></description></method>
</method-group>
<method-group name="private member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__allocator_1a946f0036b9bbdef5e94df87d2f6bcf73" name="priv_allocation_command"><type>pointer</type><parameter name="command"><paramtype>allocation_type</paramtype></parameter><parameter name="limit_size"><paramtype>std::size_t</paramtype></parameter><parameter name="prefer_in_recvd_out_size"><paramtype>size_type &amp;</paramtype></parameter><parameter name="reuse"><paramtype>pointer &amp;</paramtype></parameter></method>
</method-group>
</class>




















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.node__handle_8hpp" name="boost/container/node_handle.hpp">
<namespace name="boost">
<namespace name="container">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1insert__return__type__base" name="insert_return_type_base"><template>
      <template-type-parameter name="Iterator"/>
      <template-type-parameter name="NodeType"/>
    </template><description><para>A class template used to describe the results of inserting a Container::node_type in a Container with unique keys. Includes at least the following non-static public data members:</para><para><itemizedlist>
<listitem>
<para>bool inserted; </para>
</listitem>
<listitem>
<para>Iterator position; </para>
</listitem>
<listitem>
<para>NodeType node</para>
</listitem>
</itemizedlist>
</para><para>This type is MoveConstructible, MoveAssignable, DefaultConstructible, Destructible, and lvalues of that type are swappable </para></description><data-member id="doxygen.boost_container_header_reference.structboost_1_1container_1_1insert__return__type__base_1ae5d9d9d6b837c9230a077b24dce8b95b" name="inserted"><type>bool</type></data-member>
<data-member id="doxygen.boost_container_header_reference.structboost_1_1container_1_1insert__return__type__base_1a080746208834c8fc8b2bbe11588fb1b0" name="position"><type>Iterator</type></data-member>
<data-member id="doxygen.boost_container_header_reference.structboost_1_1container_1_1insert__return__type__base_1a6bde1aa487503b00a30fb675aa8458d3" name="node"><type>NodeType</type></data-member>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.structboost_1_1container_1_1insert__return__type__base_1a0a3d88631c05e0eb20cd7f6151a012c9"/>
<constructor id="doxygen.boost_container_header_reference.structboost_1_1container_1_1insert__return__type__base_1a1cc2b17896ea11fc2d06207fffdb47ba"><parameter name="other"><paramtype><classname>insert_return_type_base</classname> &amp;&amp;</paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.structboost_1_1container_1_1insert__return__type__base_1a55f5fd312844062d4903f5b397207ea5"><template>
          <template-type-parameter name="RelatedIt"/>
          <template-type-parameter name="RelatedNode"/>
        </template><parameter name="insert"><paramtype>bool</paramtype></parameter><parameter name="it"><paramtype>RelatedIt</paramtype></parameter><parameter name="n"><paramtype>RelatedNode &amp;&amp;</paramtype></parameter></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.structboost_1_1container_1_1insert__return__type__base_1aa28b081a87b36e8b9c30ebb219bcc38c"><type><classname>insert_return_type_base</classname> &amp;</type><parameter name="other"><paramtype><classname>insert_return_type_base</classname> &amp;&amp;</paramtype></parameter></copy-assignment>
</method-group>
</struct><class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle" name="node_handle"><template>
      <template-type-parameter name="NodeAllocator"/>
      <template-type-parameter name="KeyMapped"><default>void</default></template-type-parameter>
    </template><description><para>A <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle">node_handle</link> is an object that accepts ownership of a single element from an associative container. It may be used to transfer that ownership to another container with compatible nodes. Containers with compatible nodes have the same node handle type. Elements may be transferred in either direction between container types in the same row:.</para><para>Container types with compatible nodes</para><para>map&lt;K, T, C1, A&gt; &lt;-&gt; map&lt;K, T, C2, A&gt;</para><para>map&lt;K, T, C1, A&gt; &lt;-&gt; multimap&lt;K, T, C2, A&gt;</para><para>set&lt;K, C1, A&gt; &lt;-&gt; set&lt;K, C2, A&gt;</para><para>set&lt;K, C1, A&gt; &lt;-&gt; multiset&lt;K, C2, A&gt;</para><para>If a node handle is not empty, then it contains an allocator that is equal to the allocator of the container when the element was extracted. If a node handle is empty, it contains no allocator. </para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a76bc01d659c55b5338e3abd0638ace1f" name="value_type"><type>priv_value_t</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1ac82eb4d8ffc7bb8364c0b01773dad796" name="key_type"><type>keymapped_t::key_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a97f66563f88a866480ac6d6885cd5025" name="mapped_type"><type>keymapped_t::mapped_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1abc9eb9c90dbd5cd3814f9ad46a7d4879" name="allocator_type"><type>nator_traits::template portable_rebind_alloc&lt; value_type &gt;::type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a3a1360a3041f90887d3c8c4d70e0e1f2" name="container_node_type"><type>priv_node_t</type></typedef>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a8b86063217f0e7cd4521287f6e4b8e85" name="swap" cv="noexcept(noexcept(x.swap(y)))"><type>void</type><parameter name="x"><paramtype><classname>node_handle</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype><classname>node_handle</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: x.swap(y). </para></description></method>
</method-group>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a9cc9c59f0b909c2435f07e076e47f67e" cv="noexcept"><description><para><emphasis role="bold">Effects</emphasis>: Initializes m_ptr to nullptr.</para><para><emphasis role="bold">Postcondition</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a468c38bf1da6782c7fbf50dfd25183ea">empty()</link> </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a43adb52500e604f839fc7a0a3570fe63" cv="noexcept"><parameter name="p"><paramtype>node_pointer</paramtype></parameter><parameter name="al"><paramtype>const nallocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle">node_handle</link> object initializing internal pointer with p. If p != nullptr copy constructs internal allocator from al. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1abb83db8e102234d8da7c186121d92e86" cv="noexcept"><template>
          <template-type-parameter name="KeyMapped2"/>
        </template><parameter name="nh"><paramtype><classname>node_handle</classname>&lt; NodeAllocator, KeyMapped2 &gt; &amp;&amp;</paramtype></parameter><parameter name=""><paramtype>typename dtl::enable_if_c&lt;((unsigned) dtl::is_same&lt; KeyMapped, void &gt;::value+(unsigned) dtl::is_same&lt; KeyMapped2, void &gt;::value)==1u &gt;::type *</paramtype><default>0</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle">node_handle</link> object initializing internal pointer with a related nh's internal pointer and assigns nullptr to the later. If nh's internal pointer was not nullptr, move constructs internal allocator with nh's internal allocator and destroy nh's internal allocator.</para><para><emphasis role="bold">Postcondition</emphasis>: nh.empty()</para><para><emphasis role="bold">Note</emphasis>: Two <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle">node_handle</link>'s are related if only one of KeyMapped template parameter of a node handle is void. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a5118301a404f2de93c75b29b02c416ad" cv="noexcept"><parameter name="nh"><paramtype><classname>node_handle</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle">node_handle</link> object initializing internal pointer with nh's internal pointer and assigns nullptr to the later. If nh's internal pointer was not nullptr, move constructs internal allocator with nh's internal allocator and destroy nh's internal allocator.</para><para><emphasis role="bold">Postcondition</emphasis>: nh.empty() </para></description></constructor>
<destructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1ae5cb74869054b532fdabba7f9f8cbeec" cv="noexcept"><description><para><emphasis role="bold">Effects</emphasis>: If !this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a468c38bf1da6782c7fbf50dfd25183ea">empty()</link>, destroys the value_type subobject in the container_node_type object pointed to by c by calling <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a709a15dc30bce1784bdeac20e628eb32">allocator_traits&lt;impl_defined&gt;::destroy</link>, then deallocates m_ptr by calling <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a92aa2dc105cd5b34f73ef8680a0c681e">nator_traits::rebind_traits&lt;container_node_type&gt;::deallocate</link>. </para></description></destructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1ae26d8dcdd87f52ebfe43165f23cc09c2" cv="noexcept"><type><classname>node_handle</classname> &amp;</type><parameter name="nh"><paramtype><classname>node_handle</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: Either this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a468c38bf1da6782c7fbf50dfd25183ea">empty()</link>, or <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a0701b56d932091c18e3c4b78ffc90c80">nator_traits::propagate_on_container_move_assignment</link> is true, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1af1325cead2acf66c8016663c8350cee0">node_alloc()</link> == nh.node_alloc().</para><para><emphasis role="bold">Effects</emphasis>: If m_ptr != nullptr, destroys the value_type subobject in the container_node_type object pointed to by m_ptr by calling <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a709a15dc30bce1784bdeac20e628eb32">nator_traits::destroy</link>, then deallocates m_ptr by calling <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a92aa2dc105cd5b34f73ef8680a0c681e">nator_traits::deallocate</link>. Assigns nh.m_ptr to m_ptr. If this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a468c38bf1da6782c7fbf50dfd25183ea">empty()</link> or <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a0701b56d932091c18e3c4b78ffc90c80">nator_traits::propagate_on_container_move_assignment</link> is true, move assigns nh.node_alloc() to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1af1325cead2acf66c8016663c8350cee0">node_alloc()</link>. Assigns nullptr to nh.m_ptr and assigns nullopt to nh.node_alloc().</para><para><emphasis role="bold">Returns</emphasis>: *this.</para><para><emphasis role="bold">Throws</emphasis>: Nothing. </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a0dcb6d76d1024a1e802d670c3445c60c" name="value" cv="const noexcept"><type>value_type &amp;</type><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a468c38bf1da6782c7fbf50dfd25183ea">empty()</link> == false.</para><para><emphasis role="bold">Returns</emphasis>: A reference to the value_type subobject in the container_node_type object pointed to by m_ptr</para><para><emphasis role="bold">Throws</emphasis>: Nothing. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a887b2748a60e2edc483c724755ec9c8e" name="key" cv="const noexcept"><type>key_type &amp;</type><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a468c38bf1da6782c7fbf50dfd25183ea">empty()</link> == false.</para><para><emphasis role="bold">Returns</emphasis>: A non-const reference to the key_type member of the value_type subobject in the container_node_type object pointed to by m_ptr.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Requires</emphasis>: Modifying the key through the returned reference is permitted. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a1dd83745804abdedbfe9f9416bad8437" name="mapped" cv="const noexcept"><type>mapped_type &amp;</type><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a468c38bf1da6782c7fbf50dfd25183ea">empty()</link> == false.</para><para><emphasis role="bold">Returns</emphasis>: A reference to the mapped_type member of the value_type subobject in the container_node_type object pointed to by m_ptr</para><para><emphasis role="bold">Throws</emphasis>: Nothing. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a862d2fb383fd2f644d8e34e49df1e5e5" name="get_allocator" cv="const"><type>allocator_type</type><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a468c38bf1da6782c7fbf50dfd25183ea">empty()</link> == false.</para><para><emphasis role="bold">Returns</emphasis>: A copy of the internally hold allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1ab90585c6b84481296394495888a0a6b6" name="conversion-operator" cv="const noexcept" specifiers="explicit"><type>bool</type><description><para><emphasis role="bold">Returns</emphasis>: m_ptr != nullptr. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a468c38bf1da6782c7fbf50dfd25183ea" name="empty" cv="const noexcept"><type>bool</type><description><para><emphasis role="bold">Returns</emphasis>: m_ptr == nullptr. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1aa981540e91562a7453159b2023e0e15e" name="swap" cv="noexcept(nator_traits::propagate_on_container_swap::value||nator_traits::is_always_equal::value)"><type>void</type><parameter name="nh"><paramtype><classname>node_handle</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a468c38bf1da6782c7fbf50dfd25183ea">empty()</link>, or nh.empty(), or <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a065d8c668d9a0fc4b7b225d1bb54b498">nator_traits::propagate_on_container_swap</link> is true, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1af1325cead2acf66c8016663c8350cee0">node_alloc()</link> == nh.node_alloc().</para><para><emphasis role="bold">Effects</emphasis>: Calls swap(m_ptr, nh.m_ptr). If this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a468c38bf1da6782c7fbf50dfd25183ea">empty()</link>, or nh.empty(), or nator_traits::propagate_on_- container_swap is true calls swap(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1af1325cead2acf66c8016663c8350cee0">node_alloc()</link>, nh.node_alloc()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a64f3cb4f0a08bcdee221559a2a2d4c81" name="release" cv="noexcept"><type>node_pointer</type><description><para><emphasis role="bold">Effects</emphasis>: If this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a468c38bf1da6782c7fbf50dfd25183ea">empty()</link> returns nullptr, otherwise returns m_ptr resets m_ptr to nullptr and destroys the internal allocator.</para><para><emphasis role="bold">Postcondition</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1a468c38bf1da6782c7fbf50dfd25183ea">empty()</link></para><para><emphasis role="bold">Note</emphasis>: Non-standard extensions </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1aa9dc6248709f56cea3987ffb8a81f36b" name="get" cv="const noexcept"><type>node_pointer</type><description><para><emphasis role="bold">Effects</emphasis>: Returns m_ptr.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extensions </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1af1325cead2acf66c8016663c8350cee0" name="node_alloc" cv="noexcept"><type>nallocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal node allocator.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extensions </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1node__handle_1ad2ada3000b0ce0ddc34354c7f8df64bc" name="node_alloc" cv="const noexcept"><type>const nallocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal node allocator.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extensions </para></description></method>
</method-group>
</class>




















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.options_8hpp" name="boost/container/options.hpp">
<namespace name="boost">
<namespace name="container">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1block__bytes" name="block_bytes"><template>
      <template-nontype-parameter name="BlockBytes"><type>std::size_t</type><purpose><para>An unsigned integer value. </para></purpose></template-nontype-parameter>
    </template><description><para>This option specifies the maximum size of a block in bytes: this delimites the number of contiguous elements that will be allocated by deque as min(1u, BlockBytes/sizeof(value_type)) A value zero represents the default value.</para><para>
</para></description></struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1block__size" name="block_size"><template>
      <template-nontype-parameter name="BlockSize"><type>std::size_t</type></template-nontype-parameter>
    </template><description><para>This option specifies the size of a block, delimites the number of contiguous elements that will be allocated by deque as BlockSize. A value zero represents the default value.</para><para>
</para></description></struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1cache__begin" name="cache_begin"><template>
      <template-nontype-parameter name="Enabled"><type>bool</type></template-nontype-parameter>
    </template><description><para>This option setter specifies if the container will cache the first non-empty bucket so that begin() is O(1) instead of searching for the first non-empty bucket (which can be O(bucket_size())) </para></description></struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1deque__options" name="deque_options"><template>
      <template-nontype-parameter name="Options"><type>class ...</type></template-nontype-parameter>
    </template><description><para>Helper metafunction to combine options into a single type to be used by <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque">boost::container::deque</link></computeroutput>. Supported options are: <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1block__bytes">boost::container::block_bytes</link></computeroutput> and <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1block__size">boost::container::block_size</link></computeroutput> </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1deque__options_1a7d664d4838b86415ee6350d2d2095dff" name="type"><type>implementation_defined</type></typedef>
</struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1devector__options" name="devector_options"><template>
      <template-nontype-parameter name="Options"><type>class ...</type></template-nontype-parameter>
    </template><description><para>Helper metafunction to combine options into a single type to be used by <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector">boost::container::devector</link></computeroutput>. Supported options are: <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1growth__factor">boost::container::growth_factor</link></computeroutput>, <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1stored__size">boost::container::stored_size</link></computeroutput> and <computeroutput>boost::container::relocate_on</computeroutput> </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1devector__options_1a861adb877752e701ca77047be5288f1b" name="type"><type>implementation_defined</type></typedef>
</struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1fastmod__buckets" name="fastmod_buckets"><template>
      <template-nontype-parameter name="Enabled"><type>bool</type></template-nontype-parameter>
    </template></struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1growth__factor" name="growth_factor"><template>
      <template-type-parameter name="GrowthFactor"><purpose><para>A function object that has the following signature:<sbr/>
<sbr/>
 <computeroutput>template&lt;class SizeType&gt;</computeroutput><sbr/>
 <computeroutput>SizeType operator()(SizeType cur_cap, SizeType add_min_cap, SizeType max_cap) const;</computeroutput>.<sbr/>
<sbr/>
 <computeroutput>cur_cap</computeroutput> is the current capacity, <computeroutput>add_min_cap</computeroutput> is the minimum additional capacity we want to achieve and <computeroutput>max_cap</computeroutput> is the maximum capacity that the allocator or other factors allow. The implementation should return a value between <computeroutput>cur_cap</computeroutput> + <computeroutput>add_min_cap</computeroutput> and <computeroutput>max_cap</computeroutput>. <computeroutput>cur_cap</computeroutput> + <computeroutput>add_min_cap</computeroutput> is guaranteed not to overflow/wraparound, but the implementation should handle wraparound produced by the growth factor.</para></purpose></template-type-parameter>
    </template><purpose>defined(BOOST_CONTAINER_DOXYGEN_INVOKED) </purpose><description><para>This option setter specifies the growth factor strategy of the underlying vector.</para><para>
Predefined growth factors that can be passed as arguments to this option are: <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1growth__factor__50">boost::container::growth_factor_50</link></computeroutput> <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1growth__factor__60">boost::container::growth_factor_60</link></computeroutput> <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1growth__factor__100">boost::container::growth_factor_100</link></computeroutput> </para><para>If this option is not specified, a default will be used by the container. </para></description></struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1growth__factor__100" name="growth_factor_100"><description><para>This growth factor argument specifies that the container should increase its capacity a 100% (doubling its capacity) when existing capacity is exhausted. </para></description></struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1growth__factor__50" name="growth_factor_50"><purpose>defined(BOOST_CONTAINER_DOXYGEN_INVOKED) </purpose><description><para>This growth factor argument specifies that the container should increase its capacity a 50% when existing capacity is exhausted. </para></description></struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1growth__factor__60" name="growth_factor_60"><description><para>This growth factor argument specifies that the container should increase its capacity a 60% when existing capacity is exhausted. </para></description></struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1hash__assoc__options" name="hash_assoc_options"><template>
      <template-nontype-parameter name="Options"><type>class ...</type></template-nontype-parameter>
    </template><description><para>Helper metafunction to combine options into a single type to be used by <computeroutput>boost::container::hash_set</computeroutput>, <computeroutput>boost::container::hash_multiset</computeroutput> <computeroutput>boost::container::hash_map</computeroutput> and <computeroutput>boost::container::hash_multimap</computeroutput>. Supported options are: <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1store__hash">boost::container::store_hash</link></computeroutput> </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1hash__assoc__options_1a34323d585eae6183ed61fe6b62d8bd2c" name="type"><type>implementation_defined</type></typedef>
</struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1inplace__alignment" name="inplace_alignment"><template>
      <template-nontype-parameter name="Alignment"><type>std::size_t</type><purpose><para>An unsigned integer value. Must be power of two. </para></purpose></template-nontype-parameter>
    </template><description><para>This option specifies the desired alignment for the value_type stored in the container. A value zero represents the natural alignment.</para><para>
</para></description></struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1linear__buckets" name="linear_buckets"><template>
      <template-nontype-parameter name="Enabled"><type>bool</type></template-nontype-parameter>
    </template></struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1optimize__size" name="optimize_size"><template>
      <template-nontype-parameter name="Enabled"><type>bool</type></template-nontype-parameter>
    </template><description><para>This option setter specifies if node size is optimized storing rebalancing data masked into pointers for ordered associative containers </para></description></struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1small__vector__options" name="small_vector_options"><template>
      <template-nontype-parameter name="Options"><type>class ...</type></template-nontype-parameter>
    </template><purpose>defined(BOOST_CONTAINER_DOXYGEN_INVOKED) </purpose><description><para>Helper metafunction to combine options into a single type to be used by <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector">boost::container::small_vector</link></computeroutput>. Supported options are: <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1growth__factor">boost::container::growth_factor</link></computeroutput>, <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1inplace__alignment">boost::container::inplace_alignment</link></computeroutput> and <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1stored__size">boost::container::stored_size</link></computeroutput>. </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1small__vector__options_1aadddda834917de6e9aa88ec21fc31d19" name="type"><type>implementation_defined</type></typedef>
</struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1static__vector__options" name="static_vector_options"><template>
      <template-nontype-parameter name="Options"><type>class ...</type></template-nontype-parameter>
    </template><purpose>defined(BOOST_CONTAINER_DOXYGEN_INVOKED) </purpose><description><para>Helper metafunction to combine options into a single type to be used by <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">boost::container::static_vector</link></computeroutput>. Supported options are: <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1throw__on__overflow">boost::container::throw_on_overflow</link></computeroutput>, <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1inplace__alignment">boost::container::inplace_alignment</link></computeroutput> and <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1stored__size">boost::container::stored_size</link></computeroutput>. </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1static__vector__options_1a98d1e4854d9f79f91f8afdd463b766e4" name="type"><type>implementation_defined</type></typedef>
</struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1store__hash" name="store_hash"><template>
      <template-nontype-parameter name="Enabled"><type>bool</type></template-nontype-parameter>
    </template><purpose>defined(BOOST_CONTAINER_DOXYGEN_INVOKED) </purpose><description><para>This option setter specifies if nodes also store the hash value so that search and rehashing for hash-expensive types is improved. This option might degrade performance for easy to hash types (like integers) </para></description></struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1stored__size" name="stored_size"><template>
      <template-type-parameter name="StoredSizeType"><purpose><para>An unsigned integer type. It shall be smaller than than the size of the size_type deduced from <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits">allocator_traits</link>&lt;A&gt;::size_type</computeroutput> or the same type.</para></purpose></template-type-parameter>
    </template><description><para>This option specifies the unsigned integer type that a user wants the container to use to hold size-related information inside a container (e.g. current size, current capacity).</para><para>
If the maximum capacity() to be used is limited, a user can try to use 8-bit, 16-bit (e.g. in 32-bit machines), or 32-bit size types (e.g. in a 64 bit machine) to see if some memory can be saved, specially for empty containers. This could potentially improve performance due to better cache usage.</para><para>Note that alignment requirements can disallow theoretical space savings. Example: <computeroutput>vector</computeroutput> holds a pointer and two size types (for size and capacity), in a 32 bit machine a 8 bit size type (total size: 4 byte pointer + 2 x 1 byte sizes = 6 bytes) will not save space when comparing two 16-bit size types because usually a 32 bit alignment is required for vector and the size will be rounded to 8 bytes. In a 64-bit machine a 16 bit size type does not usually save memory when comparing to a 32-bit size type. Measure the size of the resulting container and do not assume a smaller <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1stored__size">stored_size</link></computeroutput> will always lead to a smaller sizeof(container).</para><para>If a user tries to insert more elements than representable by <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1stored__size">stored_size</link></computeroutput>, the container will throw a length_error.</para><para>If this option is not specified, <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits">allocator_traits</link>&lt;A&gt;::size_type</computeroutput> (usually std::size_t) will be used to store size-related information inside the container. </para></description></struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1throw__on__overflow" name="throw_on_overflow"><template>
      <template-nontype-parameter name="ThrowOnOverflow"><type>bool</type></template-nontype-parameter>
    </template><description><para>This option specifies if the container will throw if in the static capacity is not sufficient to hold the required values. If false is specified, insufficient capacity will lead to BOOST_ASSERT, and if this assertion returns, to undefined behaviour, which potentially can lead to better <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> performance. The default value is true.</para><para>
</para></description></struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1tree__assoc__options" name="tree_assoc_options"><template>
      <template-nontype-parameter name="Options"><type>class ...</type></template-nontype-parameter>
    </template><description><para>Helper metafunction to combine options into a single type to be used by <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set">boost::container::set</link></computeroutput>, <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset">boost::container::multiset</link></computeroutput> <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1map">boost::container::map</link></computeroutput> and <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multimap">boost::container::multimap</link></computeroutput>. Supported options are: <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1optimize__size">boost::container::optimize_size</link></computeroutput> and <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1tree__type">boost::container::tree_type</link></computeroutput> </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1tree__assoc__options_1ae2ce648a491286b9620a0c6a896b9d66" name="type"><type>implementation_defined</type></typedef>
</struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1tree__type" name="tree_type"><template>
      <template-nontype-parameter name="TreeType"><type>tree_type_enum</type></template-nontype-parameter>
    </template><purpose>defined(BOOST_CONTAINER_DOXYGEN_INVOKED) </purpose><description><para>This option setter specifies the underlying tree type (red-black, AVL, Scapegoat or Splay) for ordered associative containers </para></description></struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1vector__options" name="vector_options"><template>
      <template-nontype-parameter name="Options"><type>class ...</type></template-nontype-parameter>
    </template><description><para>Helper metafunction to combine options into a single type to be used by <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector">boost::container::vector</link></computeroutput>. Supported options are: <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1growth__factor">boost::container::growth_factor</link></computeroutput> and <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1stored__size">boost::container::stored_size</link></computeroutput> </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1vector__options_1a03a800a64853816ae84c183dcb6cfc2f" name="type"><type>implementation_defined</type></typedef>
</struct><enum id="doxygen.boost_container_header_reference.options_8hpp_1a2be77c95e2e5ba5538bc5a768c72d7f9" name="tree_type_enum"><enumvalue id="doxygen.boost_container_header_reference.options_8hpp_1a2be77c95e2e5ba5538bc5a768c72d7f9af5ae4fd2e2e0d28c2fd8aa160068f216" name="red_black_tree"/><enumvalue id="doxygen.boost_container_header_reference.options_8hpp_1a2be77c95e2e5ba5538bc5a768c72d7f9a7aa7a15d3c381f01d2281e01b294ea9b" name="avl_tree"/><enumvalue id="doxygen.boost_container_header_reference.options_8hpp_1a2be77c95e2e5ba5538bc5a768c72d7f9a3120f2480ed83af121a82bff68dafe64" name="scapegoat_tree"/><enumvalue id="doxygen.boost_container_header_reference.options_8hpp_1a2be77c95e2e5ba5538bc5a768c72d7f9a2c3b8bf2a52f04d3d2ae707843aa2d33" name="splay_tree"/><description><para>Enumeration used to configure ordered associative containers with a concrete tree implementation. </para></description></enum>
<typedef id="doxygen.boost_container_header_reference.options_8hpp_1ab246af62640055029a7409181e967dd5" name="tree_assoc_options_t"><description><para>Helper alias metafunction to combine options into a single type to be used by tree-based associative containers </para></description><type>typename <classname>boost::container::tree_assoc_options</classname>&lt; Options... &gt;::type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.options_8hpp_1aca865d96ef670c0a2ccbdf0cedf30b64" name="hash_assoc_options_t"><description><para>Helper alias metafunction to combine options into a single type to be used by hash-based associative containers </para></description><type>typename <classname>boost::container::hash_assoc_options</classname>&lt; Options... &gt;::type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.options_8hpp_1afead5ae7aff6fc227031a0052de221f4" name="vector_options_t"><description><para>Helper alias metafunction to combine options into a single type to be used by <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector">boost::container::vector</link></computeroutput>. </para></description><type>typename <classname>boost::container::vector_options</classname>&lt; Options... &gt;::type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.options_8hpp_1a8bf980afc2e35ebd53074dd7dee6cce6" name="small_vector_options_t"><description><para>Helper alias metafunction to combine options into a single type to be used by <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector">boost::container::small_vector</link></computeroutput>. </para></description><type>typename <classname>boost::container::small_vector_options</classname>&lt; Options... &gt;::type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.options_8hpp_1afca4afb83c80b5767f7206164af1cd10" name="static_vector_options_t"><description><para>Helper alias metafunction to combine options into a single type to be used by <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">boost::container::static_vector</link></computeroutput>. </para></description><type>typename <classname>boost::container::static_vector_options</classname>&lt; Options... &gt;::type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.options_8hpp_1af6388badffad2b4fd6efcfa45f1ca201" name="devector_options_t"><description><para>Helper alias metafunction to combine options into a single type to be used by <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1devector">boost::container::devector</link></computeroutput>. </para></description><type>typename <classname>boost::container::devector_options</classname>&lt; Options... &gt;::type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.options_8hpp_1a25002f5c2e3108448af87c356e79bb68" name="deque_options_t"><description><para>Helper alias metafunction to combine options into a single type to be used by <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1deque">boost::container::deque</link></computeroutput>. </para></description><type>typename <classname>boost::container::deque_options</classname>&lt; Options... &gt;::type</type></typedef>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.global__resource_8hpp" name="boost/container/pmr/global_resource.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">


<function id="doxygen.boost_container_header_reference.global__resource_8hpp_1af9e9d224dca2bae0438193be830cb7bb" name="new_delete_resource"><type><classname>memory_resource</classname> *</type><description><para><emphasis role="bold">Returns</emphasis>: A pointer to a static-duration object of a type derived from <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource">memory_resource</link> that can serve as a resource for allocating memory using global <computeroutput>operator new</computeroutput> and global <computeroutput>operator delete</computeroutput>. The same value is returned every time this function is called. For return value p and memory resource r, p-&gt;is_equal(r) returns &amp;r == p. </para></description></function>
<function id="doxygen.boost_container_header_reference.global__resource_8hpp_1aa4df7476d5e5cde176ee92e4ef445573" name="null_memory_resource"><type><classname>memory_resource</classname> *</type><description><para><emphasis role="bold">Returns</emphasis>: A pointer to a static-duration object of a type derived from <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource">memory_resource</link> for which allocate() always throws bad_alloc and for which deallocate() has no effect. The same value is returned every time this function is called. For return value p and memory resource r, p-&gt;is_equal(r) returns &amp;r == p. </para></description></function>
<function id="doxygen.boost_container_header_reference.global__resource_8hpp_1ae1c7b6d023abec680af0469bd3176078" name="set_default_resource"><type><classname>memory_resource</classname> *</type><parameter name="r"><paramtype><classname>memory_resource</classname> *</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If r is non-null, sets the value of the default memory resource pointer to r, otherwise sets the default memory resource pointer to new_delete_resource().</para><para><emphasis role="bold">Postconditions</emphasis>: get_default_resource() == r.</para><para><emphasis role="bold">Returns</emphasis>: The previous value of the default memory resource pointer.</para><para><emphasis role="bold">Remarks</emphasis>: Calling the set_default_resource and get_default_resource functions shall not incur a data race. A call to the set_default_resource function shall synchronize with subsequent calls to the set_default_resource and get_default_resource functions. </para></description></function>
<function id="doxygen.boost_container_header_reference.global__resource_8hpp_1a1ba7d94c2f76162dee51635f93f0a47b" name="get_default_resource"><type><classname>memory_resource</classname> *</type><description><para><emphasis role="bold">Returns</emphasis>: The current value of the default memory resource pointer. </para></description></function>
</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.memory__resource_8hpp" name="boost/container/pmr/memory_resource.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource" name="memory_resource"><description><para>The <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource">memory_resource</link> class is an abstract interface to an unbounded set of classes encapsulating memory resources. </para></description><data-member id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a59235d7f56a130627aeb1069ffde130c" name="max_align"><type>BOOST_STATIC_CONSTEXPR std::size_t</type></data-member>
<method-group name="public member functions">
<destructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a264a017013e7abfad94eeaf970404b09" specifiers="virtual"><description><para><emphasis role="bold">Effects</emphasis>: Destroys this <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource">memory_resource</link>. </para></description></destructor>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a1de478d2989e3864278786faa3266696" name="allocate"><type>void *</type><parameter name="bytes"><paramtype>std::size_t</paramtype></parameter><parameter name="alignment"><paramtype>std::size_t</paramtype><default>max_align</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to <computeroutput>return do_allocate(bytes, alignment);</computeroutput> </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1aa74f44777d3da7f278ae7a013607c524" name="deallocate"><type>void</type><parameter name="p"><paramtype>void *</paramtype></parameter><parameter name="bytes"><paramtype>std::size_t</paramtype></parameter><parameter name="alignment"><paramtype>std::size_t</paramtype><default>max_align</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to <computeroutput>return do_deallocate(bytes, alignment);</computeroutput> </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a5916e39e224e95f2047ffac4f60ec942" name="is_equal" cv="const noexcept"><type>bool</type><parameter name="other"><paramtype>const <classname>memory_resource</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to <computeroutput>return do_is_equal(other);</computeroutput> </para></description></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a915f8e3a5ab81bdeb41a3566f0a937bf" name="operator==" cv="noexcept"><type>bool</type><parameter name="a"><paramtype>const <classname>memory_resource</classname> &amp;</paramtype></parameter><parameter name="b"><paramtype>const <classname>memory_resource</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: <computeroutput>&amp;a == &amp;b || a.is_equal(b)</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a438b9568cdcef03a9c280a15f0bf76bd" name="operator!=" cv="noexcept"><type>bool</type><parameter name="a"><paramtype>const <classname>memory_resource</classname> &amp;</paramtype></parameter><parameter name="b"><paramtype>const <classname>memory_resource</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: !(a == b). </para></description></method>
</method-group>
<method-group name="protected member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1ac43d8d65b194cc89bf281bf14be73782" name="do_allocate" cv="= 0" specifiers="virtual"><type>void *</type><parameter name="bytes"><paramtype>std::size_t</paramtype></parameter><parameter name="alignment"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: Alignment shall be a power of two.</para><para><emphasis role="bold">Returns</emphasis>: A derived class shall implement this function to return a pointer to allocated storage with a size of at least bytes. The returned storage is aligned to the specified alignment, if such alignment is supported; otherwise it is aligned to max_align.</para><para><emphasis role="bold">Throws</emphasis>: A derived class implementation shall throw an appropriate exception if it is unable to allocate memory with the requested size and alignment. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a0fd1098bbe6e2e98ad8497d099f8a60f" name="do_deallocate" cv="= 0" specifiers="virtual"><type>void</type><parameter name="p"><paramtype>void *</paramtype></parameter><parameter name="bytes"><paramtype>std::size_t</paramtype></parameter><parameter name="alignment"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p shall have been returned from a prior call to <computeroutput>allocate(bytes, alignment)</computeroutput> on a memory resource equal to *this, and the storage at p shall not yet have been deallocated.</para><para><emphasis role="bold">Effects</emphasis>: A derived class shall implement this function to dispose of allocated storage.</para><para><emphasis role="bold">Throws</emphasis>: Nothing. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a45becc36316abe4d5ff35788150a6aa3" name="do_is_equal" cv="const = 0" specifiers="virtual"><type>bool</type><parameter name="other"><paramtype>const <classname>memory_resource</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A derived class shall implement this function to return true if memory allocated from this can be deallocated from other and vice-versa; otherwise it shall return false. <emphasis>[Note: The most-derived type of other might not match the type of this. For a derived class, D, a typical implementation of this function will compute <computeroutput>dynamic_cast&lt;const D*&gt;(&amp;other)</computeroutput> and go no further (i.e., return false) if it returns nullptr. - end note]</emphasis>. </para></description></method>
</method-group>
</class>





</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.monotonic__buffer__resource_8hpp" name="boost/container/pmr/monotonic_buffer_resource.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource" name="monotonic_buffer_resource"><inherit access="public">boost::container::pmr::memory_resource</inherit><description><para>A <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource">monotonic_buffer_resource</link> is a special-purpose memory resource intended for very fast memory allocations in situations where memory is used to build up a few objects and then is released all at once when the memory resource object is destroyed. It has the following qualities:</para><para><itemizedlist>
<listitem><para>A call to deallocate has no effect, thus the amount of memory consumed increases monotonically until the resource is destroyed.</para>
</listitem><listitem><para>The program can supply an initial buffer, which the allocator uses to satisfy memory requests.</para>
</listitem><listitem><para>When the initial buffer (if any) is exhausted, it obtains additional buffers from an upstream memory resource supplied at construction. Each additional buffer is larger than the previous one, following a geometric progression.</para>
</listitem><listitem><para>It is intended for access from one thread of control at a time. Specifically, calls to allocate and deallocate do not synchronize with one another.</para>
</listitem><listitem><para>It owns the allocated memory and frees it on destruction, even if deallocate has not been called for some of the allocated blocks. </para>
</listitem></itemizedlist>
</para></description><data-member id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1aaced0f58b1df95bd716f281a8ee72c82" name="initial_next_buffer_size"><type>BOOST_STATIC_CONSTEXPR std::size_t</type><description><para>The number of bytes that will be requested by the default in the first call to the upstream allocator</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></data-member>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1a5121629ff1583d4479269cdd2c330857" specifiers="explicit" cv="noexcept"><parameter name="upstream"><paramtype><classname>memory_resource</classname> *</paramtype><default>0</default></parameter><description><para><emphasis role="bold">Requires</emphasis>: <computeroutput>upstream</computeroutput> shall be the address of a valid memory resource or <computeroutput>nullptr</computeroutput></para><para><emphasis role="bold">Effects</emphasis>: If <computeroutput>upstream</computeroutput> is not nullptr, sets the internal resource to <computeroutput>upstream</computeroutput>, to get_default_resource() otherwise. Sets the internal <computeroutput>current_buffer</computeroutput> to <computeroutput>nullptr</computeroutput> and the internal <computeroutput>next_buffer_size</computeroutput> to an implementation-defined size. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1adee4d0a273186fe6264153a414773074" specifiers="explicit" cv="noexcept"><parameter name="initial_size"><paramtype>std::size_t</paramtype></parameter><parameter name="upstream"><paramtype><classname>memory_resource</classname> *</paramtype><default>0</default></parameter><description><para><emphasis role="bold">Requires</emphasis>: <computeroutput>upstream</computeroutput> shall be the address of a valid memory resource or <computeroutput>nullptr</computeroutput> and <computeroutput>initial_size</computeroutput> shall be greater than zero.</para><para><emphasis role="bold">Effects</emphasis>: If <computeroutput>upstream</computeroutput> is not nullptr, sets the internal resource to <computeroutput>upstream</computeroutput>, to get_default_resource() otherwise. Sets the internal <computeroutput>current_buffer</computeroutput> to <computeroutput>nullptr</computeroutput> and <computeroutput>next_buffer_size</computeroutput> to at least <computeroutput>initial_size</computeroutput>. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1a3d06a8ba55b927d17b26673145a9e887" cv="noexcept"><parameter name="buffer"><paramtype>void *</paramtype></parameter><parameter name="buffer_size"><paramtype>std::size_t</paramtype></parameter><parameter name="upstream"><paramtype><classname>memory_resource</classname> *</paramtype><default>0</default></parameter><description><para><emphasis role="bold">Requires</emphasis>: <computeroutput>upstream</computeroutput> shall be the address of a valid memory resource or <computeroutput>nullptr</computeroutput>, <computeroutput>buffer_size</computeroutput> shall be no larger than the number of bytes in buffer.</para><para><emphasis role="bold">Effects</emphasis>: If <computeroutput>upstream</computeroutput> is not nullptr, sets the internal resource to <computeroutput>upstream</computeroutput>, to get_default_resource() otherwise. Sets the internal <computeroutput>current_buffer</computeroutput> to <computeroutput>buffer</computeroutput>, and <computeroutput>next_buffer_size</computeroutput> to <computeroutput>buffer_size</computeroutput> (but not less than an implementation-defined size), then increases <computeroutput>next_buffer_size</computeroutput> by an implementation-defined growth factor (which need not be integral). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1a24af48ef0d32d5af698b8004207c7adf" cv="= delete"><parameter name=""><paramtype>const <classname>monotonic_buffer_resource</classname> &amp;</paramtype></parameter></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1a209f7065f03c607af37c164a7501b4cb" cv="= delete"><type><classname>monotonic_buffer_resource</classname></type><parameter name=""><paramtype>const <classname>monotonic_buffer_resource</classname> &amp;</paramtype></parameter></copy-assignment>
<destructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1a44fee8ecbc9cd126f613634ac12ddc5b"><description><para><emphasis role="bold">Effects</emphasis>: Calls <computeroutput>this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1a1b1e7ae2177ce78c0489a26bca89ac56">release()</link></computeroutput>. </para></description></destructor>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1a1b1e7ae2177ce78c0489a26bca89ac56" name="release" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1a16147fd48a1b7aab6f3aa19fc39275c0">upstream_resource()</link>-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1aa74f44777d3da7f278ae7a013607c524">deallocate()</link></computeroutput> as necessary to release all allocated memory. [Note: memory is released back to <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1a16147fd48a1b7aab6f3aa19fc39275c0">upstream_resource()</link></computeroutput> even if some blocks that were allocated from this have not been deallocated from this. - end note] </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1a16147fd48a1b7aab6f3aa19fc39275c0" name="upstream_resource" cv="const noexcept"><type><classname>memory_resource</classname> *</type><description><para><emphasis role="bold">Returns</emphasis>: The value of the internal resource. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1a2e738a0771626a2cb4d8777d28988932" name="remaining_storage" cv="const noexcept"><type>std::size_t</type><parameter name="alignment"><paramtype>std::size_t</paramtype></parameter><parameter name="wasted_due_to_alignment"><paramtype>std::size_t &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: The number of bytes of storage available for the specified alignment and the number of bytes wasted due to the requested alignment.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1a5f6da0cd40b51f531afed443e7f91281" name="remaining_storage" cv="const noexcept"><type>std::size_t</type><parameter name="alignment"><paramtype>std::size_t</paramtype><default>1u</default></parameter><description><para><emphasis role="bold">Returns</emphasis>: The number of bytes of storage available for the specified alignment.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1ab0af303db08e0f558bf77caad6d9bd1f" name="current_buffer" cv="const noexcept"><type>const void *</type><description><para><emphasis role="bold">Returns</emphasis>: The address pointing to the start of the current free storage.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1acdc01da824b8ef7c756f054a662a545a" name="next_buffer_size" cv="const noexcept"><type>std::size_t</type><description><para><emphasis role="bold">Returns</emphasis>: The number of bytes that will be requested for the next buffer once the current one is exhausted.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
</method-group>
<method-group name="protected member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1aa82f36ca6cfc9ba78c101249c33db570" name="do_allocate" specifiers="virtual"><type>void *</type><parameter name="bytes"><paramtype>std::size_t</paramtype></parameter><parameter name="alignment"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A pointer to allocated storage with a size of at least <computeroutput>bytes</computeroutput>. The size and alignment of the allocated memory shall meet the requirements for a class derived from <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource">memory_resource</link></computeroutput>.</para><para><emphasis role="bold">Effects</emphasis>: If the unused space in the internal <computeroutput>current_buffer</computeroutput> can fit a block with the specified bytes and alignment, then allocate the return block from the internal <computeroutput>current_buffer</computeroutput>; otherwise sets the internal <computeroutput>current_buffer</computeroutput> to <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1a16147fd48a1b7aab6f3aa19fc39275c0">upstream_resource()</link>-&gt;allocate(n, m)</computeroutput>, where <computeroutput>n</computeroutput> is not less than <computeroutput>max(bytes, next_buffer_size)</computeroutput> and <computeroutput>m</computeroutput> is not less than alignment, and increase <computeroutput>next_buffer_size</computeroutput> by an implementation-defined growth factor (which need not be integral), then allocate the return block from the newly-allocated internal <computeroutput>current_buffer</computeroutput>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1a16147fd48a1b7aab6f3aa19fc39275c0">upstream_resource()</link>-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a1de478d2989e3864278786faa3266696">allocate()</link></computeroutput> throws. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1a24463533d03da54eadf81f6467fc3863" name="do_deallocate" cv="noexcept" specifiers="virtual"><type>void</type><parameter name="p"><paramtype>void *</paramtype></parameter><parameter name="bytes"><paramtype>std::size_t</paramtype></parameter><parameter name="alignment"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: None</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Remarks</emphasis>: Memory used by this resource increases monotonically until its destruction. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1monotonic__buffer__resource_1a618de21e36be248675eb26bb01656a17" name="do_is_equal" cv="const noexcept" specifiers="virtual"><type>bool</type><parameter name="other"><paramtype>const <classname>memory_resource</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: <computeroutput>this == dynamic_cast&lt;const monotonic_buffer_resource*&gt;(&amp;other)</computeroutput>. </para></description></method>
</method-group>
</class>





</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.polymorphic__allocator_8hpp" name="boost/container/pmr/polymorphic_allocator.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator" name="polymorphic_allocator"><template>
      <template-type-parameter name="T"/>
    </template><description><para>A specialization of class template <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator">polymorphic_allocator</link></computeroutput> conforms to the Allocator requirements. Constructed with different memory resources, different instances of the same specialization of <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator">polymorphic_allocator</link></computeroutput> can exhibit entirely different allocation behavior. This runtime polymorphism allows objects that use <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator">polymorphic_allocator</link> to behave as if they used different allocator types at run time even though they use the same static allocator type. </para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator_1acbf5252e1b98fcb26ae841c62f1babd8" name="value_type"><type>T</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator_1a903a6365cd6531b942274de4b54b9898" cv="noexcept"><description><para><emphasis role="bold">Effects</emphasis>: Sets m_resource to <computeroutput>get_default_resource()</computeroutput>. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator_1af72c72dc5d7c5d0b6e63108c8ef60f24" cv="noexcept"><parameter name="r"><paramtype><classname>memory_resource</classname> *</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: r is non-null.</para><para><emphasis role="bold">Effects</emphasis>: Sets m_resource to r.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Notes</emphasis>: This constructor provides an implicit conversion from memory_resource*. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator_1ab72be65f312262d47ae13d8a6f7d8cdd" cv="noexcept"><parameter name="other"><paramtype>const <classname>polymorphic_allocator</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Sets m_resource to other.resource(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator_1a56ec51004c0912346adeee89c050fbcd" cv="noexcept"><template>
          <template-type-parameter name="U"/>
        </template><parameter name="other"><paramtype>const <classname>polymorphic_allocator</classname>&lt; U &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Sets m_resource to other.resource(). </para></description></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator_1ac766516e0a231fa87a1829a721fdf522" cv="noexcept"><type><classname>polymorphic_allocator</classname> &amp;</type><parameter name="other"><paramtype>const <classname>polymorphic_allocator</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Sets m_resource to other.resource(). </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator_1aac8a10e8f29b3faf7486c10c8f828a12" name="allocate"><type>T *</type><parameter name="n"><paramtype>size_t</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: Equivalent to <computeroutput>static_cast&lt;T*&gt;(m_resource-&gt;allocate(n * sizeof(T), alignof(T)))</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator_1a10b6b6944999587d998298f9d2d5eeb1" name="deallocate" cv="noexcept"><type>void</type><parameter name="p"><paramtype>T *</paramtype></parameter><parameter name="n"><paramtype>size_t</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p was allocated from a memory resource, x, equal to *m_resource, using <computeroutput>x.allocate(n * sizeof(T), alignof(T))</computeroutput>.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to m_resource-&gt;deallocate(p, n * sizeof(T), alignof(T)).</para><para><emphasis role="bold">Throws</emphasis>: Nothing. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator_1a0a929452cae59a36bf63680a8b9b2bb4" name="construct"><type>void</type><template>
          <template-type-parameter name="U"/>
          <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
        </template><parameter name="p"><paramtype>U *</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: Uses-allocator construction of T with allocator <computeroutput>*this</computeroutput> and constructor arguments <computeroutput>std::forward&lt;Args&gt;(args)...</computeroutput> is well-formed. [Note: uses-allocator construction is always well formed for types that do not use allocators. - end note]</para><para><emphasis role="bold">Effects</emphasis>: Construct a T object at p by uses-allocator construction with allocator <computeroutput>*this</computeroutput> and constructor arguments <computeroutput>std::forward&lt;Args&gt;(args)...</computeroutput>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless the constructor for T throws. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator_1a2a156baa95fff10b154ef87438870da7" name="destroy"><type>void</type><template>
          <template-type-parameter name="U"/>
        </template><parameter name="p"><paramtype>U *</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: p-&gt;~U(). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator_1a9e571abe4380453452c8120ade93271e" name="select_on_container_copy_construction" cv="const noexcept"><type><classname>polymorphic_allocator</classname></type><description><para><emphasis role="bold">Returns</emphasis>: Equivalent to <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator_1a903a6365cd6531b942274de4b54b9898">polymorphic_allocator()</link></computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1polymorphic__allocator_1a52e04c3a93fa1beae71ee2b5a39a5de6" name="resource" cv="const noexcept"><type><classname>memory_resource</classname> *</type><description><para><emphasis role="bold">Returns</emphasis>: m_resource. </para></description></method>
</method-group>
</class><function id="doxygen.boost_container_header_reference.polymorphic__allocator_8hpp_1a84424509f4a6f9f0b942a83105987165" name="operator=="><type>bool</type><template>
          <template-type-parameter name="T1"/>
          <template-type-parameter name="T2"/>
        </template><parameter name="a"><paramtype>const <classname>polymorphic_allocator</classname>&lt; T1 &gt; &amp;</paramtype></parameter><parameter name="b"><paramtype>const <classname>polymorphic_allocator</classname>&lt; T2 &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: <computeroutput>*a.resource() == *b.resource()</computeroutput>. </para></description></function>
<function id="doxygen.boost_container_header_reference.polymorphic__allocator_8hpp_1a11348114f07bfad09bcabe3c1d00f454" name="operator!="><type>bool</type><template>
          <template-type-parameter name="T1"/>
          <template-type-parameter name="T2"/>
        </template><parameter name="a"><paramtype>const <classname>polymorphic_allocator</classname>&lt; T1 &gt; &amp;</paramtype></parameter><parameter name="b"><paramtype>const <classname>polymorphic_allocator</classname>&lt; T2 &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: <computeroutput>! (a == b)</computeroutput>. </para></description></function>




</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.pool__options_8hpp" name="boost/container/pmr/pool_options.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1pool__options" name="pool_options"><description><para>The members of <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1pool__options">pool_options</link> comprise a set of constructor options for pool resources. The effect of each option on the pool resource behavior is described below:</para><para><itemizedlist>
<listitem><para><computeroutput>std::size_t max_blocks_per_chunk</computeroutput>: The maximum number of blocks that will be allocated at once from the upstream memory resource to replenish a pool. If the value of <computeroutput>max_blocks_per_chunk</computeroutput> is zero or is greater than an implementation-defined limit, that limit is used instead. The implementation may choose to use a smaller value than is specified in this field and may use different values for different pools.</para>
</listitem><listitem><para><computeroutput>std::size_t largest_required_pool_block</computeroutput>: The largest allocation size that is required to be fulfilled using the pooling mechanism. Attempts to allocate a single block larger than this threshold will be allocated directly from the upstream memory resource. If largest_required_pool_block is zero or is greater than an implementation-defined limit, that limit is used instead. The implementation may choose a pass-through threshold larger than specified in this field. </para>
</listitem></itemizedlist>
</para></description><data-member id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1pool__options_1aa02fb94a3ba8c19d64041b08981bd8bf" name="max_blocks_per_chunk"><type>std::size_t</type></data-member>
<data-member id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1pool__options_1a1b42d1d627c9529e4792630783e306f7" name="largest_required_pool_block"><type>std::size_t</type></data-member>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1pool__options_1ad433da6a2dc7ceb60bb41879145a14f9"/>
</method-group>
</struct>





</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.resource__adaptor_8hpp" name="boost/container/pmr/resource_adaptor.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp" name="resource_adaptor_imp"><template>
      <template-type-parameter name="Allocator"/>
    </template><inherit access="public">boost::container::pmr::memory_resource</inherit><description><para>An instance of resource_adaptor&lt;Allocator&gt; is an adaptor that wraps a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource">memory_resource</link> interface around Allocator. In order that resource_adaptor&lt;X&lt;T&gt;&gt; and resource_adaptor&lt;X&lt;U&gt;&gt; are the same type for any allocator template X and types T and U, resource_adaptor&lt;Allocator&gt; is rendered as an alias to this class template such that Allocator is rebound to a char value type in every specialization of the class template. The requirements on this class template are defined below. In addition to the Allocator requirements, the parameter to resource_adaptor shall meet the following additional requirements:</para><para><itemizedlist>
<listitem><para><computeroutput>typename <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits">allocator_traits</link>&lt;Allocator&gt;:: pointer</computeroutput> shall be identical to <computeroutput>typename <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits">allocator_traits</link>&lt;Allocator&gt;:: value_type*</computeroutput>.</para>
</listitem><listitem><para><computeroutput>typename <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits">allocator_traits</link>&lt;Allocator&gt;:: const_pointer</computeroutput> shall be identical to <computeroutput>typename <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits">allocator_traits</link>&lt;Allocator&gt;:: value_type const*</computeroutput>.</para>
</listitem><listitem><para><computeroutput>typename <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits">allocator_traits</link>&lt;Allocator&gt;:: void_pointer</computeroutput> shall be identical to <computeroutput>void*</computeroutput>.</para>
</listitem><listitem><para><computeroutput>typename <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits">allocator_traits</link>&lt;Allocator&gt;:: const_void_pointer</computeroutput> shall be identical to <computeroutput>void const*</computeroutput>. </para>
</listitem></itemizedlist>
</para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1af9a018ba01e06bdd51313c09e6865176" name="allocator_type"><type>Allocator</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1af56db01116f717f5b0c9b387116dc3d8"><description><para><emphasis role="bold">Effects</emphasis>: Default constructs m_alloc. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1aa2444a0ef97481e312cc4eeeb3813093"><parameter name="other"><paramtype>const <classname>resource_adaptor_imp</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs m_alloc. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1a45ac8825bed2d5a8e2221f05463905c9"><parameter name="other"><paramtype><classname>resource_adaptor_imp</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs m_alloc. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1a14b7f740ae1d0e82ed2d4028a1123a5a" specifiers="explicit"><parameter name="a2"><paramtype>const Allocator &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Initializes m_alloc with a2. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1a49515a68d4d91df50e0b9e1b11f1b57b" specifiers="explicit"><parameter name="a2"><paramtype>Allocator &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Initializes m_alloc with a2. </para></description></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1aa1335655a4ebbcef0e2dbbada75027a9"><type><classname>resource_adaptor_imp</classname> &amp;</type><parameter name="other"><paramtype>const <classname>resource_adaptor_imp</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy assigns m_alloc. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1a7353d4d842b5160a5c7f6136e5f7ea41"><type><classname>resource_adaptor_imp</classname> &amp;</type><parameter name="other"><paramtype><classname>resource_adaptor_imp</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move assigns m_alloc. </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1ada05c83bb4cb886ab3d8114db25677f3" name="get_allocator"><type>allocator_type &amp;</type><purpose><emphasis role="bold">Effects</emphasis>: Returns m_alloc. </purpose></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1af126cc2430ac45de9b2aa537c608a2f5" name="get_allocator" cv="const"><type>const allocator_type &amp;</type><purpose><emphasis role="bold">Effects</emphasis>: Returns m_alloc. </purpose></method>
</method-group>
<method-group name="protected member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1a669a8976bcc5837a1210c09a47208049" name="do_allocate" specifiers="virtual"><type>void *</type><parameter name="bytes"><paramtype>std::size_t</paramtype></parameter><parameter name="alignment"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: Allocated memory obtained by calling m_alloc.allocate. The size and alignment of the allocated memory shall meet the requirements for a class derived from <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource">memory_resource</link>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1a18066d3664add3dbbac013ecb343b750" name="do_deallocate" specifiers="virtual"><type>void</type><parameter name="p"><paramtype>void *</paramtype></parameter><parameter name="bytes"><paramtype>std::size_t</paramtype></parameter><parameter name="alignment"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p was previously allocated using A.allocate, where A == m_alloc, and not subsequently deallocated.</para><para><emphasis role="bold">Effects</emphasis>: Returns memory to the allocator using m_alloc.deallocate(). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1ae4ea7d760669e0086102390575ddc6a9" name="do_is_equal" cv="const noexcept" specifiers="virtual"><type>bool</type><parameter name="other"><paramtype>const <classname>memory_resource</classname> &amp;</paramtype></parameter><description><para>Let p be dynamic_cast&lt;const resource_adaptor_imp*&gt;(&amp;other).</para><para><emphasis role="bold">Returns</emphasis>: false if p is null, otherwise the value of m_alloc == p-&gt;m_alloc. </para></description></method>
</method-group>
<method-group name="private member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1a4d6a8c35b256bc96ce4d3daf36f369e9" name="priv_aligned_alloc"><type>void *</type><parameter name="bytes"><paramtype>std::size_t</paramtype></parameter><parameter name="alignment"><paramtype>std::size_t</paramtype></parameter></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1a357dc8a4f9920c4c18674a4ae15ac6c0" name="priv_aligned_dealloc"><type>void</type><parameter name="aligned_ptr"><paramtype>void *</paramtype></parameter><parameter name="bytes"><paramtype>std::size_t</paramtype></parameter><parameter name="alignment"><paramtype>std::size_t</paramtype></parameter></method>
</method-group>
<method-group name="private static functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1a4db983eb5be94059b9694c48557e9832" name="priv_bookeeping_addr_from_aligned_ptr" specifiers="static"><type>void *</type><parameter name="aligned_ptr"><paramtype>void *</paramtype></parameter></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1aa0160bc678cfcaa293153c9ab1203fbe" name="priv_extra_bytes_for_overalignment" specifiers="static"><type>std::size_t</type><parameter name="alignment"><paramtype>std::size_t</paramtype></parameter></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp_1a093bb53a6b2348d6690b6a5809bef8c9" name="priv_guaranteed_allocator_alignment" specifiers="static"><type>std::size_t</type></method>
</method-group>
</class><typedef id="doxygen.boost_container_header_reference.resource__adaptor_8hpp_1a34dd8858b651ea7728ea423a8c70676b" name="resource_adaptor"><description><para><computeroutput>resource_adaptor&lt;Allocator&gt;</computeroutput> is rendered as an alias to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1resource__adaptor__imp">resource_adaptor_imp</link> class template such that Allocator is rebound to a char value type. </para></description><type><classname>resource_adaptor_imp</classname>&lt; typename <classname>allocator_traits</classname>&lt; Allocator &gt;::template rebind_alloc&lt; char &gt; &gt;</type></typedef>






</namespace>
<namespace name="pmr_dtl">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr__dtl_1_1max__allocator__alignment" name="max_allocator_alignment"><template>
      <template-type-parameter name="T"/>
    </template><data-member id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr__dtl_1_1max__allocator__alignment_1a5604eac4fad3b828723998438ca0f320" name="value"><type>BOOST_STATIC_CONSTEXPR std::size_t</type></data-member>
</struct><struct-specialization id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr__dtl_1_1max__allocator__alignment_3_01_1_1boost_1_1container_1_1new__allocator_3_01T_01_4_01_4" name="max_allocator_alignment"><template>
      <template-type-parameter name="T"/>
    </template><specialization><template-arg>::boost::container::new_allocator&lt; T &gt;</template-arg></specialization><data-member id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr__dtl_1_1max__allocator__alignment_3_01_1_1boost_1_1container_1_1new__allocator_3_01T_01_4_01_4_1a7161687b442ec88440752f03b26982cc" name="value"><type>BOOST_STATIC_CONSTEXPR std::size_t</type></data-member>
</struct-specialization><struct-specialization id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr__dtl_1_1max__allocator__alignment_3_01std_1_1allocator_3_01T_01_4_01_4" name="max_allocator_alignment"><template>
      <template-type-parameter name="T"/>
    </template><specialization><template-arg>std::allocator&lt; T &gt;</template-arg></specialization><data-member id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr__dtl_1_1max__allocator__alignment_3_01std_1_1allocator_3_01T_01_4_01_4_1ada83e529ebd305d5faebe6e2898037c5" name="value"><type>BOOST_STATIC_CONSTEXPR std::size_t</type></data-member>
</struct-specialization></namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.synchronized__pool__resource_8hpp" name="boost/container/pmr/synchronized_pool_resource.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource" name="synchronized_pool_resource"><inherit access="public">boost::container::pmr::memory_resource</inherit><description><para>A <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource">synchronized_pool_resource</link> is a general-purpose memory resources having the following qualities:</para><para><itemizedlist>
<listitem><para>Each resource owns the allocated memory, and frees it on destruction, even if deallocate has not been called for some of the allocated blocks.</para>
</listitem><listitem><para>A pool resource consists of a collection of pools, serving requests for different block sizes. Each individual pool manages a collection of chunks that are in turn divided into blocks of uniform size, returned via calls to do_allocate. Each call to do_allocate(size, alignment) is dispatched to the pool serving the smallest blocks accommodating at least size bytes.</para>
</listitem><listitem><para>When a particular pool is exhausted, allocating a block from that pool results in the allocation of an additional chunk of memory from the upstream allocator (supplied at construction), thus replenishing the pool. With each successive replenishment, the chunk size obtained increases geometrically. [ Note: By allocating memory in chunks, the pooling strategy increases the chance that consecutive allocations will be close together in memory. - end note ]</para>
</listitem><listitem><para>Allocation requests that exceed the largest block size of any pool are fulfilled directly from the upstream allocator.</para>
</listitem><listitem><para>A <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1pool__options">pool_options</link> struct may be passed to the pool resource constructors to tune the largest block size and the maximum chunk size.</para>
</listitem></itemizedlist>
</para><para>A <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource">synchronized_pool_resource</link> may be accessed from multiple threads without external synchronization and may have thread-specific pools to reduce synchronization costs. </para></description><method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1ae05ad43af64a277482f96107eed071aa" cv="noexcept"><parameter name="opts"><paramtype>const <classname>pool_options</classname> &amp;</paramtype></parameter><parameter name="upstream"><paramtype><classname>memory_resource</classname> *</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <computeroutput>upstream</computeroutput> is the address of a valid memory resource.</para><para><emphasis role="bold">Effects</emphasis>: Constructs a pool resource object that will obtain memory from upstream whenever the pool resource is unable to satisfy a memory request from its own internal data structures. The resulting object will hold a copy of upstream, but will not own the resource to which upstream points. [ Note: The intention is that calls to upstream-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a1de478d2989e3864278786faa3266696">allocate()</link> will be substantially fewer than calls to this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a1de478d2989e3864278786faa3266696">allocate()</link> in most cases. - end note The behavior of the pooling mechanism is tuned according to the value of the opts argument.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless upstream-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a1de478d2989e3864278786faa3266696">allocate()</link> throws. It is unspecified if or under what conditions this constructor calls upstream-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a1de478d2989e3864278786faa3266696">allocate()</link>.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a0ea3b6ecbfe918ed3e3e30c967d7fbd5" cv="noexcept"><description><para><emphasis role="bold">Effects</emphasis>: Same as <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource">unsynchronized_pool_resource</link>(pool_options(), get_default_resource())</computeroutput>.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1afb4cecccfa0b5e1facc6411762709b7c" specifiers="explicit" cv="noexcept"><parameter name="upstream"><paramtype><classname>memory_resource</classname> *</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Same as <computeroutput>unsynchronized_pool_resource(pool_options(), upstream)</computeroutput>.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1ab15c1db85434da80b0bfffa9f50fbfd1" specifiers="explicit" cv="noexcept"><parameter name="opts"><paramtype>const <classname>pool_options</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Same as <computeroutput>unsynchronized_pool_resource(opts, get_default_resource())</computeroutput>.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a705cba9c74b3521892cffc3758c0a583" cv="= delete"><parameter name=""><paramtype>const <classname>synchronized_pool_resource</classname> &amp;</paramtype></parameter></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a0dc41a1a399a113d99851ac991b26eff" cv="= delete"><type><classname>synchronized_pool_resource</classname></type><parameter name=""><paramtype>const <classname>synchronized_pool_resource</classname> &amp;</paramtype></parameter></copy-assignment>
<destructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1abe66ce0c4086e36c1900db7b82a22bd1"><description><para><emphasis role="bold">Effects</emphasis>: Calls <computeroutput>this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1ac31afbc8d8665395d846c4ef8cc2dc2c">release()</link></computeroutput>.   </para></description></destructor>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1ac31afbc8d8665395d846c4ef8cc2dc2c" name="release"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Calls Calls <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a6ed61081d4ea9e4c97117caf7dd00d36">upstream_resource()</link>-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1aa74f44777d3da7f278ae7a013607c524">deallocate()</link></computeroutput> as necessary to release all allocated memory. [ Note: memory is released back to <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a6ed61081d4ea9e4c97117caf7dd00d36">upstream_resource()</link></computeroutput> even if deallocate has not been called for some of the allocated blocks. - end note ]   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a6ed61081d4ea9e4c97117caf7dd00d36" name="upstream_resource" cv="const"><type><classname>memory_resource</classname> *</type><description><para><emphasis role="bold">Returns</emphasis>: The value of the upstream argument provided to the constructor of this object.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a6380296dffec2d10d325f51b792de4de" name="options" cv="const"><type><classname>pool_options</classname></type><description><para><emphasis role="bold">Returns</emphasis>: The options that control the pooling behavior of this resource. The values in the returned struct may differ from those supplied to the pool resource constructor in that values of zero will be replaced with implementation-defined defaults and sizes may be rounded to unspecified granularity.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a8a55608adab8884aa12fa69801912469" name="pool_count" cv="const"><type>std::size_t</type><description><para><emphasis role="bold">Returns</emphasis>: The number of pools that will be used in the pool resource.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a212b7b4a6f0c3de94dd875b5dc353a6b" name="pool_index" cv="const"><type>std::size_t</type><parameter name="bytes"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: The index of the pool that will be used to serve the allocation of <computeroutput>bytes</computeroutput>. Returns <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a8a55608adab8884aa12fa69801912469">pool_count()</link></computeroutput> if <computeroutput>bytes</computeroutput> is bigger than <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a6380296dffec2d10d325f51b792de4de">options()</link>.largest_required_pool_block</computeroutput> (no pool will be used to serve this).</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a581b091efb98e34a7423d49c299f1b03" name="pool_next_blocks_per_chunk" cv="const"><type>std::size_t</type><parameter name="pool_idx"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <computeroutput>pool_idx &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a212b7b4a6f0c3de94dd875b5dc353a6b">pool_index()</link></computeroutput></para><para><emphasis role="bold">Returns</emphasis>: The number blocks that will be allocated in the next chunk from the pool specified by <computeroutput>pool_idx</computeroutput>.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1aa9263dc4058a922879512746ce68d624" name="pool_block" cv="const"><type>std::size_t</type><parameter name="pool_idx"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <computeroutput>pool_idx &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a212b7b4a6f0c3de94dd875b5dc353a6b">pool_index()</link></computeroutput></para><para><emphasis role="bold">Returns</emphasis>: The number of bytes of the block that the specified <computeroutput>pool_idx</computeroutput> pool manages.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a8aad326cda6abe667da3c0521d2da7c9" name="pool_cached_blocks" cv="const"><type>std::size_t</type><parameter name="pool_idx"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <computeroutput>pool_idx &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a212b7b4a6f0c3de94dd875b5dc353a6b">pool_index()</link></computeroutput></para><para><emphasis role="bold">Returns</emphasis>: The number of blocks that the specified <computeroutput>pool_idx</computeroutput> pool has cached and will be served without calling the upstream_allocator.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension.   </para></description></method>
</method-group>
<method-group name="protected member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a8faf9d7d35859f247b73508125f004b0" name="do_allocate" specifiers="virtual"><type>void *</type><parameter name="bytes"><paramtype>std::size_t</paramtype></parameter><parameter name="alignment"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A pointer to allocated storage with a size of at least <computeroutput>bytes</computeroutput>. The size and alignment of the allocated memory shall meet the requirements for a class derived from <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource">memory_resource</link></computeroutput>.</para><para><emphasis role="bold">Effects</emphasis>: If the pool selected for a block of size bytes is unable to satisfy the memory request from its own internal data structures, it will call <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a6ed61081d4ea9e4c97117caf7dd00d36">upstream_resource()</link>-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a1de478d2989e3864278786faa3266696">allocate()</link></computeroutput> to obtain more memory. If <computeroutput>bytes</computeroutput> is larger than that which the largest pool can handle, then memory will be allocated using <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a6ed61081d4ea9e4c97117caf7dd00d36">upstream_resource()</link>-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a1de478d2989e3864278786faa3266696">allocate()</link></computeroutput>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a6ed61081d4ea9e4c97117caf7dd00d36">upstream_resource()</link>-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a1de478d2989e3864278786faa3266696">allocate()</link></computeroutput> throws.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a6c42876f97111ff70cfe2f9882d47272" name="do_deallocate" specifiers="virtual"><type>void</type><parameter name="p"><paramtype>void *</paramtype></parameter><parameter name="bytes"><paramtype>std::size_t</paramtype></parameter><parameter name="alignment"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Return the memory at p to the pool. It is unspecified if or under what circumstances this operation will result in a call to <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1a6ed61081d4ea9e4c97117caf7dd00d36">upstream_resource()</link>-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1aa74f44777d3da7f278ae7a013607c524">deallocate()</link></computeroutput>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1synchronized__pool__resource_1aa09c7055faef91cbfff73f6d110d6cc1" name="do_is_equal" cv="const noexcept" specifiers="virtual"><type>bool</type><parameter name="other"><paramtype>const <classname>memory_resource</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: <computeroutput>this == dynamic_cast&lt;const unsynchronized_pool_resource*&gt;(&amp;other)</computeroutput>.   </para></description></method>
</method-group>
</class>





</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.unsynchronized__pool__resource_8hpp" name="boost/container/pmr/unsynchronized_pool_resource.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource" name="unsynchronized_pool_resource"><inherit access="public">boost::container::pmr::memory_resource</inherit><description><para>A <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource">unsynchronized_pool_resource</link> is a general-purpose memory resources having the following qualities:</para><para><itemizedlist>
<listitem><para>Each resource owns the allocated memory, and frees it on destruction, even if deallocate has not been called for some of the allocated blocks.</para>
</listitem><listitem><para>A pool resource consists of a collection of pools, serving requests for different block sizes. Each individual pool manages a collection of chunks that are in turn divided into blocks of uniform size, returned via calls to do_allocate. Each call to do_allocate(size, alignment) is dispatched to the pool serving the smallest blocks accommodating at least size bytes.</para>
</listitem><listitem><para>When a particular pool is exhausted, allocating a block from that pool results in the allocation of an additional chunk of memory from the upstream allocator (supplied at construction), thus replenishing the pool. With each successive replenishment, the chunk size obtained increases geometrically. [ Note: By allocating memory in chunks, the pooling strategy increases the chance that consecutive allocations will be close together in memory. - end note ]</para>
</listitem><listitem><para>Allocation requests that exceed the largest block size of any pool are fulfilled directly from the upstream allocator.</para>
</listitem><listitem><para>A <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1pool__options">pool_options</link> struct may be passed to the pool resource constructors to tune the largest block size and the maximum chunk size.</para>
</listitem></itemizedlist>
</para><para>An <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource">unsynchronized_pool_resource</link> class may not be accessed from multiple threads simultaneously and thus avoids the cost of synchronization entirely in single-threaded applications. </para></description><method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a0a9be36bb903f273947ef18379d532a1" cv="noexcept"><parameter name="opts"><paramtype>const <classname>pool_options</classname> &amp;</paramtype></parameter><parameter name="upstream"><paramtype><classname>memory_resource</classname> *</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <computeroutput>upstream</computeroutput> is the address of a valid memory resource.</para><para><emphasis role="bold">Effects</emphasis>: Constructs a pool resource object that will obtain memory from upstream whenever the pool resource is unable to satisfy a memory request from its own internal data structures. The resulting object will hold a copy of upstream, but will not own the resource to which upstream points. [ Note: The intention is that calls to upstream-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a1de478d2989e3864278786faa3266696">allocate()</link> will be substantially fewer than calls to this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a1de478d2989e3864278786faa3266696">allocate()</link> in most cases. - end note The behavior of the pooling mechanism is tuned according to the value of the opts argument.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless upstream-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a1de478d2989e3864278786faa3266696">allocate()</link> throws. It is unspecified if or under what conditions this constructor calls upstream-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a1de478d2989e3864278786faa3266696">allocate()</link>. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1ab777b28a59d2678a609e5a996212209a" cv="noexcept"><description><para><emphasis role="bold">Effects</emphasis>: Same as <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource">unsynchronized_pool_resource</link>(pool_options(), get_default_resource())</computeroutput>. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a3b6e073a43435aa6abeff33b08122458" specifiers="explicit" cv="noexcept"><parameter name="upstream"><paramtype><classname>memory_resource</classname> *</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Same as <computeroutput>unsynchronized_pool_resource(pool_options(), upstream)</computeroutput>. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a177c2d89aa5378f74b2497e9a3ef9b0d" specifiers="explicit" cv="noexcept"><parameter name="opts"><paramtype>const <classname>pool_options</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Same as <computeroutput>unsynchronized_pool_resource(opts, get_default_resource())</computeroutput>. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1ad7252c8ec651f88b5201b7afacb4e58b" cv="= delete"><parameter name=""><paramtype>const <classname>unsynchronized_pool_resource</classname> &amp;</paramtype></parameter></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a2bb3c8a101e0f1936aa98bab13844e06" cv="= delete"><type><classname>unsynchronized_pool_resource</classname></type><parameter name=""><paramtype>const <classname>unsynchronized_pool_resource</classname> &amp;</paramtype></parameter></copy-assignment>
<destructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a1e4d06448e898758958f82ca2c5da172"><description><para><emphasis role="bold">Effects</emphasis>: Calls <computeroutput>this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a9443047b444bc5f33b3edbf9c4353225">release()</link></computeroutput>. </para></description></destructor>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a9443047b444bc5f33b3edbf9c4353225" name="release"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Calls Calls <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1ab4a97b9ad331bf88125358e3b9ff5809">upstream_resource()</link>-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1aa74f44777d3da7f278ae7a013607c524">deallocate()</link></computeroutput> as necessary to release all allocated memory. [ Note: memory is released back to <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1ab4a97b9ad331bf88125358e3b9ff5809">upstream_resource()</link></computeroutput> even if deallocate has not been called for some of the allocated blocks. - end note ] </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1ab4a97b9ad331bf88125358e3b9ff5809" name="upstream_resource" cv="const"><type><classname>memory_resource</classname> *</type><description><para><emphasis role="bold">Returns</emphasis>: The value of the upstream argument provided to the constructor of this object. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a1abce06f45fd89cea9c0661482a32ca6" name="options" cv="const"><type><classname>pool_options</classname></type><description><para><emphasis role="bold">Returns</emphasis>: The options that control the pooling behavior of this resource. The values in the returned struct may differ from those supplied to the pool resource constructor in that values of zero will be replaced with implementation-defined defaults and sizes may be rounded to unspecified granularity. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1ab93ea5015736d090d22ca805393c6ad0" name="pool_count" cv="const"><type>std::size_t</type><description><para><emphasis role="bold">Returns</emphasis>: The number of pools that will be used in the pool resource.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a4cfe2a9b4752ddf05817099f0e852892" name="pool_index" cv="const"><type>std::size_t</type><parameter name="bytes"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: The index of the pool that will be used to serve the allocation of <computeroutput>bytes</computeroutput>. Returns <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1ab93ea5015736d090d22ca805393c6ad0">pool_count()</link></computeroutput> if <computeroutput>bytes</computeroutput> is bigger than <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a1abce06f45fd89cea9c0661482a32ca6">options()</link>.largest_required_pool_block</computeroutput> (no pool will be used to serve this).</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a88ddbe382a1f0a798bf3b46aeea63a43" name="pool_next_blocks_per_chunk" cv="const"><type>std::size_t</type><parameter name="pool_idx"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <computeroutput>pool_idx &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a4cfe2a9b4752ddf05817099f0e852892">pool_index()</link></computeroutput></para><para><emphasis role="bold">Returns</emphasis>: The number blocks that will be allocated in the next chunk from the pool specified by <computeroutput>pool_idx</computeroutput>.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a905bfe3fc2d52b630725dad4f90e6d78" name="pool_block" cv="const"><type>std::size_t</type><parameter name="pool_idx"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <computeroutput>pool_idx &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a4cfe2a9b4752ddf05817099f0e852892">pool_index()</link></computeroutput></para><para><emphasis role="bold">Returns</emphasis>: The number of bytes of the block that the specified <computeroutput>pool_idx</computeroutput> pool manages.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1aa8f24c349da1b35b7aef191acb66ce35" name="pool_cached_blocks" cv="const"><type>std::size_t</type><parameter name="pool_idx"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <computeroutput>pool_idx &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a4cfe2a9b4752ddf05817099f0e852892">pool_index()</link></computeroutput></para><para><emphasis role="bold">Returns</emphasis>: The number of blocks that the specified <computeroutput>pool_idx</computeroutput> pool has cached and will be served without calling the upstream_allocator.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
</method-group>
<method-group name="protected member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a636c60bf4d150fb761804b16d3ee2521" name="do_allocate" specifiers="virtual"><type>void *</type><parameter name="bytes"><paramtype>std::size_t</paramtype></parameter><parameter name="alignment"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A pointer to allocated storage with a size of at least <computeroutput>bytes</computeroutput>. The size and alignment of the allocated memory shall meet the requirements for a class derived from <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource">memory_resource</link></computeroutput>.</para><para><emphasis role="bold">Effects</emphasis>: If the pool selected for a block of size bytes is unable to satisfy the memory request from its own internal data structures, it will call <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1ab4a97b9ad331bf88125358e3b9ff5809">upstream_resource()</link>-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a1de478d2989e3864278786faa3266696">allocate()</link></computeroutput> to obtain more memory. If <computeroutput>bytes</computeroutput> is larger than that which the largest pool can handle, then memory will be allocated using <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1ab4a97b9ad331bf88125358e3b9ff5809">upstream_resource()</link>-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a1de478d2989e3864278786faa3266696">allocate()</link></computeroutput>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1ab4a97b9ad331bf88125358e3b9ff5809">upstream_resource()</link>-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1a1de478d2989e3864278786faa3266696">allocate()</link></computeroutput> throws. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a8ffaf015d1a0c627782056fc6847320a" name="do_deallocate" specifiers="virtual"><type>void</type><parameter name="p"><paramtype>void *</paramtype></parameter><parameter name="bytes"><paramtype>std::size_t</paramtype></parameter><parameter name="alignment"><paramtype>std::size_t</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Return the memory at p to the pool. It is unspecified if or under what circumstances this operation will result in a call to <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1ab4a97b9ad331bf88125358e3b9ff5809">upstream_resource()</link>-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1memory__resource_1aa74f44777d3da7f278ae7a013607c524">deallocate()</link></computeroutput>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1pmr_1_1unsynchronized__pool__resource_1a705e436eb037bd8186caadce48682bd6" name="do_is_equal" cv="const noexcept" specifiers="virtual"><type>bool</type><parameter name="other"><paramtype>const <classname>memory_resource</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: <computeroutput>this == dynamic_cast&lt;const unsynchronized_pool_resource*&gt;(&amp;other)</computeroutput>. </para></description></method>
</method-group>
</class>





</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.scoped__allocator_8hpp" name="boost/container/scoped_allocator.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor" name="scoped_allocator_adaptor"><template>
      <template-type-parameter name="OuterAlloc"/>
      <template-nontype-parameter name="InnerAllocs"><type>typename ...</type></template-nontype-parameter>
    </template><inherit access="public">dtl::scoped_allocator_adaptor_base&lt; OuterAlloc, InnerAllocs... &gt;</inherit><description><para>This class is a C++03-compatible implementation of std::scoped_allocator_adaptor. The class template <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor">scoped_allocator_adaptor</link> is an allocator template that specifies the memory resource (the outer allocator) to be used by a container (as any other allocator does) and also specifies an inner allocator resource to be passed to the constructor of every element within the container.</para><para>This adaptor is instantiated with one outer and zero or more inner allocator types. If instantiated with only one allocator type, the inner allocator becomes the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor">scoped_allocator_adaptor</link> itself, thus using the same allocator resource for the container and every element within the container and, if the elements themselves are containers, each of their elements recursively. If instantiated with more than one allocator, the first allocator is the outer allocator for use by the container, the second allocator is passed to the constructors of the container's elements, and, if the elements themselves are containers, the third allocator is passed to the elements' elements, and so on. If containers are nested to a depth greater than the number of allocators, the last allocator is used repeatedly, as in the single-allocator case, for any remaining recursions.</para><para>[<emphasis role="bold">Note</emphasis>: The <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor">scoped_allocator_adaptor</link> is derived from the outer allocator type so it can be substituted for the outer allocator type in most expressions. -end note]</para><para>In the construct member functions, <computeroutput>OUTERMOST(x)</computeroutput> is x if x does not have an <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1af898e22364dea133a57e37ec9a2c0067">outer_allocator()</link></computeroutput> member function and <computeroutput>OUTERMOST(x.outer_allocator())</computeroutput> otherwise; <computeroutput>OUTERMOST_ALLOC_TRAITS(x)</computeroutput> is <computeroutput>allocator_traits&lt;decltype(OUTERMOST(x))&gt;</computeroutput>.</para><para>[<emphasis role="bold">Note</emphasis>: <computeroutput>OUTERMOST(x)</computeroutput> and <computeroutput>OUTERMOST_ALLOC_TRAITS(x)</computeroutput> are recursive operations. It is incumbent upon the definition of <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1af898e22364dea133a57e37ec9a2c0067">outer_allocator()</link></computeroutput> to ensure that the recursion terminates. It will terminate for all instantiations of <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor">scoped_allocator_adaptor</link>. -end note] </para></description><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1scoped__allocator__adaptor_1_1rebind" name="rebind"><template>
      <template-type-parameter name="U"/>
    </template><description><para>Type: Rebinds scoped allocator to <computeroutput>typedef <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor">scoped_allocator_adaptor</link> &lt; typename outer_traits_type::template portable_rebind_alloc&lt;U&gt;::type , InnerAllocs... &gt;</computeroutput> </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1scoped__allocator__adaptor_1_1rebind_1a291ea9002f013e76eccfffe6419b6e56" name="other"><type><classname>scoped_allocator_adaptor</classname>&lt; typename outer_traits_type::template portable_rebind_alloc&lt; U &gt;::type, InnerAllocs... &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1acd5e8956580b8df50da4094968923acc" name="outer_allocator_type"><type>OuterAlloc</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a81aea60fea8e6580af64566bb2ae4835" name="outer_traits_type"><description><para>Type: For exposition only </para></description><type><classname>allocator_traits</classname>&lt; OuterAlloc &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1ac6d0d14e0887224799eacfe670b194e4" name="inner_allocator_type"><description><para>Type: <computeroutput>scoped_allocator_adaptor&lt;OuterAlloc&gt;</computeroutput> if <computeroutput>sizeof...(InnerAllocs)</computeroutput> is zero; otherwise, <computeroutput>scoped_allocator_adaptor&lt;InnerAllocs...&gt;</computeroutput>. </para></description><type>base_type::inner_allocator_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1aeef3da9e6fbe90916823401812a7819b" name="inner_traits_type"><type><classname>allocator_traits</classname>&lt; inner_allocator_type &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1acc8a3862ce08072f4e609834e2743630" name="value_type"><type>outer_traits_type::value_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a01d2674dfcdd058d95012da75476415a" name="size_type"><type>outer_traits_type::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1ae304d9eadb36642d783562bcd3232fc3" name="difference_type"><type>outer_traits_type::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a269896549a693a8dd5eb467f69c00c66" name="pointer"><type>outer_traits_type::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a4387485c36fe05be997d583ab5b08c99" name="const_pointer"><type>outer_traits_type::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1ada386a5153cd5375c227485c278d7611" name="void_pointer"><type>outer_traits_type::void_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a686f6c4e63c9875db90f48d707ca625a" name="const_void_pointer"><type>outer_traits_type::const_void_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1ae46f52e90d4229d9687b8f6f1124c973" name="propagate_on_container_copy_assignment"><description><para>Type: A type with a constant boolean <computeroutput>value</computeroutput> == true if <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits">allocator_traits</link>&lt;Allocator&gt;:: propagate_on_container_copy_assignment::value</computeroutput> is true for any <computeroutput>Allocator</computeroutput> in the set of <computeroutput>OuterAlloc</computeroutput> and <computeroutput>InnerAllocs...</computeroutput>, false otherwise. </para></description><type>base_type::propagate_on_container_copy_assignment</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a5ebbe41c704acfa46c4f9536f91e82b1" name="propagate_on_container_move_assignment"><description><para>Type: A type with a constant boolean <computeroutput>value</computeroutput> == true if <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits">allocator_traits</link>&lt;Allocator&gt;:: propagate_on_container_move_assignment::value</computeroutput> is true for any <computeroutput>Allocator</computeroutput> in the set of <computeroutput>OuterAlloc</computeroutput> and <computeroutput>InnerAllocs...</computeroutput>, false otherwise. </para></description><type>base_type::propagate_on_container_move_assignment</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a2fee059f4b23af80018a1b6101bc7a75" name="propagate_on_container_swap"><description><para>Type: A type with a constant boolean <computeroutput>value</computeroutput> == true if <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits">allocator_traits</link>&lt;Allocator&gt;:: propagate_on_container_swap::value</computeroutput> is true for any <computeroutput>Allocator</computeroutput> in the set of <computeroutput>OuterAlloc</computeroutput> and <computeroutput>InnerAllocs...</computeroutput>, false otherwise. </para></description><type>base_type::propagate_on_container_swap</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a0f1e9676ef674992c2cba9e5803a4c24" name="is_always_equal"><description><para>Type: A type with a constant boolean <computeroutput>value</computeroutput> == true if <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits">allocator_traits</link>&lt;Allocator&gt;:: is_always_equal::value</computeroutput> is true for all <computeroutput>Allocator</computeroutput> in the set of <computeroutput>OuterAlloc</computeroutput> and <computeroutput>InnerAllocs...</computeroutput>, false otherwise. </para></description><type>base_type::is_always_equal</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a45d9c9067580ec6c556adc85b0698a42"><description><para><emphasis role="bold">Effects</emphasis>: value-initializes the OuterAlloc base class and the inner allocator object. </para></description></constructor>
<destructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a9434ecdb7a3bba4cd2db71da7ed7d267"/>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1aa18d02b1aa35b78044d612817c3a512c"><parameter name="other"><paramtype>const <classname>scoped_allocator_adaptor</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: initializes each allocator within the adaptor with the corresponding allocator from other. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1aa15c9ec24b3b9d78254b86d0533e2c64"><parameter name="other"><paramtype><classname>scoped_allocator_adaptor</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: move constructs each allocator within the adaptor with the corresponding allocator from other. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a378649a1cb9371dd69563ae3a25678f2"><template>
          <template-type-parameter name="OuterA2"/>
        </template><parameter name="outerAlloc"><paramtype>OuterA2 &amp;&amp;</paramtype></parameter><parameter name="innerAllocs"><paramtype>const InnerAllocs &amp;...</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: OuterAlloc shall be constructible from OuterA2.</para><para><emphasis role="bold">Effects</emphasis>: initializes the OuterAlloc base class with boost::forward&lt;OuterA2&gt;(outerAlloc) and inner with innerAllocs...(hence recursively initializing each allocator within the adaptor with the corresponding allocator from the argument list). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a848dd9de252adeadb5b4366a3d959dd2"><template>
          <template-type-parameter name="OuterA2"/>
        </template><parameter name="other"><paramtype>const <classname>scoped_allocator_adaptor</classname>&lt; OuterA2, InnerAllocs... &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: OuterAlloc shall be constructible from OuterA2.</para><para><emphasis role="bold">Effects</emphasis>: initializes each allocator within the adaptor with the corresponding allocator from other. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1afd688b34fb30179a37b2208294440fd4"><template>
          <template-type-parameter name="OuterA2"/>
        </template><parameter name="other"><paramtype><classname>scoped_allocator_adaptor</classname>&lt; OuterA2, InnerAllocs... &gt; &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: OuterAlloc shall be constructible from OuterA2.</para><para><emphasis role="bold">Effects</emphasis>: initializes each allocator within the adaptor with the corresponding allocator rvalue from other. </para></description></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a64aab6d2836cd2d8ef1dee5663826b55"><type><classname>scoped_allocator_adaptor</classname> &amp;</type><parameter name="other"><paramtype>const <classname>scoped_allocator_adaptor</classname> &amp;</paramtype></parameter></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1afa2415f83d52076cfa53cf6413ed4a87"><type><classname>scoped_allocator_adaptor</classname> &amp;</type><parameter name="other"><paramtype><classname>scoped_allocator_adaptor</classname> &amp;&amp;</paramtype></parameter></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a1380a371ed16bf926fbe73e78c981490" name="swap"><type>void</type><parameter name="r"><paramtype><classname>scoped_allocator_adaptor</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: swaps *this with r. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1af898e22364dea133a57e37ec9a2c0067" name="outer_allocator" cv="noexcept"><type>outer_allocator_type &amp;</type><description><para><emphasis role="bold">Returns</emphasis>: <computeroutput>static_cast&lt;OuterAlloc&amp;&gt;(*this)</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1aefc89e1ea431856883b22be6235ec422" name="outer_allocator" cv="const noexcept"><type>const outer_allocator_type &amp;</type><description><para><emphasis role="bold">Returns</emphasis>: <computeroutput>static_cast&lt;const OuterAlloc&amp;&gt;(*this)</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a3055a51fde4c27f9396ff1f83e4cf339" name="inner_allocator" cv="noexcept"><type>inner_allocator_type &amp;</type><description><para><emphasis role="bold">Returns</emphasis>: *this if <computeroutput>sizeof...(InnerAllocs)</computeroutput> is zero; otherwise, inner. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a1088dff1e36ffd35f2bf425a90946f36" name="inner_allocator" cv="const noexcept"><type>inner_allocator_type const &amp;</type><description><para><emphasis role="bold">Returns</emphasis>: *this if <computeroutput>sizeof...(InnerAllocs)</computeroutput> is zero; otherwise, inner. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a2519aff521145aa382f2e8b2016ef2e6" name="max_size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Returns</emphasis>: <computeroutput>allocator_traits&lt;OuterAlloc&gt;:: max_size(outer_allocator())</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1ac4751f92b8b88bd63b5b9831573b918c" name="destroy" cv="noexcept"><type>void</type><template>
          <template-type-parameter name="T"/>
        </template><parameter name="p"><paramtype>T *</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: calls <computeroutput>OUTERMOST_ALLOC_TRAITS(*this):: destroy(OUTERMOST(*this), p)</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1aceaddd2693bd031cd54f38c108e7ff42" name="allocate"><type>pointer</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: <computeroutput>allocator_traits&lt;OuterAlloc&gt;::allocate(outer_allocator(), n)</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a801aac31eccc43586bb7cbe94027b160" name="allocate"><type>pointer</type><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="hint"><paramtype>const_void_pointer</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: <computeroutput>allocator_traits&lt;OuterAlloc&gt;::allocate(outer_allocator(), n, hint)</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1ac555b73c172834f61bad118717860dac" name="deallocate"><type>void</type><parameter name="p"><paramtype>pointer</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: <computeroutput>allocator_traits&lt;OuterAlloc&gt;::deallocate(outer_allocator(), p, n)</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1af5b78c29c1b1e990a5784920f7e045b2" name="select_on_container_copy_construction" cv="const"><type><classname>scoped_allocator_adaptor</classname></type><description><para><emphasis role="bold">Returns</emphasis>: A new <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor">scoped_allocator_adaptor</link> object where each allocator Allocator in the adaptor is initialized from the result of calling <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1acb343a21c5d0dfe31c8b4851c8903971">allocator_traits&lt;Allocator&gt;::select_on_container_copy_construction()</link></computeroutput> on the corresponding allocator in *this. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1abe3c4807380812e53404ee6edb700493" name="construct"><type>void</type><template>
          <template-type-parameter name="T"/>
          <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
        </template><parameter name="p"><paramtype>T *</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: 1) If <computeroutput>uses_allocator&lt;T, inner_allocator_type&gt;::value</computeroutput> is false calls <computeroutput>OUTERMOST_ALLOC_TRAITS(*this):: construct(OUTERMOST(*this), p, std::forward&lt;Args&gt;(args)...)</computeroutput>.</para><para>2) Otherwise, if <computeroutput>uses_allocator&lt;T, inner_allocator_type&gt;::value</computeroutput> is true and <computeroutput>is_constructible&lt;T, allocator_arg_t, inner_allocator_type, Args...&gt;:: value</computeroutput> is true, calls <computeroutput>OUTERMOST_ALLOC_TRAITS(*this):: construct(OUTERMOST(*this), p, allocator_arg, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a3055a51fde4c27f9396ff1f83e4cf339">inner_allocator()</link>, std::forward&lt;Args&gt;(args)...)</computeroutput>.</para><para>[<emphasis role="bold">Note</emphasis>: In compilers without advanced decltype SFINAE support, <computeroutput>is_constructible</computeroutput> can't be implemented so that condition will be replaced by constructible_with_allocator_prefix&lt;T&gt;::value. -end note]</para><para>3) Otherwise, if uses_allocator&lt;T, inner_allocator_type&gt;::value is true and <computeroutput>is_constructible&lt;T, Args..., inner_allocator_type&gt;:: value</computeroutput> is true, calls <computeroutput>OUTERMOST_ALLOC_TRAITS(*this):: construct(OUTERMOST(*this), p, std::forward&lt;Args&gt;(args)..., <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a3055a51fde4c27f9396ff1f83e4cf339">inner_allocator()</link>)</computeroutput>.</para><para>[<emphasis role="bold">Note</emphasis>: In compilers without advanced decltype SFINAE support, <computeroutput>is_constructible</computeroutput> can't be implemented so that condition will be replaced by <computeroutput>constructible_with_allocator_suffix&lt;T&gt;:: value</computeroutput>. -end note]</para><para>4) Otherwise, the program is ill-formed.</para><para>[<emphasis role="bold">Note</emphasis>: An error will result if <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1uses__allocator">uses_allocator</link></computeroutput> evaluates to true but the specific constructor does not take an allocator. This definition prevents a silent failure to pass an inner allocator to a contained element. -end note] </para></description></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor_1a4079269098cc7e892eaa4ff78c42f6a2" name="swap"><type>void</type><parameter name="l"><paramtype><classname>scoped_allocator_adaptor</classname> &amp;</paramtype></parameter><parameter name="r"><paramtype><classname>scoped_allocator_adaptor</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: swaps *this with r. </para></description></method>
</method-group>
</class>










































































<function id="doxygen.boost_container_header_reference.scoped__allocator_8hpp_1a6f6debbd3e0560c0a0c16a7c962f7d1e" name="operator=="><type>bool</type><template>
          <template-type-parameter name="OuterA1"/>
          <template-type-parameter name="OuterA2"/>
          <template-nontype-parameter name=""><type>BOOST_CONTAINER_SCOPEDALLOC_ALLINNERCLASS</type></template-nontype-parameter>
        </template><parameter name="a"><paramtype>const <classname>scoped_allocator_adaptor</classname>&lt; OuterA1, InnerAllocs... &gt; &amp;</paramtype></parameter><parameter name="b"><paramtype>const <classname>scoped_allocator_adaptor</classname>&lt; OuterA2, InnerAllocs... &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.scoped__allocator_8hpp_1ab39fbd8c7c3ca26e386e4b5904c29a4c" name="operator!="><type>bool</type><template>
          <template-type-parameter name="OuterA1"/>
          <template-type-parameter name="OuterA2"/>
          <template-nontype-parameter name=""><type>BOOST_CONTAINER_SCOPEDALLOC_ALLINNERCLASS</type></template-nontype-parameter>
        </template><parameter name="a"><paramtype>const <classname>scoped_allocator_adaptor</classname>&lt; OuterA1, InnerAllocs... &gt; &amp;</paramtype></parameter><parameter name="b"><paramtype>const <classname>scoped_allocator_adaptor</classname>&lt; OuterA2, InnerAllocs... &gt; &amp;</paramtype></parameter></function>








































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.scoped__allocator__fwd_8hpp" name="boost/container/scoped_allocator_fwd.hpp">
<para>This header file forward declares <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1scoped__allocator__adaptor">boost::container::scoped_allocator_adaptor</link> </para><namespace name="boost">
<namespace name="container">





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.pmr_2set_8hpp" name="boost/container/pmr/set.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1multiset__of" name="multiset_of"><template>
      <template-type-parameter name="Key"/>
      <template-type-parameter name="Compare"><default>std::less&lt;Key&gt;</default></template-type-parameter>
      <template-type-parameter name="Options"><default>void</default></template-type-parameter>
    </template><description><para>A portable metafunction to obtain a multiset that uses a polymorphic allocator </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1multiset__of_1aae1461269fb5e6984d569da1d313ae14" name="type"><type><classname>boost::container::multiset</classname>&lt; Key, Compare, <classname>polymorphic_allocator</classname>&lt; Key &gt;, Options &gt;</type></typedef>
</struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1set__of" name="set_of"><template>
      <template-type-parameter name="Key"/>
      <template-type-parameter name="Compare"><default>std::less&lt;Key&gt;</default></template-type-parameter>
      <template-type-parameter name="Options"><default>void</default></template-type-parameter>
    </template><description><para>A portable metafunction to obtain a set that uses a polymorphic allocator </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1set__of_1a28a9a717731e7bd528e88dbb99ca7db2" name="type"><type><classname>boost::container::set</classname>&lt; Key, Compare, <classname>polymorphic_allocator</classname>&lt; Key &gt;, Options &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.pmr_2set_8hpp_1ac376781695ad96725b18295645e70d5d" name="set"><type><classname>boost::container::set</classname>&lt; Key, Compare, <classname>polymorphic_allocator</classname>&lt; Key &gt;, Options &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.pmr_2set_8hpp_1a22d2edfe9ab72f9a07041588b1f66a79" name="multiset"><type><classname>boost::container::multiset</classname>&lt; Key, Compare, <classname>polymorphic_allocator</classname>&lt; Key &gt;, Options &gt;</type></typedef>






</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.set_8hpp" name="boost/container/set.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset" name="multiset"><template>
      <template-type-parameter name="Key"><purpose><para>is the type to be inserted in the set, which is also the key_type </para></purpose></template-type-parameter>
      <template-type-parameter name="Compare"><default>std::less&lt;Key&gt;</default><purpose><para>is the comparison functor used to order keys </para></purpose></template-type-parameter>
      <template-type-parameter name="Allocator"><default>new_allocator&lt;Key&gt;</default><purpose><para>is the allocator to be used to allocate memory for this container </para></purpose></template-type-parameter>
      <template-type-parameter name="Options"><default>tree_assoc_defaults</default><purpose><para>is an packed option type generated using using <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1tree__assoc__options">boost::container::tree_assoc_options</link>. </para></purpose></template-type-parameter>
    </template><description><para>A multiset is a kind of associative container that supports equivalent keys (possibly contains multiple copies of the same key value) and provides for fast retrieval of the keys themselves. Class multiset supports bidirectional iterators.</para><para>A multiset satisfies all of the requirements of a container and of a reversible container, and of an associative container). multiset also provides most operations described for duplicate keys.</para><para>
</para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a6f84cec06fb8acdbd48acab892216c7a" name="key_type"><type>Key</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a5d68f0a0066340be0af6db50b2dccb93" name="value_type"><type>Key</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8eca9cd3a17793a9fdb87a4e4ba14bfd" name="key_compare"><type>Compare</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ae6d21fc5f2590b67999c4d2625ae0b12" name="value_compare"><type>key_compare</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1af76e6b4ba2b7ce3696e46e4452951118" name="allocator_type"><type>base_t::allocator_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a92cafcd5b1ac597591652d55a0aa7e3f" name="allocator_traits_type"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1af63e1f3545b35d880ab0a0a01969a0de" name="pointer"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1acbdcc5ba5ea80cd694e8eb7369a14f78" name="const_pointer"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1acf4284ed7319bce2361a7fa007c5cc17" name="reference"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ae42eb87f0c26f349eedbdd45f609a963" name="const_reference"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::const_reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a9d5caf673a22e3e90670e77ad3c961d5" name="size_type"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ab4cb3f891351a2146e105879a7605470" name="difference_type"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a7e06dd82b92cdd09af2bf4ab18435526" name="stored_allocator_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ad6957ead57dec0796589d7aa91d5ad62" name="iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1acc7724dc7eb6a7e6424262d07108158f" name="const_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a74bcb9aba5c3087b7d0a126dd30251ad" name="reverse_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1af4b67b78632ef13f0ace4f2692b5d47e" name="const_reverse_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a40f2f8714478f780f59bbf24346c76d0" name="node_type"><type>implementation_defined</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1acfeddb367909ae3e4850811e537d1524" cv="noexcept(dtl::is_nothrow_default_constructible&lt; allocator_type &gt;::value &amp;&amp;dtl::is_nothrow_default_constructible&lt; Compare &gt;::value)"><description><para><emphasis role="bold">Effects</emphasis>: Default constructs an empty set.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1aa2afe37b2bcc203d27cec937ccc5426f" specifiers="explicit"><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified allocator object.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1aef7cb1c7bed4c379651fd20aa3b714a5" specifiers="explicit"><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ade8e1fdce4cd5a58ed294893708a7dd3"><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object and allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ad0b1f1c4274225367c580a1764a121f9"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a91d6533a57f9f8f6ce7658c7fb05ff3c"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified allocator, and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a4f06d084ef9e06920b0943332395a5f9"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a28ff9c9178b2b682d4f021b12caa839a"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object and allocator, and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a32731571f889ca390948556f9470a9a6"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multiset and and inserts elements from the ordered range [first ,last ). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8df5899e9f5d7c331a40956bba2b1bcd"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multiset using the specified comparison object and inserts elements from the ordered range [first ,last ). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a79a9d7fb5ea440e6e3f26932d3419889"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multiset using the specified comparison object and allocator, and inserts elements from the ordered range [first ,last ). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1adf3c34d42456122903665c919d417454"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty multiset using the specified allocator and inserts elements from the ordered range [first ,last ). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a5bb0eea31a673bf62723c1eb526c123a"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using the predicate and otherwise N logN, where N is il.begin() - il.end().   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a9841065204b56ddc95e2e36e602a1197"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified allocator, and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using the predicate and otherwise N logN, where N is il.begin() - il.end().   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a195e38ad40cef722407801e90bc6ab72"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using the predicate and otherwise N logN, where N is il.begin() - il.end().   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a5e883da1dbb75e8cbd719d4c561e8810"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object and allocator, and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using the predicate and otherwise N logN, where N is il.begin() - il.end().   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a1041d7e3a32010e6e984348e5add1e23"><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set and inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a6bb32af5577da19fae83c9eb3bf84605"><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object and inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a264a954390c2eddf412cb563828d6320"><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object and allocator, and inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ac3afc3eb935680e93c0ab5e3a731f67f"><parameter name="x"><paramtype>const <classname>multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a set.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size().   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a5c5553e8b8d662c0e4c61ec8af14813b" cv="noexcept(boost::container::dtl::is_nothrow_move_constructible&lt; Compare &gt;::value)"><parameter name="x"><paramtype><classname>multiset</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a set. Constructs *this using x's resources.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Postcondition</emphasis>: x is emptied.   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a69e2aa7402d3fb79b30acebe1ef3c9a9"><parameter name="x"><paramtype>const <classname>multiset</classname> &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a set using the specified allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size().   </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1af316fd37634371c31872e556cb8a99fd"><parameter name="x"><paramtype><classname>multiset</classname> &amp;&amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a set using the specified allocator. Constructs *this using x's resources.</para><para><emphasis role="bold">Complexity</emphasis>: Constant if a == x.get_allocator(), linear otherwise.   </para></description></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a5432997a7b43e349549742b53544550b"><type><classname>multiset</classname> &amp;</type><parameter name="x"><paramtype>const <classname>multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Makes *this a copy of x.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size().   </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1aaa18817bf9b2727696e3c4d23f89dd3f" cv="noexcept((allocator_traits_type::propagate_on_container_move_assignment::value||allocator_traits_type::is_always_equal::value) &amp;&amp;boost::container::dtl::is_nothrow_move_assignable&lt; Compare &gt;::value)"><type><classname>multiset</classname> &amp;</type><parameter name="x"><paramtype><classname>multiset</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: this-&gt;swap(x.get()).</para><para><emphasis role="bold">Throws</emphasis>: If <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a0701b56d932091c18e3c4b78ffc90c80">allocator_traits_type::propagate_on_container_move_assignment</link> is false and (allocation throws or value_type's move constructor throws)</para><para><emphasis role="bold">Complexity</emphasis>: Constant if allocator_traits_type:: propagate_on_container_move_assignment is true or this-&gt;get&gt;allocator() == x.get_allocator(). Linear otherwise.   </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ac6134e68f038c448cd5b7fe677eb4fba"><type><classname>multiset</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy all elements from il to *this.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in il.size().   </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8bac8f06a9c8fc1bf0824ad3d1111e3d" name="get_allocator" cv="const"><type>allocator_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a copy of the allocator that was passed to the object's constructor.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a089b11897923df5e61302d4c6ace86e9" name="get_stored_allocator"><type>stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1aaf9e90e8e0edd9a6e96caa1c520751a7" name="get_stored_allocator" cv="const"><type>const stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a72914fb7ae2085423c4af500e7442003" name="begin"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a36841c5e8ff22d1c58d8e1003b4b307a" name="begin" cv="const"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a53d40abc62bb92cd5643c4f8685ae9ec" name="cbegin" cv="const"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8d395b0dba53b996401e7f2809279b69" name="end" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a64b088cacd85f0cd6420ee8d31aed488" name="end" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a70e2eb1010d543770a455745dbed6dfe" name="cend" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1afce311d3bd6364db3a2939a0bf950479" name="rbegin" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ac31f6d782811eb34f7172bb5a6138048" name="rbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a56a1106484fc896f220221e5c0ed13c5" name="crbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1abbb701cccc873fa4fde90bbcac6c6679" name="rend" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a6d271c29b073014ead2573baa72fbbf7" name="rend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a5fe06bd678fa0dfda156ae606ea1de08" name="crend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1af504d933b8903c68a0f8913694632fc1" name="empty" cv="const"><type>bool</type><description><para><emphasis role="bold">Effects</emphasis>: Returns true if the container contains no elements.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ad52dc3a9cd11b848a96d2052d6a5c58b" name="size" cv="const"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the number of the elements contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ade132a89d619b9c5b19731cb1213145f" name="max_size" cv="const"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the largest possible size of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a97f28825e3b8f09a4820d3036a3dd257" name="emplace"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type Key constructed with std::forward&lt;Args&gt;(args)... and returns the iterator pointing to the newly inserted element.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ace36058017ce45c63f89d5847c78f870" name="emplace_hint"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type Key constructed with std::forward&lt;Args&gt;(args)...</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if t is inserted right before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1aec9f210e5bf8f02a8b46a457015e7ebb" name="insert"><type>iterator</type><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts x and returns the iterator pointing to the newly inserted element.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a0b4cf06a3574b6ec4a5a04e88abc3da4" name="insert"><type>iterator</type><parameter name="x"><paramtype>value_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of x in the container.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if t is inserted right before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1af527aaf8fec9cbd0dd11e16f1349fa28" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of x in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if t is inserted right before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a2e40aeef6424aea96340c271d64536a8" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>value_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a value move constructed from x in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if t is inserted right before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ab34ab006233b8a87ef2da5589810864a" name="insert"><type>void</type><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: first, last are not iterators into *this.</para><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [first,last) .</para><para><emphasis role="bold">Complexity</emphasis>: At most N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ad52dc3a9cd11b848a96d2052d6a5c58b">size()</link>+N) (N is the distance from first to last) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1aef165aafb009179cd73a5ea3d6f438af" name="insert"><type>void</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [il.begin(),il.end()) if and only if there is no element with key equivalent to the key of that element.</para><para><emphasis role="bold">Complexity</emphasis>: At most N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ad52dc3a9cd11b848a96d2052d6a5c58b">size()</link>+N) (N is the distance from il.begin() to il.end())   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ab3b610a38d5f95b577fee778e00ec1eb" name="insert"><type>iterator</type><parameter name="nh"><paramtype>node_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: nh is empty or this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8bac8f06a9c8fc1bf0824ad3d1111e3d">get_allocator()</link> == nh.get_allocator().</para><para><emphasis role="bold">Effects/Returns</emphasis>: If nh is empty, has no effect and returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8d395b0dba53b996401e7f2809279b69">end()</link>. Otherwise, inserts the element owned by nh and returns an iterator pointing to the newly inserted element. If a range containing elements with keys equivalent to nh.key() exists, the element is inserted at the end of that range. nh is always emptied.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a65d95190e6d90ad25771cb4033ad18e1" name="insert"><type>iterator</type><parameter name="hint"><paramtype>const_iterator</paramtype></parameter><parameter name="nh"><paramtype>node_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a new value move constructed from x in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if t is inserted right before p.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a12e9da6c16653e932bdba929e2eea736" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>multiset</classname>&lt; Key, C2, Allocator, Options &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8bac8f06a9c8fc1bf0824ad3d1111e3d">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Extracts each element in source and insert it into a using the comparison object of *this.</para><para><emphasis role="bold">Postcondition</emphasis>: Pointers and references to the transferred elements of source refer to those same elements but as members of *this. Iterators referring to the transferred elements will continue to refer to their elements, but they now behave as iterators into *this, not into source.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless the comparison object throws.</para><para><emphasis role="bold">Complexity</emphasis>: N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ad52dc3a9cd11b848a96d2052d6a5c58b">size()</link> + N) (N has the value source.size())   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ac72575530b1fc7de73bfbdbc44911c15" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>multiset</classname>&lt; Key, C2, Allocator, Options &gt; &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8bac8f06a9c8fc1bf0824ad3d1111e3d">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Extracts each element in source and insert it into a using the comparison object of *this.</para><para><emphasis role="bold">Postcondition</emphasis>: Pointers and references to the transferred elements of source refer to those same elements but as members of *this. Iterators referring to the transferred elements will continue to refer to their elements, but they now behave as iterators into *this, not into source.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless the comparison object throws.</para><para><emphasis role="bold">Complexity</emphasis>: N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ad52dc3a9cd11b848a96d2052d6a5c58b">size()</link> + N) (N has the value source.size())    </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a806c871ecba96d639414a0ff11c96f77" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>set</classname>&lt; Key, C2, Allocator, Options &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8bac8f06a9c8fc1bf0824ad3d1111e3d">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Extracts each element in source and insert it into a using the comparison object of *this.</para><para><emphasis role="bold">Postcondition</emphasis>: Pointers and references to the transferred elements of source refer to those same elements but as members of *this. Iterators referring to the transferred elements will continue to refer to their elements, but they now behave as iterators into *this, not into source.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless the comparison object throws.</para><para><emphasis role="bold">Complexity</emphasis>: N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ad52dc3a9cd11b848a96d2052d6a5c58b">size()</link> + N) (N has the value source.size())    </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ad1271f2229d1789562685ccfd90b3789" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>set</classname>&lt; Key, C2, Allocator, Options &gt; &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8bac8f06a9c8fc1bf0824ad3d1111e3d">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Extracts each element in source and insert it into a using the comparison object of *this.</para><para><emphasis role="bold">Postcondition</emphasis>: Pointers and references to the transferred elements of source refer to those same elements but as members of *this. Iterators referring to the transferred elements will continue to refer to their elements, but they now behave as iterators into *this, not into source.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless the comparison object throws.</para><para><emphasis role="bold">Complexity</emphasis>: N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ad52dc3a9cd11b848a96d2052d6a5c58b">size()</link> + N) (N has the value source.size())     </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a10ac01f4815491943f2b0bb4bd06674a" name="erase"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases the element pointed to by p.</para><para><emphasis role="bold">Returns</emphasis>: Returns an iterator pointing to the element immediately following q prior to the element being erased. If no such element exists, returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8d395b0dba53b996401e7f2809279b69">end()</link>.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ac3ed6d9353a714074b1471ff8d4cc1f0" name="erase"><type>size_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If present, erases the element in the container with key equivalent to x.</para><para><emphasis role="bold">Returns</emphasis>: Returns the number of erased elements (0/1).</para><para><emphasis role="bold">Complexity</emphasis>: log(size()) + count(k)   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a5199ccedb63e8f0595a91c903ecbfd9a" name="erase"><type>iterator</type><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases all the elements in the range [first, last).</para><para><emphasis role="bold">Returns</emphasis>: Returns last.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+N where N is the distance from first to last.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ad31779435ed1c5791a084e56f709ae09" name="extract"><type>node_type</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Removes the element pointed to by "position".</para><para><emphasis role="bold">Returns</emphasis>: A node_type owning the element, otherwise an empty node_type.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant.    </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a6922171db11abbb85720ce9241634b78" name="extract"><type>node_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Removes the first element in the container with key equivalent to k.</para><para><emphasis role="bold">Returns</emphasis>: A node_type owning the element if found, otherwise an empty node_type.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()).    </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ae4bfe55f29ebc30977bbe90a8367a239" name="swap" cv="noexcept(allocator_traits_type::is_always_equal::value &amp;&amp;boost::container::dtl::is_nothrow_swappable&lt; Compare &gt;::value)"><type>void</type><parameter name="x"><paramtype><classname>multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Swaps the contents of *this and x.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a9c796e8510b108ffc7f615a9c3f2a1ee" name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a72914fb7ae2085423c4af500e7442003">begin()</link>,<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8d395b0dba53b996401e7f2809279b69">end()</link>).</para><para><emphasis role="bold">Postcondition</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ad52dc3a9cd11b848a96d2052d6a5c58b">size()</link> == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ad52dc3a9cd11b848a96d2052d6a5c58b">size()</link>.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a7a2184c076b17810173c1a3c84531b3b" name="key_comp" cv="const"><type>key_compare</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the comparison object out of which a was constructed.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1aeacaecbef0f6edeca133be034124f0e0" name="value_comp" cv="const"><type>value_compare</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an object of value_compare constructed out of the comparison object.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1aa4c4ce680bc4d83f86ef9e6f414a67ce" name="find"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8d395b0dba53b996401e7f2809279b69">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a13cee55159e0a8b2e3491ae0e2f31fc4" name="find" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const_iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8d395b0dba53b996401e7f2809279b69">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a2003419b91b719db854c98666e09df1e" name="find"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8d395b0dba53b996401e7f2809279b69">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a27884e2a18be14f9e5c439ec81fd615a" name="find" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8d395b0dba53b996401e7f2809279b69">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a7af3ba3b512de3c98168f22fccf8e539" name="count" cv="const"><type>size_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: The number of elements with key equivalent to x.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+count(k)   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a040b634938ba314e6ace847da3439857" name="count" cv="const"><type>size_type</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: The number of elements with key equivalent to x.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+count(k)   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1afd30b386c71f62a16bef56dabe1478a6" name="contains" cv="const"><type>bool</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: Returns true if there is an element with key equivalent to key in the container, otherwise false.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()).   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a10a221e6f70dd76a4acfdabcb70cdcce" name="contains" cv="const"><type>bool</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: Returns true if there is an element with key equivalent to key in the container, otherwise false.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()).   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a6246850b5cbaaa5e8460059fa4d59bad" name="lower_bound"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8d395b0dba53b996401e7f2809279b69">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a4845f2d08b6031c85b777646ef9c1aaa" name="lower_bound" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8d395b0dba53b996401e7f2809279b69">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8ebc5034fa7532c287b63e909cdf6a16" name="lower_bound"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8d395b0dba53b996401e7f2809279b69">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a702d451576123a56a338ef1b9d805b76" name="lower_bound" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8d395b0dba53b996401e7f2809279b69">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a4c0e37a924bb6fb4f32f59455be4e810" name="upper_bound"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8d395b0dba53b996401e7f2809279b69">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a87fa2426e71be325cbee020dde516da0" name="upper_bound" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8d395b0dba53b996401e7f2809279b69">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1aea883e054fe7a4e7341fbb14a4983a8c" name="upper_bound"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8d395b0dba53b996401e7f2809279b69">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1afef65279ec52df005c39558080951570" name="upper_bound" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a8d395b0dba53b996401e7f2809279b69">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1aced50fcdfd6971178225355368160911" name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1aa9c5323100e7e641862d619bbdd0c1cb" name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1acfaa763117707affa4f088b4e169bf47" name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a1c963eca0f5a3a8cd5826ce9622f13e7" name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1aa62697e647e7eec33a14d9e3f6b12ec6" name="rebalance"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Rebalances the tree. It's a no-op for Red-Black and AVL trees.</para><para><emphasis role="bold">Complexity</emphasis>: Linear   </para></description></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a80b006d416e85c76042a12613e2598c8" name="operator=="><type>bool</type><parameter name="x"><paramtype>const <classname>multiset</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are equal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1abc5cfd358ca98f45ca9ec0eb67d013a5" name="operator!="><type>bool</type><parameter name="x"><paramtype>const <classname>multiset</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are unequal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a7cab1f2e5081874bce6150087c1076eb" name="operator&lt;"><type>bool</type><parameter name="x"><paramtype>const <classname>multiset</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a0572703947c0aa541730ac1e57836d05" name="operator&gt;"><type>bool</type><parameter name="x"><paramtype>const <classname>multiset</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1ac9828c862d973c52be2905b06fce10c3" name="operator&lt;="><type>bool</type><parameter name="x"><paramtype>const <classname>multiset</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1aef64e116d5809ea4d9445ae71056a480" name="operator&gt;="><type>bool</type><parameter name="x"><paramtype>const <classname>multiset</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1multiset_1a2a53bc88ed19ed553639f9ebc2564acf" name="swap" cv="noexcept(allocator_traits_type::is_always_equal::value &amp;&amp;boost::container::dtl::is_nothrow_swappable&lt; Compare &gt;::value)"><type>void</type><parameter name="x"><paramtype><classname>multiset</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype><classname>multiset</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: x.swap(y)</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
</method-group>
</class><class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set" name="set"><template>
      <template-type-parameter name="Key"><purpose><para>is the type to be inserted in the set, which is also the key_type </para></purpose></template-type-parameter>
      <template-type-parameter name="Compare"><default>std::less&lt;Key&gt;</default><purpose><para>is the comparison functor used to order keys </para></purpose></template-type-parameter>
      <template-type-parameter name="Allocator"><default>new_allocator&lt;Key&gt;</default><purpose><para>is the allocator to be used to allocate memory for this container </para></purpose></template-type-parameter>
      <template-type-parameter name="Options"><default>void</default><purpose><para>is an packed option type generated using using <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1tree__assoc__options">boost::container::tree_assoc_options</link>. </para></purpose></template-type-parameter>
    </template><description><para>A set is a kind of associative container that supports unique keys (contains at most one of each key value) and provides for fast retrieval of the keys themselves. Class set supports bidirectional iterators.</para><para>A set satisfies all of the requirements of a container and of a reversible container , and of an associative container. A set also provides most operations described in for unique keys.</para><para>
</para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a6f8165d145c5f589114fc06113b985d3" name="key_type"><type>Key</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a9aacce65e9bd685837685d496b12bb00" name="value_type"><type>Key</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1ac380de311b249c7a91bc5c7cd83d97ae" name="key_compare"><type>Compare</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1aa13a622dd6b5d62510b78acc10d05e0b" name="value_compare"><type>key_compare</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a6964ce83d9b94544c58ff65a2a788318" name="allocator_type"><type>base_t::allocator_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a3faa89bbe66c994f9c042cdd89ddf044" name="allocator_traits_type"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a892b35c721a2b4de52c7f19c3aefffea" name="pointer"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1afea87b97e1ce112acdcb9604198a695d" name="const_pointer"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a15777b7855e49ff01cb9e0c81722d1bc" name="reference"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a871e117a0f49edfd919f444aefde29bb" name="const_reference"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::const_reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1ae632af5e85f59a39a9c9a79cea0eff50" name="size_type"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a259bce2419e344e750ef5e5e98bac5ef" name="difference_type"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1adffba6f2233ef9c187bdc39c27802bcd" name="stored_allocator_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a684dd821cebc64d36d483c50408c47b3" name="iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1af8c4194abb4110056cbec43dd4f1f510" name="const_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a2988fdf5c0ce22ac62f99d816ca1d1ca" name="reverse_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a4170fd0bc8003cafeea3a04da4b92c30" name="const_reverse_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1ae163cdd5576cb30b313e4b20a2a385d9" name="node_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a7e2bc52856f461600ea709037d2b3969" name="insert_return_type"><type>implementation_defined</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1aa3f2575cecf78b6efc27aad61079630a" cv="noexcept(dtl::is_nothrow_default_constructible&lt; allocator_type &gt;::value &amp;&amp;dtl::is_nothrow_default_constructible&lt; Compare &gt;::value)"><description><para><emphasis role="bold">Effects</emphasis>: Default constructs an empty set.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a34b4ddc73ca1cf873c97937677a7e7e5" specifiers="explicit"><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified allocator object.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a491745d09c502fc7f2ed7af247b3387a" specifiers="explicit"><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1af07b528a24642a89393409ae184f84d8"><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object and allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1aa6f41c2119bd928c264fae79441a90f3"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1af04d732ed5490c574a79a5f39958c9cb"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified allocator, and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1ab261b5720f0e8953cb0e2f264145c0d3"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a3ffbaf8cfeb81bad10f5b6fe38a418dc"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object and allocator, and inserts elements from the range [first ,last ).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [first ,last ) is already sorted using the predicate and otherwise N logN, where N is last - first. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5ee99abcaa0fe13258108edc94138a4d"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set and inserts elements from the ordered unique range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1aca8fb17da089df269cf7ca3897ebc42a"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object and inserts elements from the ordered unique range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1aa84b0e8c343cc0e47d4e70f8cbef07b9"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object and allocator, and inserts elements from the ordered unique range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a216c98899b375ada7979830a95fee6d3"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified allocator and inserts elements from the ordered unique range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [first ,last) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1aaf502c3a5b4a6e964d441d3be78b9f79"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using the predicate and otherwise N logN, where N is il.begin() - il.end(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a1c5f8937c8669365ffa6e66d909011d3"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified allocator, and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using the predicate and otherwise N logN, where N is il.begin() - il.end(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a9a787942a62283c21ec90f3a6a429dd4"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using the predicate and otherwise N logN, where N is il.begin() - il.end(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1ad8070dff893898d2159da1f1baa5e6a5"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object and allocator, and inserts elements from the range [il.begin(), il.end()).</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N if the range [il.begin(), il.end()) is already sorted using the predicate and otherwise N logN, where N is il.begin() - il.end(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a2e0cce3d95e9c481006d34457247e0c4"><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set and inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a49a5786088ccd2bd5ff6972d9fd345a4"><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object and inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a10522300506af856d53cb4580af0470d"><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="comp"><paramtype>const Compare &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs an empty set using the specified comparison object and allocator, and inserts elements from the ordered unique range [il.begin(), il.end()). This function is more efficient than the normal range creation for ordered ranges.</para><para><emphasis role="bold">Requires</emphasis>: [il.begin(), il.end()) must be ordered according to the predicate and must be unique values.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in N.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1ad1c6dda0c259313305b0c2b00fb2440e"><parameter name="x"><paramtype>const <classname>set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a set.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a8a8cfe19e5b53bff7ed762a1db95b632" cv="noexcept(boost::container::dtl::is_nothrow_move_constructible&lt; Compare &gt;::value)"><parameter name="x"><paramtype><classname>set</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a set. Constructs *this using x's resources.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Postcondition</emphasis>: x is emptied. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a53d8e833ff8815b435ee931faf1bedf2"><parameter name="x"><paramtype>const <classname>set</classname> &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a set using the specified allocator.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a234ce9414e66fada1c6f5a94c82c6a81"><parameter name="x"><paramtype><classname>set</classname> &amp;&amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a set using the specified allocator. Constructs *this using x's resources.</para><para><emphasis role="bold">Complexity</emphasis>: Constant if a == x.get_allocator(), linear otherwise. </para></description></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a16186cee067e6d6fafb216ce5a62e271"><type><classname>set</classname> &amp;</type><parameter name="x"><paramtype>const <classname>set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Makes *this a copy of x.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in x.size(). </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a90ab424f1e712664d2b68a9c22b1eecf" cv="noexcept((allocator_traits_type::propagate_on_container_move_assignment::value||allocator_traits_type::is_always_equal::value) &amp;&amp;boost::container::dtl::is_nothrow_move_assignable&lt; Compare &gt;::value)"><type><classname>set</classname> &amp;</type><parameter name="x"><paramtype><classname>set</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: this-&gt;swap(x.get()).</para><para><emphasis role="bold">Throws</emphasis>: If <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1allocator__traits_1a0701b56d932091c18e3c4b78ffc90c80">allocator_traits_type::propagate_on_container_move_assignment</link> is false and (allocation throws or value_type's move constructor throws)</para><para><emphasis role="bold">Complexity</emphasis>: Constant if allocator_traits_type:: propagate_on_container_move_assignment is true or this-&gt;get&gt;allocator() == x.get_allocator(). Linear otherwise. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1ad4f2d3709f00373f52df2f0ee8b858ad"><type><classname>set</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy all elements from il to *this.</para><para><emphasis role="bold">Complexity</emphasis>: Linear in il.size(). </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a44077486a781ad130ac1a4278950f9d7" name="get_allocator" cv="const"><type>allocator_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a copy of the allocator that was passed to the object's constructor.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1ac7b677a4ef5485e0f76000256a381f0c" name="get_stored_allocator"><type>stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a05f77196d4c6d1635f9b561fbe4aaad4" name="get_stored_allocator" cv="const"><type>const stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1aa4bba9b6b717ddefb8f464d80ce475a8" name="begin"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1af4c4c01bd43553f5e54d8d9cd012f23a" name="begin" cv="const"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1adb77eabd58ded8f931eb3df5321aa93c" name="cbegin" cv="const"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5f9be7083443cbce62383d00c3b2e6c1" name="end"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a1be4dd0f928a1d4ffef1b250d0be37d3" name="end" cv="const"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a41924604b3a8026bdd6807bac970dce9" name="cend" cv="const"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a6f2e49c99420d4c786c96a0e0a76d52b" name="rbegin"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1abdea784e30feb0f15aebc2e80aa174d6" name="rbegin" cv="const"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a65fbed2f6dfdf2fa96c77f958c5d214b" name="crbegin" cv="const"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a96c96676b20cd2cac7ee9f34e38f6e2a" name="rend"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5113852af13b86c8690822c767b5caef" name="rend" cv="const"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1ac3d2ad93397d5392ae296483db308c2d" name="crend" cv="const"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1ae38dd5be674b8ee2cf68152f649b1fab" name="empty" cv="const"><type>bool</type><description><para><emphasis role="bold">Effects</emphasis>: Returns true if the container contains no elements.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a02accc3c2cd3e18a8e7cbdeb933aa6a0" name="size" cv="const"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the number of the elements contained in the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1aef904b32d86a58708d33cbcb85ee0779" name="max_size" cv="const"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the largest possible size of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a2f05fa96355f3b67377d01f300d3fcdf" name="emplace"><type>std::pair&lt; iterator, bool &gt;</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object x of type Key constructed with std::forward&lt;Args&gt;(args)... if and only if there is no element in the container with equivalent value. and returns the iterator pointing to the newly inserted element.</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion takes place, and the iterator component of the pair points to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or Key's in-place constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a1c9f835fb6befb55b3d75772ef57ddb7" name="emplace_hint"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type Key constructed with std::forward&lt;Args&gt;(args)... if and only if there is no element in the container with equivalent value. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1aa1b63fa5b6c8d6d0ec92d0475d4ccb4f" name="insert"><type>std::pair&lt; iterator, bool &gt;</type><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts x if and only if there is no element in the container with key equivalent to the key of x.</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion takes place, and the iterator component of the pair points to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a089463249012946c353dc172ae65dcb6" name="insert"><type>std::pair&lt; iterator, bool &gt;</type><parameter name="x"><paramtype>value_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructs a new value from x if and only if there is no element in the container with key equivalent to the key of x.</para><para><emphasis role="bold">Returns</emphasis>: The bool component of the returned pair is true if and only if the insertion takes place, and the iterator component of the pair points to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a16897aa05dabc9203fa39051bc188d80" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of x in the container if and only if there is no element in the container with key equivalent to the key of x. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic in general, but amortized constant if t is inserted right before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a8beeb3686ad5c8345b8bdd380254ea93" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>value_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an element move constructed from x in the container. p is a hint pointing to where the insert should start to search.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the element with key equivalent to the key of x.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a6ddf7d781654bfa82b4e76dc651b3224" name="insert"><type>void</type><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: first, last are not iterators into *this.</para><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [first,last) if and only if there is no element with key equivalent to the key of that element.</para><para><emphasis role="bold">Complexity</emphasis>: At most N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a02accc3c2cd3e18a8e7cbdeb933aa6a0">size()</link>+N) (N is the distance from first to last) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a982cd80e9b679c3715405c71cc405a77" name="insert"><type>void</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: inserts each element from the range [il.begin(),il.end()) if and only if there is no element with key equivalent to the key of that element.</para><para><emphasis role="bold">Complexity</emphasis>: At most N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a02accc3c2cd3e18a8e7cbdeb933aa6a0">size()</link>+N) (N is the distance from il.begin() to il.end()) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1ad15e591e582da5a85dd59a29c1e22d4c" name="insert"><type>insert_return_type</type><parameter name="nh"><paramtype>node_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: nh is empty or this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a44077486a781ad130ac1a4278950f9d7">get_allocator()</link> == nh.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: If nh is empty, has no effect. Otherwise, inserts the element owned by nh if and only if there is no element in the container with a key equivalent to nh.key().</para><para><emphasis role="bold">Returns</emphasis>: If nh is empty, insert_return_type.inserted is false, insert_return_type.position is <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5f9be7083443cbce62383d00c3b2e6c1">end()</link>, and insert_return_type.node is empty. Otherwise if the insertion took place, insert_return_type.inserted is true, insert_return_type.position points to the inserted element, and insert_return_type.node is empty; if the insertion failed, insert_return_type.inserted is false, insert_return_type.node has the previous value of nh, and insert_return_type.position points to an element with a key equivalent to nh.key().</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a4cd12c050d4e239deb685254fd197b9d" name="insert"><type>insert_return_type</type><parameter name="hint"><paramtype>const_iterator</paramtype></parameter><parameter name="nh"><paramtype>node_type &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Same as <computeroutput>insert(node_type &amp;&amp; nh)</computeroutput> but the element is inserted as close as possible to the position just prior to "hint".</para><para><emphasis role="bold">Complexity</emphasis>: logarithmic in general, but amortized constant if the element is inserted right before "hint".   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a008eb1e3e704e99bd0a140d40ba4cf36" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>set</classname>&lt; Key, C2, Allocator, Options &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a44077486a781ad130ac1a4278950f9d7">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Attempts to extract each element in source and insert it into a using the comparison object of *this. If there is an element in a with key equivalent to the key of an element from source, then that element is not extracted from source.</para><para><emphasis role="bold">Postcondition</emphasis>: Pointers and references to the transferred elements of source refer to those same elements but as members of *this. Iterators referring to the transferred elements will continue to refer to their elements, but they now behave as iterators into *this, not into source.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless the comparison object throws.</para><para><emphasis role="bold">Complexity</emphasis>: N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a02accc3c2cd3e18a8e7cbdeb933aa6a0">size()</link> + N) (N has the value source.size())   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a1679424362bbb6335c8ab1c346144ff5" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>set</classname>&lt; Key, C2, Allocator, Options &gt; &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a44077486a781ad130ac1a4278950f9d7">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Attempts to extract each element in source and insert it into a using the comparison object of *this. If there is an element in a with key equivalent to the key of an element from source, then that element is not extracted from source.</para><para><emphasis role="bold">Postcondition</emphasis>: Pointers and references to the transferred elements of source refer to those same elements but as members of *this. Iterators referring to the transferred elements will continue to refer to their elements, but they now behave as iterators into *this, not into source.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless the comparison object throws.</para><para><emphasis role="bold">Complexity</emphasis>: N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a02accc3c2cd3e18a8e7cbdeb933aa6a0">size()</link> + N) (N has the value source.size())    </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a19b641d07d51a907c61a0aa751869cac" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>multiset</classname>&lt; Key, C2, Allocator, Options &gt; &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a44077486a781ad130ac1a4278950f9d7">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Attempts to extract each element in source and insert it into a using the comparison object of *this. If there is an element in a with key equivalent to the key of an element from source, then that element is not extracted from source.</para><para><emphasis role="bold">Postcondition</emphasis>: Pointers and references to the transferred elements of source refer to those same elements but as members of *this. Iterators referring to the transferred elements will continue to refer to their elements, but they now behave as iterators into *this, not into source.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless the comparison object throws.</para><para><emphasis role="bold">Complexity</emphasis>: N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a02accc3c2cd3e18a8e7cbdeb933aa6a0">size()</link> + N) (N has the value source.size())    </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a6c79b5ba7924ce2fd21751ee39e9d5de" name="merge"><type>void</type><template>
          <template-type-parameter name="C2"/>
        </template><parameter name="source"><paramtype><classname>multiset</classname>&lt; Key, C2, Allocator, Options &gt; &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a44077486a781ad130ac1a4278950f9d7">get_allocator()</link> == source.get_allocator().</para><para><emphasis role="bold">Effects</emphasis>: Attempts to extract each element in source and insert it into a using the comparison object of *this. If there is an element in a with key equivalent to the key of an element from source, then that element is not extracted from source.</para><para><emphasis role="bold">Postcondition</emphasis>: Pointers and references to the transferred elements of source refer to those same elements but as members of *this. Iterators referring to the transferred elements will continue to refer to their elements, but they now behave as iterators into *this, not into source.</para><para><emphasis role="bold">Throws</emphasis>: Nothing unless the comparison object throws.</para><para><emphasis role="bold">Complexity</emphasis>: N log(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a02accc3c2cd3e18a8e7cbdeb933aa6a0">size()</link> + N) (N has the value source.size())     </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a34f2bad80283538b4be942cda13590b1" name="erase"><type>size_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If present, erases the element in the container with key equivalent to x.</para><para><emphasis role="bold">Returns</emphasis>: Returns the number of erased elements (0/1).</para><para><emphasis role="bold">Complexity</emphasis>: log(size()) + count(k) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1aced0c5a89661c79cf76b6b6d484a6009" name="erase"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases the element pointed to by p.</para><para><emphasis role="bold">Returns</emphasis>: Returns an iterator pointing to the element immediately following q prior to the element being erased. If no such element exists, returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5f9be7083443cbce62383d00c3b2e6c1">end()</link>.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a1592644d304a74450d22188a100f89af" name="erase"><type>iterator</type><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases all the elements in the range [first, last).</para><para><emphasis role="bold">Returns</emphasis>: Returns last.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+N where N is the distance from first to last. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a4ebca47a49e694a33aef8a8f41fdcc56" name="extract"><type>node_type</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Removes the element pointed to by "position".</para><para><emphasis role="bold">Returns</emphasis>: A node_type owning the element, otherwise an empty node_type.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant.   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1af3dc055e5318144eda77a1bec48f23fc" name="extract"><type>node_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Removes the first element in the container with key equivalent to k.</para><para><emphasis role="bold">Returns</emphasis>: A node_type owning the element if found, otherwise an empty node_type.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()).   </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5d2b533181fcb6df63dd6a8c577a3004" name="swap" cv="noexcept(allocator_traits_type::is_always_equal::value &amp;&amp;boost::container::dtl::is_nothrow_swappable&lt; Compare &gt;::value)"><type>void</type><parameter name="x"><paramtype><classname>set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Swaps the contents of *this and x.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a3fa8105cd9c36d771d1500edc8171f18" name="clear"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1aa4bba9b6b717ddefb8f464d80ce475a8">begin()</link>,<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5f9be7083443cbce62383d00c3b2e6c1">end()</link>).</para><para><emphasis role="bold">Postcondition</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a02accc3c2cd3e18a8e7cbdeb933aa6a0">size()</link> == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a02accc3c2cd3e18a8e7cbdeb933aa6a0">size()</link>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a78e2d3db05fd0e887e5881df02896fcd" name="key_comp" cv="const"><type>key_compare</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the comparison object out of which a was constructed.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5c9b0a856809c7123293251566f9fc68" name="value_comp" cv="const"><type>value_compare</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an object of value_compare constructed out of the comparison object.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a555ef34dd1869613aa3f8893ca3ad031" name="find"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5f9be7083443cbce62383d00c3b2e6c1">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a976881ade6358d83e4740fedc31c60c0" name="find" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const_iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5f9be7083443cbce62383d00c3b2e6c1">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a454ebc9cfb1df7869c259dde42735502" name="find"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5f9be7083443cbce62383d00c3b2e6c1">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a6d52fec17bf78a8c19a6d10f9647cdb3" name="find" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const_iterator pointing to an element with the key equivalent to x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5f9be7083443cbce62383d00c3b2e6c1">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1af3ebc674cdb63999cf4216c814b7b0eb" name="count" cv="const"><type>size_type</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: The number of elements with key equivalent to x.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+count(k) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1ac9b0fa9d96f819470e6e2bd37204424f" name="count" cv="const"><type>size_type</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: The number of elements with key equivalent to x.</para><para><emphasis role="bold">Complexity</emphasis>: log(size())+count(k) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a9967fb9f96de36ae000afc4e4d2bad68" name="contains" cv="const"><type>bool</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: Returns true if there is an element with key equivalent to key in the container, otherwise false.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1af9a314ad1c5e10bad544793844fc68c3" name="contains" cv="const"><type>bool</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: Returns true if there is an element with key equivalent to key in the container, otherwise false.</para><para><emphasis role="bold">Complexity</emphasis>: log(size()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a527dff5993c6d07d1857a3c60e41b85c" name="lower_bound"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5f9be7083443cbce62383d00c3b2e6c1">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1afff674b9216ac59b4d746756d435933d" name="lower_bound" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5f9be7083443cbce62383d00c3b2e6c1">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a7d6b115066f1018bb3c15e2be2098cf2" name="lower_bound"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5f9be7083443cbce62383d00c3b2e6c1">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1aa605fa433dcfebea8897dc5a2ff04a05" name="lower_bound" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key not less than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5f9be7083443cbce62383d00c3b2e6c1">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a654f77b7335686836b13c8c69e00fea1" name="upper_bound"><type>iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5f9be7083443cbce62383d00c3b2e6c1">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a357b214e1b56d34601d983c5eb1d0e7a" name="upper_bound" cv="const"><type>const_iterator</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5f9be7083443cbce62383d00c3b2e6c1">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1af171386a4023c89a3c0f6603300fafc6" name="upper_bound"><type>iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: An iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5f9be7083443cbce62383d00c3b2e6c1">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a4789e7d8e5abea2237bc29c0e7348064" name="upper_bound" cv="const"><type>const_iterator</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Returns</emphasis>: A const iterator pointing to the first element with key greater than x, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a5f9be7083443cbce62383d00c3b2e6c1">end()</link> if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1aa925ad864ee31bbe5b1e52e4e361ad1f" name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a79eb420b75aa88071fcdac977d09e241" name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><parameter name="x"><paramtype>const key_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a65b4a69563b9aed0d8ccbcda3889d9d3" name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a338dd9f06b9dcddd1e2244c4da745052" name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><template>
          <template-type-parameter name="K"/>
        </template><parameter name="x"><paramtype>const K &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: This overload is available only if key_compare::is_transparent exists.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to std::make_pair(this-&gt;lower_bound(k), this-&gt;upper_bound(k)).</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a39af32b57954d4f809f53669d20dbd4a" name="rebalance"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Rebalances the tree. It's a no-op for Red-Black and AVL trees.</para><para><emphasis role="bold">Complexity</emphasis>: Linear </para></description></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a9b948ebd848fafd231cef85fed6a924f" name="operator=="><type>bool</type><parameter name="x"><paramtype>const <classname>set</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are equal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a9816c2040af3de3cc2fdf40884c604b1" name="operator!="><type>bool</type><parameter name="x"><paramtype>const <classname>set</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are unequal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a3d5db34f24a1aa2cadb573461b31e05a" name="operator&lt;"><type>bool</type><parameter name="x"><paramtype>const <classname>set</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1aa14f01963956a1fea6f416afa2ed31e4" name="operator&gt;"><type>bool</type><parameter name="x"><paramtype>const <classname>set</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1ae7a6d31aaebdb8c9c0c5467c416f099f" name="operator&lt;="><type>bool</type><parameter name="x"><paramtype>const <classname>set</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1a8ba33bd378055786b5f5bd56098a9db6" name="operator&gt;="><type>bool</type><parameter name="x"><paramtype>const <classname>set</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1set_1aee22ffc94fbc20929195ff4dee7cc5ed" name="swap" cv="noexcept(allocator_traits_type::is_always_equal::value &amp;&amp;boost::container::dtl::is_nothrow_swappable&lt; Compare &gt;::value)"><type>void</type><parameter name="x"><paramtype><classname>set</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype><classname>set</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: x.swap(y)</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
</method-group>
</class>






























































<function id="doxygen.boost_container_header_reference.set_8hpp_1abc0cf13eb19c5533a20423ff3c659e9c" name="set"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.set_8hpp_1aa970cae72af1574e9d88a4454ccfe172" name="set"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="AllocatorOrCompare"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>AllocatorOrCompare const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.set_8hpp_1ac4f9b7a4f0e2f8180ad258aed5491cea" name="set"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Compare"/>
          <template-type-parameter name="Allocator"/>
          <template-type-parameter name=""><default>dtl::require_nonallocator_t&lt;Compare&gt;</default></template-type-parameter>
          <template-type-parameter name=""><default>dtl::require_allocator_t&lt;Allocator&gt;</default></template-type-parameter>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Compare const &amp;</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.set_8hpp_1aac41f98b544f9a43928eed1690773278" name="set"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.set_8hpp_1a71b31bff650612e0fbf85cfaa6cb2aeb" name="set"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="AllocatorOrCompare"/>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>AllocatorOrCompare const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.set_8hpp_1a526185bbe931488f51f0896c92436ee1" name="set"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Compare"/>
          <template-type-parameter name="Allocator"/>
          <template-type-parameter name=""><default>dtl::require_nonallocator_t&lt;Compare&gt;</default></template-type-parameter>
          <template-type-parameter name=""><default>dtl::require_allocator_t&lt;Allocator&gt;</default></template-type-parameter>
        </template><parameter name=""><paramtype><classname>ordered_unique_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Compare const &amp;</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.set_8hpp_1a145d4f1a8a9c9d9f4fb1a6b9e013a60f" name="multiset"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.set_8hpp_1a05ac6ba77aa1382630065453f193856a" name="multiset"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="AllocatorOrCompare"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>AllocatorOrCompare const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.set_8hpp_1a0c5386f675b9d55f81c74c3d3a3d273e" name="multiset"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Compare"/>
          <template-type-parameter name="Allocator"/>
          <template-type-parameter name=""><default>dtl::require_nonallocator_t&lt;Compare&gt;</default></template-type-parameter>
          <template-type-parameter name=""><default>dtl::require_allocator_t&lt;Allocator&gt;</default></template-type-parameter>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Compare const &amp;</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.set_8hpp_1afc4bb1e662385d3bedcbd4637d003821" name="multiset"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.set_8hpp_1abf3bc6e009b80dc038abf2a5f13c9ec9" name="multiset"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="AllocatorOrCompare"/>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>AllocatorOrCompare const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.set_8hpp_1a2d553e2d5b4e2b8b530420593b7308e9" name="multiset"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Compare"/>
          <template-type-parameter name="Allocator"/>
          <template-type-parameter name=""><default>dtl::require_nonallocator_t&lt;Compare&gt;</default></template-type-parameter>
          <template-type-parameter name=""><default>dtl::require_allocator_t&lt;Allocator&gt;</default></template-type-parameter>
        </template><parameter name=""><paramtype><classname>ordered_range_t</classname></paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Compare const &amp;</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>










































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.pmr_2slist_8hpp" name="boost/container/pmr/slist.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1slist__of" name="slist_of"><template>
      <template-type-parameter name="T"/>
    </template><description><para>A portable metafunction to obtain a slist that uses a polymorphic allocator </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1slist__of_1a93007ffdfb016cc181a67b7bc2be882e" name="type"><type><classname>boost::container::slist</classname>&lt; T, <classname>polymorphic_allocator</classname>&lt; T &gt; &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.pmr_2slist_8hpp_1a7a745ee4541368f0561b6a4d6eab30d2" name="slist"><type><classname>boost::container::slist</classname>&lt; T, <classname>polymorphic_allocator</classname>&lt; T &gt; &gt;</type></typedef>






</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.slist_8hpp" name="boost/container/slist.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist" name="slist"><template>
      <template-type-parameter name="T"><purpose><para>The type of object that is stored in the list </para></purpose></template-type-parameter>
      <template-type-parameter name="Allocator"><default>void</default><purpose><para>The allocator used for all internal memory management, use void for the default allocator </para></purpose></template-type-parameter>
    </template><inherit access="protected">dtl::node_alloc_holder&lt; real_allocator&lt; T, void &gt;::type, dtl::intrusive_slist_type&lt; real_allocator&lt; T, void &gt;::type &gt;::type &gt;</inherit><description><para>An slist is a singly linked list: a list where each element is linked to the next element, but not to the previous element. That is, it is a Sequence that supports forward but not backward traversal, and (amortized) constant time insertion and removal of elements. Slists, like lists, have the important property that insertion and splicing do not invalidate iterators to list elements, and that even removal invalidates only the iterators that point to the elements that are removed. The ordering of iterators may be changed (that is, slist&lt;T&gt;::iterator might have a different predecessor or successor after a list operation than it did before), but the iterators themselves will not be invalidated or made to point to different elements unless that invalidation or mutation is explicit.</para><para>The main difference between slist and list is that list's iterators are bidirectional iterators, while slist's iterators are forward iterators. This means that slist is less versatile than list; frequently, however, bidirectional iterators are unnecessary. You should usually use slist unless you actually need the extra functionality of list, because singly linked lists are smaller and faster than double linked lists.</para><para>Important performance note: like every other Sequence, slist defines the member functions insert and erase. Using these member functions carelessly, however, can result in disastrously slow programs. The problem is that insert's first argument is an iterator p, and that it inserts the new element(s) before p. This means that insert must find the iterator just before p; this is a constant-time operation for list, since list has bidirectional iterators, but for slist it must find that iterator by traversing the list from the beginning up to p. In other words: insert and erase are slow operations anywhere but near the beginning of the slist.</para><para>Slist provides the member functions insert_after and erase_after, which are constant time operations: you should always use insert_after and erase_after whenever possible. If you find that insert_after and erase_after aren't adequate for your needs, and that you often need to use insert and erase in the middle of the list, then you should probably use list instead of slist.</para><para>
</para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a4f70c9b9cd2921a222441d5aa72888f9" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a7467babaf543bd513e67382eb5ad3869" name="pointer"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a143d9908495bb47b289073d01b4d6376" name="const_pointer"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aff007872b00573c2b44dc8a63e6c9a19" name="reference"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a5e43044fc3852233f03ccda2e7c2cff1" name="const_reference"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::const_reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1ac792b6a428f01274acb0a56d9f03bb89" name="size_type"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a08ce0d960b1a5c8ae64d32a77c0b500b" name="difference_type"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a66709ca6cc4c2f66126eaffde7519f2f" name="allocator_type"><type>ValueAllocator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a0c55cfe135f80f25748c11d438fd849e" name="stored_allocator_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1ac130e4202582f92e7b9ad9fc971566e6" name="iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1ac41224d9d8b20c8ae96b4cfe83c38c75" name="const_iterator"><type>implementation_defined</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aad215088f04e0042c1fb0a38f1bd3328" cv="noexcept(dtl::is_nothrow_default_constructible&lt; ValueAllocator &gt;::value)"><description><para><emphasis role="bold">Effects</emphasis>: Constructs a list taking the allocator as parameter.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a304f97434791ba4c1c97698f7fc743b6" specifiers="explicit" cv="noexcept"><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a list taking the allocator as parameter.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a95625fcebc7920f9b2b668edcb034c18" specifiers="explicit"><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a list and inserts n value-initialized value_types.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's default or copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a52f1403dc0f2c48c090aef8cf84bdb4b"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a list that will use a copy of allocator a and inserts n copies of value.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's default or copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1af698c6200c8af3554593e09d4024ea48" specifiers="explicit"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a list that will use a copy of allocator a and inserts n copies of value.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's default or copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a2dae548940be198832b88d08c8963c61"><template>
          <template-type-parameter name="InpIt"/>
        </template><parameter name="first"><paramtype>InpIt</paramtype></parameter><parameter name="last"><paramtype>InpIt</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a list that will use a copy of allocator a and inserts a copy of the range [first, last) in the list.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's constructor taking a dereferenced InIt throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the range [first, last). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a601c82dc529087bfa8df75bd460bdd71"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a list that will use a copy of allocator a and inserts a copy of the range [il.begin(), il.end()) in the list.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's constructor taking a dereferenced std::initializer_list iterator throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the range [il.begin(), il.end()). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a83d5e179eb3137f322d9cb0ab1290876"><parameter name="x"><paramtype>const <classname>slist</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a list. <emphasis role="bold">Postcondition</emphasis>: x == *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements x contains. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a86a878f5d9f962b30dda019c21f393e0" cv="noexcept"><parameter name="x"><paramtype><classname>slist</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructor. Moves x's resources to *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1afa03fc5f6fceebdbe74b8e42b2eb54fa"><parameter name="x"><paramtype>const <classname>slist</classname> &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a list using the specified allocator.</para><para><emphasis role="bold">Postcondition</emphasis>: x == *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements x contains. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a6d1a40ff640ff8fb28754701c9b0a8bd"><parameter name="x"><paramtype><classname>slist</classname> &amp;&amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructor using the specified allocator. Moves x's resources to *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocation or value_type's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant if a == x.get_allocator(), linear otherwise. </para></description></constructor>
<destructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a275cad2e5d9dacaa819e46318bd7e34c" cv="noexcept"><description><para><emphasis role="bold">Effects</emphasis>: Destroys the list. All stored values are destroyed and used memory is deallocated.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements. </para></description></destructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a4ed6f2ec6fa90168e252d6728439de7e"><type><classname>slist</classname> &amp;</type><parameter name="x"><paramtype>const <classname>slist</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Makes *this contain the same elements as x.</para><para><emphasis role="bold">Postcondition</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aa06cfdc843e3f96a5d026dd4b6a50567">size()</link> == x.size(). *this contains a copy of each of x's elements.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in x. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a1925d9a23baae6a9be2100e96a5d10fd" cv="noexcept(allocator_traits_type::propagate_on_container_move_assignment::value||allocator_traits_type::is_always_equal::value)"><type><classname>slist</classname> &amp;</type><parameter name="x"><paramtype><classname>slist</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Makes *this contain the same elements as x.</para><para><emphasis role="bold">Postcondition</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aa06cfdc843e3f96a5d026dd4b6a50567">size()</link> == x.size(). *this contains a copy of each of x's elements.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_traits_type::propagate_on_container_move_assignment is false and (allocation throws or value_type's move constructor throws)</para><para><emphasis role="bold">Complexity</emphasis>: Constant if allocator_traits_type:: propagate_on_container_move_assignment is true or this-&gt;get&gt;allocator() == x.get_allocator(). Linear otherwise. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a94bf0a18fa6c47c5d72029f271e331c6"><type><classname>slist</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Makes *this contain the same elements as in il.</para><para><emphasis role="bold">Postcondition</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aa06cfdc843e3f96a5d026dd4b6a50567">size()</link> == il.size(). *this contains a copy of each of il's elements.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_traits_type::propagate_on_container_move_assignment is false and (allocation throws or value_type's move constructor throws) </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1ae69a26469913f04ca27fba4d9e333656" name="assign"><type>void</type><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="val"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assigns the n copies of val to *this.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1ab6ea7de8948b7988ae2959c72b2fb395" name="assign"><type>void</type><template>
          <template-type-parameter name="InpIt"/>
        </template><parameter name="first"><paramtype>InpIt</paramtype></parameter><parameter name="last"><paramtype>InpIt</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assigns the range [first, last) to *this.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's constructor from dereferencing InpIt throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1ae73bf0642e25328acd381b20ef7a80d7" name="assign"><type>void</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assigns the range [il.begin(), il.end()) to *this.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's constructor from dereferencing std::initializer_list iterator throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to range [il.begin(), il.end()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a2d57aefbad2b5f9598f82e7fb6b6e93d" name="get_allocator" cv="const noexcept"><type>allocator_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a copy of the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: If allocator's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a540a02eea5b23055b605a2f0e9bb6092" name="get_stored_allocator" cv="noexcept"><type>stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a7bc2941694bc7054eadbe69cbea1d46b" name="get_stored_allocator" cv="const noexcept"><type>const stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1af934a72b0489a0569e43ab4d12c3231e" name="before_begin" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a non-dereferenceable iterator that, when incremented, yields <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a547941b584716778f3b112585fe21697">begin()</link>. This iterator may be used as the argument to insert_after, erase_after, etc.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a713b012d720696e204c5658286c519d4" name="before_begin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a non-dereferenceable const_iterator that, when incremented, yields <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a547941b584716778f3b112585fe21697">begin()</link>. This iterator may be used as the argument to insert_after, erase_after, etc.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a547941b584716778f3b112585fe21697" name="begin" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the first element contained in the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a6347f09d5dbc01445db205a7665c54bc" name="begin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a4870f4393a7b4fc8eaef4193f489e493" name="end" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the end of the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a2e48b6b1d7271023514598177812f328" name="end" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1ae63654756ec011abb8cd57a1cac8f692" name="cbefore_begin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a non-dereferenceable const_iterator that, when incremented, yields <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a547941b584716778f3b112585fe21697">begin()</link>. This iterator may be used as the argument to insert_after, erase_after, etc.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a76eb6f1ff71c8f4322fadcbed53923dd" name="cbegin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a2f92a3bd05715dbe1829694a2a65f03f" name="cend" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1ad0b9e11d924102d80d5fca8446c8d791" name="previous" cv="noexcept"><type>iterator</type><parameter name="p"><paramtype>iterator</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: The iterator to the element before i in the sequence. Returns the end-iterator, if either i is the begin-iterator or the sequence is empty.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements before i.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a8d8bdb8ccf3d60c0055beb44dd7bf32f" name="previous"><type>const_iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Returns</emphasis>: The const_iterator to the element before i in the sequence. Returns the end-const_iterator, if either i is the begin-const_iterator or the sequence is empty.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements before i.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a115e8d947c363838ed88b2fbdff8d0cd" name="empty" cv="const"><type>bool</type><description><para><emphasis role="bold">Effects</emphasis>: Returns true if the list contains no elements.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aa06cfdc843e3f96a5d026dd4b6a50567" name="size" cv="const"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the number of the elements contained in the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1abf10058a8ae876107c2d8f5d0614eba4" name="max_size" cv="const"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the largest possible size of the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a51ad89f1a9d27efe43a22a530dd7f566" name="resize"><type>void</type><parameter name="new_size"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts or erases elements at the end such that the size becomes n. New elements are value initialized.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the difference between <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aa06cfdc843e3f96a5d026dd4b6a50567">size()</link> and new_size. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aca04452a20761cd45603664ed82c17cc" name="resize"><type>void</type><parameter name="new_size"><paramtype>size_type</paramtype></parameter><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts or erases elements at the end such that the size becomes n. New elements are copy constructed from x.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the difference between <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aa06cfdc843e3f96a5d026dd4b6a50567">size()</link> and new_size. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a579534e24bb1a997fb459c877fccc506" name="front"><type>reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the first element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a60b4f180322dd30a6008e7ae5de3a4ca" name="front" cv="const"><type>const_reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the first element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a964d79ccf05f983706e39103074892ef" name="emplace_front"><type>reference</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... in the front of the list</para><para><emphasis role="bold">Returns</emphasis>: A reference to the created object.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a8eca1090183d34fcb918e5b2d9ff6aed" name="emplace_after"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="prev"><paramtype>const_iterator</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... after prev</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's in-place constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a98d63d6b47daea08b47d9d3324147802" name="push_front"><type>void</type><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of x at the beginning of the list.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a63849e53afebbd34541a587000adccd6" name="push_front"><type>void</type><parameter name="x"><paramtype>T &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a new element in the beginning of the list and moves the resources of x to this new element.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a41bcc98498d189561f5d52bfd73bda68" name="insert_after"><type>iterator</type><parameter name="prev_p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of the value after prev_p.</para><para><emphasis role="bold">Returns</emphasis>: An iterator to the inserted element.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time.</para><para><emphasis role="bold">Note</emphasis>: Does not affect the validity of iterators and references of previous values. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a5ec3d78b19a21aa087b05b1a6cca0590" name="insert_after"><type>iterator</type><parameter name="prev_p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>T &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: prev_p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Inserts a move constructed copy object from the value after the element pointed by prev_p.</para><para><emphasis role="bold">Returns</emphasis>: An iterator to the inserted element.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time.</para><para><emphasis role="bold">Note</emphasis>: Does not affect the validity of iterators and references of previous values. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a4e2cf24bec15a45c5fea11074f63750a" name="insert_after"><type>iterator</type><parameter name="prev_p"><paramtype>const_iterator</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: prev_p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Inserts n copies of x after prev_p.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the last inserted element or prev_p if n is 0.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n.</para><para><emphasis role="bold">Note</emphasis>: Does not affect the validity of iterators and references of previous values. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aed093728c4948bf10269d481f7c76fa1" name="insert_after"><type>iterator</type><template>
          <template-type-parameter name="InpIt"/>
        </template><parameter name="prev_p"><paramtype>const_iterator</paramtype></parameter><parameter name="first"><paramtype>InpIt</paramtype></parameter><parameter name="last"><paramtype>InpIt</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: prev_p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Inserts the range pointed by [first, last) after prev_p.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the last inserted element or prev_p if first == last.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, T's constructor from a dereferenced InpIt throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements inserted.</para><para><emphasis role="bold">Note</emphasis>: Does not affect the validity of iterators and references of previous values. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a840548f28e4bfeb0c1c32d7c8767f1c0" name="insert_after"><type>iterator</type><parameter name="prev_p"><paramtype>const_iterator</paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: prev_p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Inserts the range pointed by [il.begin(), il.end()) after prev_p.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the last inserted element or prev_p if il.begin() == il.end().</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, T's constructor from a dereferenced std::initializer_list iterator throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements inserted.</para><para><emphasis role="bold">Note</emphasis>: Does not affect the validity of iterators and references of previous values. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a70b3679ff68a6c467328f47fd0b6e780" name="pop_front"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Removes the first element from the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1ab943cb116c6fcd42614c03b73242c8bc" name="erase_after"><type>iterator</type><parameter name="prev_p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases the element after the element pointed by prev_p of the list.</para><para><emphasis role="bold">Returns</emphasis>: the first element remaining beyond the removed elements, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a4870f4393a7b4fc8eaef4193f489e493">end()</link> if no such element exists.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Does not invalidate iterators or references to non erased elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1af6b093bac185f0dd0f8b657fe9ccf8d0" name="erase_after"><type>iterator</type><parameter name="before_first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases the range (before_first, last) from the list.</para><para><emphasis role="bold">Returns</emphasis>: the first element remaining beyond the removed elements, or <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a4870f4393a7b4fc8eaef4193f489e493">end()</link> if no such element exists.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of erased elements.</para><para><emphasis role="bold">Note</emphasis>: Does not invalidate iterators or references to non erased elements. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a29abe123810ff86784c6ae90613b014d" name="swap" cv="noexcept(allocator_traits_type::propagate_on_container_swap::value||allocator_traits_type::is_always_equal::value)"><type>void</type><parameter name="x"><paramtype><classname>slist</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Swaps the contents of *this and x.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements on *this and x. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a489866047adaf3ade42bb275db9281ff" name="clear"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Erases all the elements of the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the list. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1ae8dc04c9130fec4c415dad47a8050201" name="splice_after" cv="noexcept"><type>void</type><parameter name="prev_p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>slist</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must point to an element contained by the list. x != *this</para><para><emphasis role="bold">Effects</emphasis>: Transfers all the elements of list x to this list, after the the element pointed by p. No destructors or copy constructors are called.</para><para><emphasis role="bold">Throws</emphasis>: runtime_error if this' allocator and x's allocator are not equal.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements in x.</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a50db9e36ef2a53e3f28cc8f0c7ef10f0" name="splice_after" cv="noexcept"><type>void</type><parameter name="prev_p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>slist</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must point to an element contained by the list. x != *this</para><para><emphasis role="bold">Effects</emphasis>: Transfers all the elements of list x to this list, after the the element pointed by p. No destructors or copy constructors are called.</para><para><emphasis role="bold">Throws</emphasis>: runtime_error if this' allocator and x's allocator are not equal.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements in x.</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1afcc6bb03043f87ef05ad1b5240416625" name="splice_after" cv="noexcept"><type>void</type><parameter name="prev_p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>slist</classname> &amp;</paramtype></parameter><parameter name="prev"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: prev_p must be a valid iterator of this. i must point to an element contained in list x. this' allocator and x's allocator shall compare equal.</para><para><emphasis role="bold">Effects</emphasis>: Transfers the value pointed by i, from list x to this list, after the element pointed by prev_p. If prev_p == prev or prev_p == ++prev, this function is a null operation.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1ae564474c50512b5d76c877867fa482eb" name="splice_after" cv="noexcept"><type>void</type><parameter name="prev_p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>slist</classname> &amp;&amp;</paramtype></parameter><parameter name="prev"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: prev_p must be a valid iterator of this. i must point to an element contained in list x. this' allocator and x's allocator shall compare equal.</para><para><emphasis role="bold">Effects</emphasis>: Transfers the value pointed by i, from list x to this list, after the element pointed by prev_p. If prev_p == prev or prev_p == ++prev, this function is a null operation.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aeb5bd896bc2be3cbba80a051d9b0de84" name="splice_after" cv="noexcept"><type>void</type><parameter name="prev_p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>slist</classname> &amp;</paramtype></parameter><parameter name="before_first"><paramtype>const_iterator</paramtype></parameter><parameter name="before_last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: prev_p must be a valid iterator of this. before_first and before_last must be valid iterators of x. prev_p must not be contained in [before_first, before_last) range. this' allocator and x's allocator shall compare equal.</para><para><emphasis role="bold">Effects</emphasis>: Transfers the range [before_first + 1, before_last + 1) from list x to this list, after the element pointed by prev_p.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of transferred elements.</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a0aebb9ebbcacd63a71a58bebe1da27ba" name="splice_after" cv="noexcept"><type>void</type><parameter name="prev_p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>slist</classname> &amp;&amp;</paramtype></parameter><parameter name="before_first"><paramtype>const_iterator</paramtype></parameter><parameter name="before_last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: prev_p must be a valid iterator of this. before_first and before_last must be valid iterators of x. prev_p must not be contained in [before_first, before_last) range. this' allocator and x's allocator shall compare equal.</para><para><emphasis role="bold">Effects</emphasis>: Transfers the range [before_first + 1, before_last + 1) from list x to this list, after the element pointed by prev_p.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of transferred elements.</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1ae64c46ecf5c6fafd671480685d3d5b82" name="splice_after" cv="noexcept"><type>void</type><parameter name="prev_p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>slist</classname> &amp;</paramtype></parameter><parameter name="before_first"><paramtype>const_iterator</paramtype></parameter><parameter name="before_last"><paramtype>const_iterator</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: prev_p must be a valid iterator of this. before_first and before_last must be valid iterators of x. prev_p must not be contained in [before_first, before_last) range. n == distance(before_first, before_last). this' allocator and x's allocator shall compare equal.</para><para><emphasis role="bold">Effects</emphasis>: Transfers the range [before_first + 1, before_last + 1) from list x to this list, after the element pointed by prev_p.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a4cd868f9421f192a26f6a81ccf6d9e27" name="splice_after" cv="noexcept"><type>void</type><parameter name="prev_p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>slist</classname> &amp;&amp;</paramtype></parameter><parameter name="before_first"><paramtype>const_iterator</paramtype></parameter><parameter name="before_last"><paramtype>const_iterator</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: prev_p must be a valid iterator of this. before_first and before_last must be valid iterators of x. prev_p must not be contained in [before_first, before_last) range. n == distance(before_first, before_last). this' allocator and x's allocator shall compare equal.</para><para><emphasis role="bold">Effects</emphasis>: Transfers the range [before_first + 1, before_last + 1) from list x to this list, after the element pointed by prev_p.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a40497c5e833b62fc88b1b926a247de09" name="remove"><type>void</type><parameter name="value"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Removes all the elements that compare equal to value.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear time. It performs exactly <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aa06cfdc843e3f96a5d026dd4b6a50567">size()</link> comparisons for equality.</para><para><emphasis role="bold">Note</emphasis>: The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a5c7cfd369943b4654073d5cd43038007" name="remove_if"><type>void</type><template>
          <template-type-parameter name="Pred"/>
        </template><parameter name="pred"><paramtype>Pred</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Removes all the elements for which a specified predicate is satisfied.</para><para><emphasis role="bold">Throws</emphasis>: If pred throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear time. It performs exactly <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aa06cfdc843e3f96a5d026dd4b6a50567">size()</link> calls to the predicate.</para><para><emphasis role="bold">Note</emphasis>: The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a36029ffe025008fd16a99051898b4c92" name="unique"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Removes adjacent duplicate elements or adjacent elements that are equal from the list.</para><para><emphasis role="bold">Throws</emphasis>: If comparison throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear time (<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aa06cfdc843e3f96a5d026dd4b6a50567">size()</link>-1 comparisons equality comparisons).</para><para><emphasis role="bold">Note</emphasis>: The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1ac9b0560b3dd598f99ac03c1560faec12" name="unique"><type>void</type><template>
          <template-type-parameter name="Pred"/>
        </template><parameter name="pred"><paramtype>Pred</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Removes adjacent duplicate elements or adjacent elements that satisfy some binary predicate from the list.</para><para><emphasis role="bold">Throws</emphasis>: If pred throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear time (<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aa06cfdc843e3f96a5d026dd4b6a50567">size()</link>-1 comparisons calls to pred()).</para><para><emphasis role="bold">Note</emphasis>: The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a3e236333684165885329e079f51ec26d" name="merge"><type>void</type><parameter name="x"><paramtype><classname>slist</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: The lists x and *this must be distinct.</para><para><emphasis role="bold">Effects</emphasis>: This function removes all of x's elements and inserts them in order into *this according to std::less&lt;value_type&gt;. The merge is stable; that is, if an element from *this is equivalent to one from x, then the element from *this will precede the one from x.</para><para><emphasis role="bold">Throws</emphasis>: If comparison throws.</para><para><emphasis role="bold">Complexity</emphasis>: This function is linear time: it performs at most <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aa06cfdc843e3f96a5d026dd4b6a50567">size()</link> + x.size() - 1 comparisons. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a6a4d554f3d2d428e3218cf024e1f13b7" name="merge"><type>void</type><parameter name="x"><paramtype><classname>slist</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: The lists x and *this must be distinct.</para><para><emphasis role="bold">Effects</emphasis>: This function removes all of x's elements and inserts them in order into *this according to std::less&lt;value_type&gt;. The merge is stable; that is, if an element from *this is equivalent to one from x, then the element from *this will precede the one from x.</para><para><emphasis role="bold">Throws</emphasis>: If comparison throws.</para><para><emphasis role="bold">Complexity</emphasis>: This function is linear time: it performs at most <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aa06cfdc843e3f96a5d026dd4b6a50567">size()</link> + x.size() - 1 comparisons. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1afb8c40179d55ffc27a068eb63bf6b934" name="merge"><type>void</type><template>
          <template-type-parameter name="StrictWeakOrdering"/>
        </template><parameter name="x"><paramtype><classname>slist</classname> &amp;</paramtype></parameter><parameter name="comp"><paramtype>StrictWeakOrdering</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a comparison function that induces a strict weak ordering and both *this and x must be sorted according to that ordering The lists x and *this must be distinct.</para><para><emphasis role="bold">Effects</emphasis>: This function removes all of x's elements and inserts them in order into *this. The merge is stable; that is, if an element from *this is equivalent to one from x, then the element from *this will precede the one from x.</para><para><emphasis role="bold">Throws</emphasis>: If comp throws.</para><para><emphasis role="bold">Complexity</emphasis>: This function is linear time: it performs at most <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aa06cfdc843e3f96a5d026dd4b6a50567">size()</link> + x.size() - 1 comparisons.</para><para><emphasis role="bold">Note</emphasis>: Iterators and references to *this are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a6e9a052c0f3dd96818359fc769b3987b" name="merge"><type>void</type><template>
          <template-type-parameter name="StrictWeakOrdering"/>
        </template><parameter name="x"><paramtype><classname>slist</classname> &amp;&amp;</paramtype></parameter><parameter name="comp"><paramtype>StrictWeakOrdering</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a comparison function that induces a strict weak ordering and both *this and x must be sorted according to that ordering The lists x and *this must be distinct.</para><para><emphasis role="bold">Effects</emphasis>: This function removes all of x's elements and inserts them in order into *this. The merge is stable; that is, if an element from *this is equivalent to one from x, then the element from *this will precede the one from x.</para><para><emphasis role="bold">Throws</emphasis>: If comp throws.</para><para><emphasis role="bold">Complexity</emphasis>: This function is linear time: it performs at most <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1aa06cfdc843e3f96a5d026dd4b6a50567">size()</link> + x.size() - 1 comparisons.</para><para><emphasis role="bold">Note</emphasis>: Iterators and references to *this are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a362d71bc0a46e67735eb17e84704fb3f" name="sort"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: This function sorts the list *this according to std::less&lt;value_type&gt;. The sort is stable, that is, the relative order of equivalent elements is preserved.</para><para><emphasis role="bold">Throws</emphasis>: If comparison throws.</para><para><emphasis role="bold">Notes</emphasis>: Iterators and references are not invalidated.</para><para><emphasis role="bold">Complexity</emphasis>: The number of comparisons is approximately N log N, where N is the list's size. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a74d783b336072ec646653b7a85d1eb9f" name="sort"><type>void</type><template>
          <template-type-parameter name="StrictWeakOrdering"/>
        </template><parameter name="comp"><paramtype>StrictWeakOrdering</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: This function sorts the list *this according to std::less&lt;value_type&gt;. The sort is stable, that is, the relative order of equivalent elements is preserved.</para><para><emphasis role="bold">Throws</emphasis>: If comp throws.</para><para><emphasis role="bold">Notes</emphasis>: Iterators and references are not invalidated.</para><para><emphasis role="bold">Complexity</emphasis>: The number of comparisons is approximately N log N, where N is the list's size. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1ac52273f5b4cb949fa5b468fc574ad19e" name="reverse" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Reverses the order of elements in the list.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: This function is linear time.</para><para><emphasis role="bold">Note</emphasis>: Iterators and references are not invalidated </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a9f2ec149eca2262538edc2fa6db54c0e" name="emplace"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... before p</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's in-place constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements before p </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1af62e48e70dfc052ae1cdedbda7a8b441" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a copy of x before p.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the inserted element.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or x's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a333985ec13fe9611452c187846cc1ea0" name="insert"><type>iterator</type><parameter name="prev_p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>T &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a new element before p with x's resources.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the inserted element.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a690ab6f58c43d4e356a2b10f400a7ad3" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="x"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Inserts n copies of x before p.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or p if n == 0.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n plus linear to the elements before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1ab1b53aec03448f62df3141768891658b" name="insert"><type>iterator</type><template>
          <template-type-parameter name="InIter"/>
        </template><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="first"><paramtype>InIter</paramtype></parameter><parameter name="last"><paramtype>InIter</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a copy of the [first, last) range before p.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or p if first == last.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, T's constructor from a dereferenced InpIt throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to distance [first, last) plus linear to the elements before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1accfbcbfcac503e97b96b56df01394145" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a copy of the [il.begin(), il.end()) range before p.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or p if il.begin() == il.end().</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, T's constructor from a dereferenced std::initializer_list iterator throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the range [il.begin(), il.end()) plus linear to the elements before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1acb1203016d8689ac7fc8bc044871b203" name="erase" cv="noexcept"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Erases the element at p.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements before p. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a24837df082578a815a58e8f6b47104ea" name="erase" cv="noexcept"><type>iterator</type><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: first and last must be valid iterator to elements in *this.</para><para><emphasis role="bold">Effects</emphasis>: Erases the elements pointed by [first, last).</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the distance between first and last plus linear to the elements before first. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a14cc1a2878d7746aa0fb74d3103bff27" name="splice" cv="noexcept"><type>void</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>slist</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must point to an element contained by the list. x != *this. this' allocator and x's allocator shall compare equal</para><para><emphasis role="bold">Effects</emphasis>: Transfers all the elements of list x to this list, before the the element pointed by p. No destructors or copy constructors are called.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Linear in distance(begin(), p), and linear in x.size().</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1ae08224adce4f9e1518a50107222503e6" name="splice" cv="noexcept"><type>void</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>slist</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must point to an element contained by the list. x != *this. this' allocator and x's allocator shall compare equal</para><para><emphasis role="bold">Effects</emphasis>: Transfers all the elements of list x to this list, before the the element pointed by p. No destructors or copy constructors are called.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Linear in distance(begin(), p), and linear in x.size().</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a8892cf9f6eb55a9d0bab4cab307928e7" name="splice" cv="noexcept"><type>void</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>slist</classname> &amp;</paramtype></parameter><parameter name="i"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must point to an element contained by this list. i must point to an element contained in list x. this' allocator and x's allocator shall compare equal</para><para><emphasis role="bold">Effects</emphasis>: Transfers the value pointed by i, from list x to this list, before the element pointed by p. No destructors or copy constructors are called. If p == i or p == ++i, this function is a null operation.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Linear in distance(begin(), p), and in distance(x.begin(), i).</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a50359dbc3de245a0fbf68f2d2c341b33" name="splice" cv="noexcept"><type>void</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>slist</classname> &amp;&amp;</paramtype></parameter><parameter name="i"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must point to an element contained by this list. i must point to an element contained in list x. this' allocator and x's allocator shall compare equal.</para><para><emphasis role="bold">Effects</emphasis>: Transfers the value pointed by i, from list x to this list, before the element pointed by p. No destructors or copy constructors are called. If p == i or p == ++i, this function is a null operation.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Linear in distance(begin(), p), and in distance(x.begin(), i).</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a6214dacfe6386672905417e89882c5af" name="splice" cv="noexcept"><type>void</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>slist</classname> &amp;</paramtype></parameter><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must point to an element contained by this list. first and last must point to elements contained in list x.</para><para><emphasis role="bold">Effects</emphasis>: Transfers the range pointed by first and last from list x to this list, before the element pointed by p. No destructors or copy constructors are called. this' allocator and x's allocator shall compare equal.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Linear in distance(begin(), p), in distance(x.begin(), first), and in distance(first, last).</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a8c4a20b670652f2014c16c7b2246fba6" name="splice" cv="noexcept"><type>void</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype><classname>slist</classname> &amp;&amp;</paramtype></parameter><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must point to an element contained by this list. first and last must point to elements contained in list x. this' allocator and x's allocator shall compare equal</para><para><emphasis role="bold">Effects</emphasis>: Transfers the range pointed by first and last from list x to this list, before the element pointed by p. No destructors or copy constructors are called.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Linear in distance(begin(), p), in distance(x.begin(), first), and in distance(first, last).</para><para><emphasis role="bold">Note</emphasis>: Iterators of values obtained from list x now point to elements of this list. Iterators of this list and all the references are not invalidated. </para></description></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a0767357925bf4a477bccb39153ef5f12" name="operator=="><type>bool</type><parameter name="x"><paramtype>const <classname>slist</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>slist</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are equal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1abc19f1270117c54505a27253b97ed991" name="operator!="><type>bool</type><parameter name="x"><paramtype>const <classname>slist</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>slist</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are unequal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1af77ddcc2460cfe08910ff0c9cc05edcf" name="operator&lt;"><type>bool</type><parameter name="x"><paramtype>const <classname>slist</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>slist</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a8b7a78e3cfd3e86bc845c12198b56710" name="operator&gt;"><type>bool</type><parameter name="x"><paramtype>const <classname>slist</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>slist</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1acbfab31b56482c028d31705a48110375" name="operator&lt;="><type>bool</type><parameter name="x"><paramtype>const <classname>slist</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>slist</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a775170b49a94f56cf78a4916f3d6205b" name="operator&gt;="><type>bool</type><parameter name="x"><paramtype>const <classname>slist</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>slist</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1slist_1a4432c313dee6c773981e8bcf292cb73c" name="swap" cv="noexcept(noexcept(x.swap(y)))"><type>void</type><parameter name="x"><paramtype><classname>slist</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype><classname>slist</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: x.swap(y)</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
</method-group>
</class>




























































<function id="doxygen.boost_container_header_reference.slist_8hpp_1a861cba3a2169de8f97664a5cfcd9925e" name="slist"><type/><template>
          <template-type-parameter name="InpIt"/>
        </template><parameter name=""><paramtype>InpIt</paramtype></parameter><parameter name=""><paramtype>InpIt</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.slist_8hpp_1a6eb89c7846a42ebd422fe5d5970e55ef" name="slist"><type/><template>
          <template-type-parameter name="InpIt"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name=""><paramtype>InpIt</paramtype></parameter><parameter name=""><paramtype>InpIt</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>






















































</namespace>
</namespace>
<namespace name="std">
<class-specialization id="doxygen.boost_container_header_reference.classstd_1_1insert__iterator_3_01boost_1_1container_1_1slist_3_01T_00_01ValueAllocator_01_4_01_4" name="insert_iterator"><template>
      <template-type-parameter name="T"/>
      <template-type-parameter name="ValueAllocator"/>
    </template><specialization><template-arg>boost::container::slist&lt; T</template-arg><template-arg>ValueAllocator &gt;</template-arg></specialization><description><para>A specialization of insert_iterator that works with slist </para></description><typedef id="doxygen.boost_container_header_reference.classstd_1_1insert__iterator_3_01boost_1_1container_1_1slist_3_01T_00_01ValueAllocator_01_4_01_4_1ad5ae419b409cb0c39229806594353f5b" name="container_type"><type><classname>Container</classname></type></typedef>
<typedef id="doxygen.boost_container_header_reference.classstd_1_1insert__iterator_3_01boost_1_1container_1_1slist_3_01T_00_01ValueAllocator_01_4_01_4_1a09e253658005b27b2aca81843449d062" name="iterator_category"><type>output_iterator_tag</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classstd_1_1insert__iterator_3_01boost_1_1container_1_1slist_3_01T_00_01ValueAllocator_01_4_01_4_1a9ea5404ad8d5a727b2fa6e4329eda1cd" name="value_type"><type>void</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classstd_1_1insert__iterator_3_01boost_1_1container_1_1slist_3_01T_00_01ValueAllocator_01_4_01_4_1aa157955fabd57abe56c4b738aa34b249" name="difference_type"><type>void</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classstd_1_1insert__iterator_3_01boost_1_1container_1_1slist_3_01T_00_01ValueAllocator_01_4_01_4_1a214a08ecb6d1ce7a2b5994b25fb79837" name="pointer"><type>void</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classstd_1_1insert__iterator_3_01boost_1_1container_1_1slist_3_01T_00_01ValueAllocator_01_4_01_4_1a303af92d05e1bc8f894ae8153486bf64" name="reference"><type>void</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classstd_1_1insert__iterator_3_01boost_1_1container_1_1slist_3_01T_00_01ValueAllocator_01_4_01_4_1ae43cde899cf6eec2f7d40bebd582f013"><parameter name="x"><paramtype><classname>Container</classname> &amp;</paramtype></parameter><parameter name="i"><paramtype>typename Container::iterator</paramtype></parameter><parameter name="is_previous"><paramtype>bool</paramtype><default>false</default></parameter></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classstd_1_1insert__iterator_3_01boost_1_1container_1_1slist_3_01T_00_01ValueAllocator_01_4_01_4_1a4120acdb8765820eaef06def6a3134cf"><type>insert_iterator&lt; <classname>Container</classname> &gt; &amp;</type><parameter name="value"><paramtype>const typename Container::value_type &amp;</paramtype></parameter></copy-assignment>
<method id="doxygen.boost_container_header_reference.classstd_1_1insert__iterator_3_01boost_1_1container_1_1slist_3_01T_00_01ValueAllocator_01_4_01_4_1a6dc8ddefae67bb8f9b175239a2681118" name="operator*"><type>insert_iterator&lt; <classname>Container</classname> &gt; &amp;</type></method>
<method id="doxygen.boost_container_header_reference.classstd_1_1insert__iterator_3_01boost_1_1container_1_1slist_3_01T_00_01ValueAllocator_01_4_01_4_1a5b62a43b0f143da31f459f5a5d945417" name="operator++"><type>insert_iterator&lt; <classname>Container</classname> &gt; &amp;</type></method>
<method id="doxygen.boost_container_header_reference.classstd_1_1insert__iterator_3_01boost_1_1container_1_1slist_3_01T_00_01ValueAllocator_01_4_01_4_1a1ae690be8bdc724fdda49d4b84883b80" name="operator++"><type>insert_iterator&lt; <classname>Container</classname> &gt; &amp;</type><parameter name=""><paramtype>int</paramtype></parameter></method>
</method-group>
</class-specialization></namespace>
</header>
<header id="doxygen.boost_container_header_reference.pmr_2small__vector_8hpp" name="boost/container/pmr/small_vector.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1small__vector__of" name="small_vector_of"><template>
      <template-type-parameter name="T"/>
      <template-nontype-parameter name="N"><type>std::size_t</type></template-nontype-parameter>
    </template><description><para>A portable metafunction to obtain a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector">small_vector</link> that uses a polymorphic allocator </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1small__vector__of_1a9195bb3101b4df6762391e8bfeed8a44" name="type"><type><classname>boost::container::small_vector</classname>&lt; T, N, <classname>polymorphic_allocator</classname>&lt; T &gt; &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.pmr_2small__vector_8hpp_1a1c73ab3092f22f870fcc7e2dad4406f4" name="small_vector"><type><classname>boost::container::small_vector</classname>&lt; T, N, <classname>polymorphic_allocator</classname>&lt; T &gt; &gt;</type></typedef>






</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.small__vector_8hpp" name="boost/container/small_vector.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector" name="small_vector"><template>
      <template-type-parameter name="T"><purpose><para>The type of object that is stored in the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector">small_vector</link> </para></purpose></template-type-parameter>
      <template-nontype-parameter name="N"><type>std::size_t</type><purpose><para>The number of preallocated elements stored inside <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector">small_vector</link>. It shall be less than Allocator::max_size(); </para></purpose></template-nontype-parameter>
      <template-type-parameter name="Allocator"><default>void</default><purpose><para>The allocator used for memory management when the number of elements exceeds N. Use void for the default allocator </para></purpose></template-type-parameter>
      <template-type-parameter name="Options"><default>void</default><purpose><para>A type produced from <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1small__vector__options">boost::container::small_vector_options</link></computeroutput>. </para></purpose></template-type-parameter>
    </template><inherit access="public">boost::container::small_vector_base&lt; T, void, void &gt;</inherit><description><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector">small_vector</link> is a vector-like container optimized for the case when it contains few elements. It contains some preallocated elements in-place, which can avoid the use of dynamic storage allocation when the actual number of elements is below that preallocated threshold.</para><para><computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector">small_vector</link>&lt;T, N, Allocator, Options&gt;</computeroutput> is convertible to <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__base">small_vector_base</link>&lt;T, Allocator, Options&gt;</computeroutput> that is independent from the preallocated element capacity, so client code does not need to be templated on that N argument.</para><para>All <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector">boost::container::vector</link></computeroutput> member functions are inherited. See <computeroutput>vector</computeroutput> documentation for details.</para><para>Any change to the capacity of the vector, including decreasing its size such as with the shrink_to_fit method, will cause the vector to permanently switch to dynamically allocated storage.</para><para>
</para></description><method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1a334cc09e2cf91d82b2be4ef106e910e2" cv="noexcept(dtl::is_nothrow_default_constructible&lt; allocator_type &gt;::value)"/>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1ad8f7e3830166f99c5cd87511b6b582c0" specifiers="explicit"><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1a38637c1ca96637c4e08c1cf34288ed7f" specifiers="explicit"><parameter name="n"><paramtype>size_type</paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1a63aabc950d8a39114ff32e48e7e7a943"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1a0c19704dc9bfe2ca3db2e351fff5eb7a"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1a0a45b21c170a9131683bee5e98341ae4"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1a5318ccfbcf667c7d1e25502513be39f7"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="v"><paramtype>const value_type &amp;</paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1ae8caa22f16ac95878ef49e1c5a1ab349"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="v"><paramtype>const value_type &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1a7e8a7e9d2ea05cb3d9500d250f2e2fa1"><template>
          <template-type-parameter name="InIt"/>
        </template><parameter name="first"><paramtype>InIt</paramtype></parameter><parameter name="BOOST_CONTAINER_DOCIGN"><paramtype>InIt last </paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1a33e9dd203171a3f42d1c6101be957e50"><template>
          <template-type-parameter name="InIt"/>
        </template><parameter name="first"><paramtype>InIt</paramtype></parameter><parameter name="last"><paramtype>InIt</paramtype></parameter><parameter name="BOOST_CONTAINER_DOCIGN"><paramtype>const allocator_type &amp;a </paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1ac3c3dd94c198014c668d347a37ce3a47"><parameter name="other"><paramtype>const <classname>small_vector</classname> &amp;</paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1ab243138e91f6dcb74d691c0460d5faf8"><parameter name="other"><paramtype>const <classname>small_vector</classname> &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1a09821717459b14c6484d7ead59c806b8" specifiers="explicit"><parameter name="other"><paramtype>const base_type &amp;</paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1a5dce5b381e07632fa37e9b6df4335c52" specifiers="explicit"><parameter name="other"><paramtype>base_type &amp;&amp;</paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1a69cda7deb69bb772d6860ae64d555677" cv="noexcept(boost::container::dtl::is_nothrow_move_constructible&lt; value_type &gt;::value)"><parameter name="other"><paramtype><classname>small_vector</classname> &amp;&amp;</paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1ab566c3defe318b950ca1621fb5af238d"><parameter name="other"><paramtype><classname>small_vector</classname> &amp;&amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1a3ead7910e7b3f4910da2b5f379998e9a"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1a55874aedfec0b7d4d5fe92c613226150"><type><classname>small_vector</classname> &amp;</type><parameter name="other"><paramtype>const <classname>small_vector</classname> &amp;</paramtype></parameter></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1a5377cd873587774412aebee3651acb98" cv="noexcept(boost::container::dtl::is_nothrow_move_assignable&lt; value_type &gt;::value &amp;&amp;(allocator_traits_type::propagate_on_container_move_assignment::value||allocator_traits_type::is_always_equal::value))"><type><classname>small_vector</classname> &amp;</type><parameter name="other"><paramtype><classname>small_vector</classname> &amp;&amp;</paramtype></parameter></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1ad9ad0dc4d688059862fffc368b8a98b4"><type><classname>small_vector</classname> &amp;</type><parameter name="other"><paramtype>const base_type &amp;</paramtype></parameter></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1a2d15af8a4ef204edb7aa8596fe84b3f9"><type><classname>small_vector</classname> &amp;</type><parameter name="other"><paramtype>base_type &amp;&amp;</paramtype></parameter></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1acc7d0cda2760f2450161fd61ebbddf8d" name="swap"><type>void</type><parameter name="other"><paramtype><classname>small_vector</classname> &amp;</paramtype></parameter></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector_1a505e3a1a1ce16089ccae6db75802b6da" name="shrink_to_fit"><type>void</type></method>
</method-group>
</class><class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator" name="small_vector_allocator"><template>
      <template-type-parameter name="T"/>
      <template-type-parameter name="VoidAlloc"><default>void</default></template-type-parameter>
      <template-type-parameter name="Options"><default>void</default></template-type-parameter>
    </template><inherit access="public">allocator_traits::template portable_rebind_alloc::type</inherit><description><para>A non-standard allocator used to implement <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector">small_vector</link></computeroutput>. Users should never use it directly. It is described here for documentation purposes.</para><para>This allocator inherits from a standard-conforming allocator and forwards member functions to the standard allocator except when internal storage is being used as memory source.</para><para>This allocator is a "partially_propagable" allocator and defines <computeroutput>is_partially_propagable</computeroutput> as true_type.</para><para>A partially propagable allocator means that not all storage allocatod by an instance of <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator">small_vector_allocator</link></computeroutput> can be deallocated by another instance of this type, even if both instances compare equal or an instance is propagated to another one using the copy/move constructor or assignment. The storage that can never be propagated is identified by <computeroutput>storage_is_unpropagable(p)</computeroutput>.</para><para><computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector">boost::container::vector</link></computeroutput> supports partially propagable allocators fallbacking to deep copy/swap/move operations when internal storage is being used to store vector elements.</para><para><computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator">small_vector_allocator</link></computeroutput> assumes that will be instantiated as <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector">boost::container::vector</link>&lt; T, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator">small_vector_allocator</link>&lt;T, Allocator&gt; &gt;</computeroutput> and internal storage can be obtained downcasting that vector to <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__base">small_vector_base</link>&lt;T&gt;</computeroutput>. </para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a1eebdbb434d647f5aea3b64f3e9971eb" name="value_type"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::value_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a8c1cfced84d9b7f6a1cc7fa4fed6482f" name="pointer"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a67f3e2fe8ac8b9508d9c2b92edb9c12f" name="const_pointer"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1aea0049da02d644e4bfad3175a6dfa913" name="reference"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1ac851b556d1f538c36492fcd36120d520" name="const_reference"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::const_reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a7b65a2c5ed0208a74c945975e6e42ff4" name="size_type"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a27d8008f2954bdb9880208855c18fd54" name="difference_type"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a020583468aa35289fd837fba54ece94d" name="void_pointer"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::void_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a1eae8b965640b70b5915bb9d8e69573f" name="const_void_pointer"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::const_void_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1ac9bc56a1f52edaec04fa9b085899bc36" name="propagate_on_container_copy_assignment"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::propagate_on_container_copy_assignment</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a1a22c23008d54fbe634d20da9e784d95" name="propagate_on_container_move_assignment"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::propagate_on_container_move_assignment</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a5d10ec0253eefd6bfba66d93be43c574" name="propagate_on_container_swap"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::propagate_on_container_swap</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1ad8e30504b8e0bb067ef07d9dedec6b84" name="is_always_equal"><purpose>An integral constant with member <computeroutput>value == false</computeroutput> </purpose><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1aeb241aa88d62c8dbcf0b844704689f0d" name="is_partially_propagable"><purpose>An integral constant with member <computeroutput>value == true</computeroutput> </purpose><type>implementation_defined</type></typedef>
<method-group name="public member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a6c5d7fe7dfe2e1d9ee835f7d2222fed5" name="BOOST_CONTAINER_DOCIGN"><type/><parameter name=""><paramtype>typedef dtl::version_type&lt; <classname>small_vector_allocator</classname> BOOST_CONTAINER_I 1 &gt; version;</paramtype></parameter><description><para>Obtains an <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator">small_vector_allocator</link> that allocates objects of type T2 </para></description></method>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a7f8967f2b13d1fd6294e4507f3c65e46" cv="noexcept(dtl::is_nothrow_default_constructible&lt; allocator_type &gt;::value)"/>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1aff5150ce61633ac5a14f98781305edca" cv="noexcept"><parameter name="other"><paramtype>const <classname>small_vector_allocator</classname> &amp;</paramtype></parameter><description><para>Constructor from other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator">small_vector_allocator</link>. Never throws </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1ac7bd01196c87da8582d5f19b4310d049" cv="noexcept"><parameter name="other"><paramtype><classname>small_vector_allocator</classname> &amp;&amp;</paramtype></parameter><description><para>Move constructor from <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator">small_vector_allocator</link>. Never throws </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a69ef88364d7df0f9b4a63c9667cfdbc9" cv="noexcept"><template>
          <template-type-parameter name="U"/>
          <template-type-parameter name="OtherVoidAllocator"/>
          <template-type-parameter name="OtherOptions"/>
        </template><parameter name="other"><paramtype>const <classname>small_vector_allocator</classname>&lt; U, OtherVoidAllocator, OtherOptions &gt; &amp;</paramtype></parameter><description><para>Constructor from related <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator">small_vector_allocator</link>. Never throws </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a1ce2e27d1ec9426d7e172cfbd7a93c6d" cv="noexcept"><template>
          <template-type-parameter name="U"/>
          <template-type-parameter name="OtherVoidAllocator"/>
          <template-type-parameter name="OtherOptions"/>
        </template><parameter name="other"><paramtype><classname>small_vector_allocator</classname>&lt; U BOOST_MOVE_I OtherVoidAllocator BOOST_MOVE_I OtherOptions &gt; &amp;&amp;</paramtype></parameter><description><para>Move constructor from related <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator">small_vector_allocator</link>. Never throws </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a8a45df56e815d8541bdf3cbce457c85e" specifiers="explicit" cv="noexcept"><parameter name="other"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para>Constructor from allocator_type. Never throws </para></description></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a0ab5c3e27bf3fd1420f2d50e33a4601e" cv="noexcept"><type><classname>small_vector_allocator</classname> &amp;</type><parameter name="other"><paramtype>const <classname>small_vector_allocator</classname> &amp;</paramtype></parameter><description><para>Assignment from other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator">small_vector_allocator</link>. Never throws </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a7a85dde132192d7ff0c385de2c0bc615" cv="noexcept"><type><classname>small_vector_allocator</classname> &amp;</type><parameter name="other"><paramtype><classname>small_vector_allocator</classname> &amp;&amp;</paramtype></parameter><description><para>Move assignment from other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator">small_vector_allocator</link>. Never throws </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a71f3c649053c1cc251afd9fe55da05b0" cv="noexcept"><type><classname>small_vector_allocator</classname> &amp;</type><template>
          <template-type-parameter name="U"/>
          <template-type-parameter name="OtherVoidAllocator"/>
        </template><parameter name="other"><paramtype>const <classname>small_vector_allocator</classname>&lt; U BOOST_MOVE_I OtherVoidAllocator BOOST_MOVE_I Options &gt; &amp;</paramtype></parameter><description><para>Assignment from related <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator">small_vector_allocator</link>. Never throws </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a58a3a54045d493640677dac0a91fed35" cv="noexcept"><type><classname>small_vector_allocator</classname> &amp;</type><template>
          <template-type-parameter name="U"/>
          <template-type-parameter name="OtherVoidAllocator"/>
        </template><parameter name="other"><paramtype><classname>small_vector_allocator</classname>&lt; U BOOST_MOVE_I OtherVoidAllocator BOOST_MOVE_I Options &gt; &amp;&amp;</paramtype></parameter><description><para>Move assignment from related <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator">small_vector_allocator</link>. Never throws </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1aacb10cb0faf3b1b94272278cc5669483" cv="noexcept"><type><classname>small_vector_allocator</classname> &amp;</type><parameter name="other"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para>Move assignment from allocator_type. Never throws </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a68c5b015a150031530d9d02bfda22844" name="allocate"><type>pointer</type><parameter name="count"><paramtype>size_type</paramtype></parameter><parameter name="hint"><paramtype>const_void_pointer</paramtype><default>const_void_pointer()</default></parameter><purpose>Allocates storage from the standard-conforming allocator. </purpose></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a695e7843f37c2b6eb99af6b6545680ff" name="deallocate" cv="noexcept"><type>void</type><parameter name="ptr"><paramtype>pointer</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para>Deallocates previously allocated memory. Never throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a4739bf1ce076764894472fa2559900cb" name="max_size" cv="const noexcept"><type>size_type</type><description><para>Returns the maximum number of elements that could be allocated. Never throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a3c0380a590f9217da9117264ccaf82a0" name="select_on_container_copy_construction" cv="const"><type><classname>small_vector_allocator</classname></type></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1ae75e0d3279e3de9b4da42805699d8bbf" name="storage_is_unpropagable" cv="const"><type>bool</type><parameter name="p"><paramtype>pointer</paramtype></parameter></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a62a8765b72f8063b17ae74aef6794cdb" name="swap" cv="noexcept"><type>void</type><parameter name="l"><paramtype><classname>small_vector_allocator</classname> &amp;</paramtype></parameter><parameter name="r"><paramtype><classname>small_vector_allocator</classname> &amp;</paramtype></parameter><description><para>Swaps two allocators, does nothing because this <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator">small_vector_allocator</link> is stateless </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1a72815129b25b62ccad3ed18853d7a568" name="operator==" cv="noexcept"><type>bool</type><parameter name="l"><paramtype>const <classname>small_vector_allocator</classname> &amp;</paramtype></parameter><parameter name="r"><paramtype>const <classname>small_vector_allocator</classname> &amp;</paramtype></parameter><description><para>An <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator">small_vector_allocator</link> always compares to true, as memory allocated with one instance can be deallocated by another instance (except for unpropagable storage) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator_1ab18d41d3624e5d1e92f81cede06c9c5c" name="operator!=" cv="noexcept"><type>bool</type><parameter name="l"><paramtype>const <classname>small_vector_allocator</classname> &amp;</paramtype></parameter><parameter name="r"><paramtype>const <classname>small_vector_allocator</classname> &amp;</paramtype></parameter><description><para>An <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__allocator">small_vector_allocator</link> always compares to false, as memory allocated with one instance can be deallocated by another instance </para></description></method>
</method-group>
</class><class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__base" name="small_vector_base"><template>
      <template-type-parameter name="T"/>
      <template-type-parameter name="SecAlloc"/>
      <template-type-parameter name="Options"/>
    </template><description><para>This class consists of common code from all small_vector&lt;T, N&gt; types that don't depend on the "N" template parameter. This class is non-copyable and non-destructible, so this class typically used as reference argument to functions that read or write small vectors. Since <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector">small_vector</link>&lt;T, N&gt;</computeroutput> derives from <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__base">small_vector_base</link>&lt;T&gt;</computeroutput>, the conversion to <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__base">small_vector_base</link></computeroutput> is implicit <programlisting>

//Clients can pass any small_vector&lt;Foo, N&gt;.
void read_any_small_vector_of_foo(const small_vector_base&lt;Foo&gt; &amp;in_parameter);

void modify_any_small_vector_of_foo(small_vector_base&lt;Foo&gt; &amp;in_out_parameter);

void some_function()
{

   small_vector&lt;Foo, 8&gt; myvector;

   read_any_small_vector_of_foo(myvector);   // Reads myvector

   modify_any_small_vector_of_foo(myvector); // Modifies myvector

}
</programlisting></para><para>All <computeroutput>boost::container:vector</computeroutput> member functions are inherited. See <computeroutput>vector</computeroutput> documentation for details. </para></description><method-group name="private member functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__base_1a02826a221e55b23f98977a814cb99c75" name="prot_swap"><type>void</type><parameter name="other"><paramtype><classname>small_vector_base</classname> &amp;</paramtype></parameter><parameter name="internal_capacity_value"><paramtype>size_type</paramtype></parameter></method>
</method-group>
<method-group name="public member functions">
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__base_1a9070994566b6c3004252684f2acf4f17"><type><classname>small_vector_base</classname> &amp;</type><parameter name="other"><paramtype>const <classname>small_vector_base</classname> &amp;</paramtype></parameter></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__base_1ae2c8e2a39e0fc56cdfa0eca19a73c4bd"><type><classname>small_vector_base</classname> &amp;</type><parameter name="other"><paramtype><classname>small_vector_base</classname> &amp;&amp;</paramtype></parameter></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1small__vector__base_1a612af344aea3c15eddeef4bac37aa507" name="swap"><type>void</type><parameter name="other"><paramtype><classname>small_vector_base</classname> &amp;</paramtype></parameter></method>
</method-group>
</class><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1small__vector__storage" name="small_vector_storage"><template>
      <template-type-parameter name="T"/>
      <template-nontype-parameter name="N"><type>std::size_t</type></template-nontype-parameter>
      <template-nontype-parameter name="Alignment"><type>std::size_t</type></template-nontype-parameter>
    </template><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1small__vector__storage_1ac018e6d3c614d2e801d7f900decb339a" name="storage_type"><type>dtl::aligned_storage&lt; sizeof(T) *N, Alignment &gt;::type</type></typedef>
<data-member id="doxygen.boost_container_header_reference.structboost_1_1container_1_1small__vector__storage_1a24f841ecf12894fe88ba3aa1d75df637" name="m_storage"><type>storage_type</type></data-member>
<data-member id="doxygen.boost_container_header_reference.structboost_1_1container_1_1small__vector__storage_1a726cf3a1a99f4af1ff0b2179378aae6f" name="sms_size"><type>BOOST_STATIC_CONSTEXPR std::size_t</type></data-member>
</struct><struct-specialization id="doxygen.boost_container_header_reference.structboost_1_1container_1_1small__vector__storage_3_01T_00_010u_00_01Alignment_01_4" name="small_vector_storage"><template>
      <template-type-parameter name="T"/>
      <template-nontype-parameter name="Alignment"><type>std::size_t</type></template-nontype-parameter>
    </template><specialization><template-arg>T</template-arg><template-arg>0u</template-arg><template-arg>Alignment</template-arg></specialization><data-member id="doxygen.boost_container_header_reference.structboost_1_1container_1_1small__vector__storage_3_01T_00_010u_00_01Alignment_01_4_1a570657c75a76536f30fdaf7dc65a5943" name="sms_size"><type>BOOST_STATIC_CONSTEXPR std::size_t</type></data-member>
</struct-specialization><namespace name="dtl">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1dtl_1_1get__small__vector__opt" name="get_small_vector_opt"><template>
      <template-type-parameter name="Options"/>
    </template><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1dtl_1_1get__small__vector__opt_1ae53e5e865a5a1976f090628febff967d" name="type"><type>Options</type></typedef>
</struct><struct-specialization id="doxygen.boost_container_header_reference.structboost_1_1container_1_1dtl_1_1get__small__vector__opt_3_01void_01_4" name="get_small_vector_opt"><template>
    </template><specialization><template-arg>void</template-arg></specialization><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1dtl_1_1get__small__vector__opt_3_01void_01_4_1a3066584bb109131c5d089d7105fa870f" name="type"><type>small_vector_null_opt</type></typedef>
</struct-specialization><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1dtl_1_1get__vopt__from__svopt" name="get_vopt_from_svopt"><template>
      <template-type-parameter name="Options"/>
    </template><inherit access="public">get_small_vector_opt::type</inherit><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1dtl_1_1get__vopt__from__svopt_1afcfea267ee2c6682573dbdaa48fd8724" name="options_t"><type>get_small_vector_opt&lt; Options &gt;::type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1dtl_1_1get__vopt__from__svopt_1a7fce34eaa8270b01ede2cc9e5fb070e2" name="type"><type>vector_opt&lt; typename options_t::growth_factor_type, typename options_t::stored_size_type &gt;</type></typedef>
</struct><struct-specialization id="doxygen.boost_container_header_reference.structboost_1_1container_1_1dtl_1_1get__vopt__from__svopt_3_01void_01_4" name="get_vopt_from_svopt"><template>
    </template><specialization><template-arg>void</template-arg></specialization><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1dtl_1_1get__vopt__from__svopt_3_01void_01_4_1a3d02914013fd2129872cc0fa571db01e" name="type"><type>void</type></typedef>
</struct-specialization><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1dtl_1_1vector__for__small__vector" name="vector_for_small_vector"><template>
      <template-type-parameter name="T"/>
      <template-type-parameter name="SecAlloc"/>
      <template-type-parameter name="Options"/>
    </template><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1dtl_1_1vector__for__small__vector_1af54de02f1c2301061693e932632d445e" name="type"><type><classname>vector</classname>&lt; T, <classname>small_vector_allocator</classname>&lt; T, typename <classname>allocator_traits</classname>&lt; typename real_allocator&lt; T, SecAlloc &gt;::type &gt;::template portable_rebind_alloc&lt; void &gt;::type, Options &gt;, typename dtl::get_vopt_from_svopt&lt; Options &gt;::type &gt;</type></typedef>
</struct>





</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.pmr_2stable__vector_8hpp" name="boost/container/pmr/stable_vector.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1stable__vector__of" name="stable_vector_of"><template>
      <template-type-parameter name="T"/>
    </template><description><para>A portable metafunction to obtain a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> that uses a polymorphic allocator </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1stable__vector__of_1a4c2ccadceeb4ec4d5b11a5b993df5a40" name="type"><type><classname>boost::container::stable_vector</classname>&lt; T, <classname>polymorphic_allocator</classname>&lt; T &gt; &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.pmr_2stable__vector_8hpp_1acabe9f1188794c43ef9643de996e959d" name="stable_vector"><type><classname>boost::container::stable_vector</classname>&lt; T, <classname>polymorphic_allocator</classname>&lt; T &gt; &gt;</type></typedef>






</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.stable__vector_8hpp" name="boost/container/stable_vector.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector" name="stable_vector"><template>
      <template-type-parameter name="T"><purpose><para>The type of object that is stored in the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> </para></purpose></template-type-parameter>
      <template-type-parameter name="Allocator"><default>void</default><purpose><para>The allocator used for all internal memory management </para></purpose></template-type-parameter>
    </template><description><para>Originally developed by Joaquin M. Lopez Munoz, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> is a std::vector drop-in replacement implemented as a node container, offering iterator and reference stability.</para><para>Here are the details taken from the author's blog (<ulink url="http://bannalia.blogspot.com/2008/09/introducing-stablevector.html">Introducing stable_vector</ulink>):</para><para>We present <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>, a fully STL-compliant stable container that provides most of the features of std::vector except element contiguity.</para><para>General properties: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> satisfies all the requirements of a container, a reversible container and a sequence and provides all the optional operations present in std::vector. Like std::vector, iterators are random access. <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> does not provide element contiguity; in exchange for this absence, the container is stable, i.e. references and iterators to an element of a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> remain valid as long as the element is not erased, and an iterator that has been assigned the return value of <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a826ef7c0bf597bde77e3e1c539d78682">end()</link> always remain valid until the destruction of the associated <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para>Operation complexity: The big-O complexities of <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> operations match exactly those of std::vector. In general, insertion/deletion is constant time at the end of the sequence and linear elsewhere. Unlike std::vector, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> does not internally perform any value_type destruction, copy or assignment operations other than those exactly corresponding to the insertion of new elements or deletion of stored elements, which can sometimes compensate in terms of performance for the extra burden of doing more pointer manipulation and an additional allocation per element.</para><para>Exception safety: As <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> does not internally copy elements around, some operations provide stronger exception safety guarantees than in std::vector.</para><para>
</para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2628a1202624370e51967c2642f3db4f" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a4f5c64ac34eb453e916c7ba71a371ca6" name="pointer"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a81051ba4beeae219fed35808ca6f35f3" name="const_pointer"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1afec167ca4ac15fc583ab7905f05d1fc1" name="reference"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a25a9aa904766c5d9c8d497adc4056d19" name="const_reference"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::const_reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a0d15111c1b4971f8e68955017601f562" name="size_type"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a619349f70571c6a710e6656c8d5b8828" name="difference_type"><type><classname>::boost::container::allocator_traits</classname>&lt; ValueAllocator &gt;::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a690eb5c1af593385848376a6050b37b3" name="allocator_type"><type>ValueAllocator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1aaf4df0469da041bd267c40c97a19a156" name="stored_allocator_type"><type>node_allocator_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1af138aeeb1b5edf3185ced3e26a7f6f9c" name="iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a20a9b48e75b0a5d27f45642b5bb9a355" name="const_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a744b6e0df2c53f5527cb2407dabbb179" name="reverse_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1ac237b57fc62361c3ce8b5471289d15ee" name="const_reverse_iterator"><type>implementation_defined</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1abf2fab8a38529404b0cc60a3ba0dbe2e" cv="noexcept(dtl::is_nothrow_default_constructible&lt; ValueAllocator &gt;::value)"><description><para><emphasis role="bold">Effects</emphasis>: Default constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a4efcf8797c3ec6422768f46645d877c3" specifiers="explicit" cv="noexcept"><parameter name="al"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> taking the allocator as parameter.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a6c85d800c0f61741ef5451738b5f702a" specifiers="explicit"><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> and inserts n value initialized values.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's default or copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a568a8ad40f5aa8f93009d9a301ff244f"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> and inserts n default initialized values.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's default or copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1aead2b5bbe904fb3844454c6861a65253" specifiers="explicit"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> that will use a copy of allocator a and inserts n value initialized values.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's default or copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1aeaee9c0d590a4caadb610a698edfeadf"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> that will use a copy of allocator a and inserts n default initialized values.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's default or copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1af6b740fa626e8fadc44b034ef0e4de01"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="t"><paramtype>const T &amp;</paramtype></parameter><parameter name="al"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> that will use a copy of allocator a and inserts n copies of value.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's default or copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1acfb4ef537bd4f88b840969a00a3e026a"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><parameter name="al"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> that will use a copy of allocator a and inserts a copy of the range [first, last) in the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's constructor taking a dereferenced InIt throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the range [first, last). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a5510b660cd2a23ebf78bd989917c372b"><parameter name="x"><paramtype>const <classname>stable_vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Postcondition</emphasis>: x == *this.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements x contains. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1af8e4b9fe7f28dab56424b4d063ced3cd"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="l"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> that will use a copy of allocator a and inserts a copy of the range [il.begin(), il.last()) in the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link></para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws or T's constructor taking a dereferenced initializer_list iterator throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the range [il.begin(), il.end()). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1aa8ad111282dfc05264ad44a0e4e6b216" cv="noexcept"><parameter name="x"><paramtype><classname>stable_vector</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructor. Moves x's resources to *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1ac26442b41f3f45d0ae87d308b31b2717"><parameter name="x"><paramtype>const <classname>stable_vector</classname> &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> using the specified allocator.</para><para><emphasis role="bold">Postcondition</emphasis>: x == *this.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements x contains. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a3ade2062ed49e09f1a762d59101d7ca1"><parameter name="x"><paramtype><classname>stable_vector</classname> &amp;&amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructor using the specified allocator. Moves x's resources to *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant if a == x.get_allocator(), linear otherwise </para></description></constructor>
<destructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1ac7134aad8012b87bdc9c7f79b5c9cdde"><description><para><emphasis role="bold">Effects</emphasis>: Destroys the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>. All stored values are destroyed and used memory is deallocated.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements. </para></description></destructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a1302b61da6a9dd90d2b2faf85e817a12"><type><classname>stable_vector</classname> &amp;</type><parameter name="x"><paramtype>const <classname>stable_vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Makes *this contain the same elements as x.</para><para><emphasis role="bold">Postcondition</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link> == x.size(). *this contains a copy of each of x's elements.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in x. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a992ba81b70dff11ca40cc7fc00f83ee4" cv="noexcept(allocator_traits_type::propagate_on_container_move_assignment::value||allocator_traits_type::is_always_equal::value)"><type><classname>stable_vector</classname> &amp;</type><parameter name="x"><paramtype><classname>stable_vector</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move assignment. All x's values are transferred to *this.</para><para><emphasis role="bold">Postcondition</emphasis>: x.empty(). *this contains a the elements x had before the function.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_traits_type::propagate_on_container_move_assignment is false and (allocation throws or T's move constructor throws)</para><para><emphasis role="bold">Complexity</emphasis>: Constant if allocator_traits_type:: propagate_on_container_move_assignment is true or this-&gt;get&gt;allocator() == x.get_allocator(). Linear otherwise. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a240a81296dae6c1176cd595c38362402"><type><classname>stable_vector</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Make *this container contains elements from il.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the range [il.begin(), il.end()). </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a5671cf63cdbea0ac65679778728a66e9" name="assign"><type>void</type><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="t"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assigns the n copies of val to *this.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a4fdb4fbd3b42a3403e006d58e124a5e4" name="assign"><type>void</type><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assigns the the range [first, last) to *this.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's constructor from dereferencing InpIt throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a09310bc4e30b0462fc75f836c87bedda" name="assign"><type>void</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assigns the the range [il.begin(), il.end()) to *this.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's constructor from dereferencing initializer_list iterator throws. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a03b7341a66fe17fb22bec5bc45d8ed1e" name="get_allocator" cv="const"><type>allocator_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a copy of the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: If allocator's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a93a195ce2b16677cc1b74efc8fba6481" name="get_stored_allocator" cv="const noexcept"><type>const stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a96d5bfad1a063091f8502526a51a62c8" name="get_stored_allocator" cv="noexcept"><type>stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1afdd670a2ac51105b4ddba5c478157e8b" name="begin" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the first element contained in the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1af23116970110aac170c372822f0a0182" name="begin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a826ef7c0bf597bde77e3e1c539d78682" name="end" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the end of the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a76fcd1797735a05849b8aaf6f9953ab3" name="end" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1afcbfa29681a092449c1ba276a894fe9e" name="rbegin" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the beginning of the reversed <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1ac5a89f2ed1752571132ce3d88aab4cc3" name="rbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1af71a7abfc3047178ec5d656e494b3ff7" name="rend" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the end of the reversed <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1aeca34b1c281466a05422cc8f817f22ae" name="rend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1aa7acf7c892eea0bd784b047ceac275eb" name="cbegin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1af78c3b5c47f3552af4d79bd3aad5c2ef" name="cend" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1adb651ff125c7071e856cffa6abf5f244" name="crbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a7cdbecc9161209c8025f1c1bf6a14b8f" name="crend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a574a01fac9810d192d865c0eeef5a75c" name="empty" cv="const noexcept"><type>bool</type><description><para><emphasis role="bold">Effects</emphasis>: Returns true if the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> contains no elements.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773" name="size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the number of the elements contained in the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1ac21f380c8da9b6c24e122556f10f07d0" name="max_size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the largest possible size of the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1ad0991d00b39f88f8bd5d67869f64c421" name="resize"><type>void</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts or erases elements at the end such that the size becomes n. New elements are value initialized.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or T's value initialization throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the difference between <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link> and new_size. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a92ac20bcfe1bc0dbf5edf0bb9f755ad9" name="resize"><type>void</type><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts or erases elements at the end such that the size becomes n. New elements are default initialized.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or T's default initialization throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the difference between <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link> and new_size.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a4910c2408a355c65d096dc52c79ad0f6" name="resize"><type>void</type><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="t"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts or erases elements at the end such that the size becomes n. New elements are copy constructed from x.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the difference between <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link> and new_size. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1ac2be0b993d4c7645552224c55f871e03" name="capacity" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Number of elements for which memory has been allocated. <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1ac2be0b993d4c7645552224c55f871e03">capacity()</link> is always greater than or equal to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a839fb9895122a52f2573263622b76e02" name="reserve"><type>void</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If n is less than or equal to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1ac2be0b993d4c7645552224c55f871e03">capacity()</link>, this call has no effect. Otherwise, it is a request for allocation of additional memory. If the request is successful, then <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1ac2be0b993d4c7645552224c55f871e03">capacity()</link> is greater than or equal to n; otherwise, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1ac2be0b993d4c7645552224c55f871e03">capacity()</link> is unchanged. In either case, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link> is unchanged.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation allocation throws. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a990f85fcf5bd67df1697d78a53c0f523" name="shrink_to_fit"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Tries to deallocate the excess of memory created with previous allocations. The size of the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> is unchanged</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1afc00424ec98cc8308096bbe382be4177" name="front" cv="noexcept"><type>reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the first element of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a8acc8130f0f2b8478cafdc073d5ffb51" name="front" cv="const noexcept"><type>const_reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the first element of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a648045e3be73f4e7439e782877b8c3b3" name="back" cv="noexcept"><type>reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the last element of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a9bdb5fc4346911bc9334d8ed4df556c9" name="back" cv="const noexcept"><type>const_reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the last element of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a4c017d0f61ec8878e1f861837b6011e0" name="operator[]" cv="noexcept"><type>reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link> &gt; n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the nth element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1acf0d48dad32638b5a520e2d525ccce3a" name="operator[]" cv="const noexcept"><type>const_reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link> &gt; n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the nth element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a3bf9a5e0c429c403dae6c353b80737e8" name="nth" cv="noexcept"><type>iterator</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link> &gt;= n.</para><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the nth element from the beginning of the container. Returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a826ef7c0bf597bde77e3e1c539d78682">end()</link> if n == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1ab5b7cfe74cfbccb7f977d43837acd33b" name="nth" cv="const noexcept"><type>const_iterator</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link> &gt;= n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the nth element from the beginning of the container. Returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a826ef7c0bf597bde77e3e1c539d78682">end()</link> if n == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a3487265899001aa8c4373eaaf084d34b" name="index_of" cv="noexcept"><type>size_type</type><parameter name="p"><paramtype>iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1afdd670a2ac51105b4ddba5c478157e8b">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a826ef7c0bf597bde77e3e1c539d78682">end()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Returns the index of the element pointed by p and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link> if p == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a826ef7c0bf597bde77e3e1c539d78682">end()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a0153d5727fdbd33a4977538d2e0feb9f" name="index_of" cv="const noexcept"><type>size_type</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1afdd670a2ac51105b4ddba5c478157e8b">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a826ef7c0bf597bde77e3e1c539d78682">end()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Returns the index of the element pointed by p and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link> if p == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a826ef7c0bf597bde77e3e1c539d78682">end()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a5102690bfb78a05962223eb5fe0f9ce9" name="at"><type>reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link> &gt; n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the nth element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: range_error if n &gt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link></para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a4b5cfbac05ff909ea9b425dffbbfaef1" name="at" cv="const"><type>const_reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link> &gt; n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the nth element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: range_error if n &gt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a2d5b426d771566f1449d62e4c9ec3773">size()</link></para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a62b63a567599e368de1c66de28eb3f70" name="emplace_back"><type>reference</type><template>
          <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... in the end of the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Returns</emphasis>: A reference to the created object.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or the in-place constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a506b49a01ef441c426cd6f5a60bab1ef" name="emplace"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
        </template><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... before p</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or the in-place constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: If p is <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a826ef7c0bf597bde77e3e1c539d78682">end()</link>, amortized constant time Linear time otherwise. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a1cea1cb5631eab0569033e8d95d10584" name="push_back"><type>void</type><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of x at the end of the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a14f69eab740fbfbdd76c86dd714263d3" name="push_back"><type>void</type><parameter name="x"><paramtype>T &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a new element in the end of the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link> and moves the resources of x to this new element.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a13c46f00416ec4cb3783abe535109bd2" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a copy of x before p.</para><para><emphasis role="bold">Returns</emphasis>: An iterator to the inserted element.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or x's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: If p is <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a826ef7c0bf597bde77e3e1c539d78682">end()</link>, amortized constant time Linear time otherwise. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1ac1084a8bc99068ccd160ff981e66f165" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>T &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a new element before p with x's resources.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the inserted element.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws.</para><para><emphasis role="bold">Complexity</emphasis>: If p is <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a826ef7c0bf597bde77e3e1c539d78682">end()</link>, amortized constant time Linear time otherwise. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a131c13a8417bb6c9b98f18eb22b6bd86" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="t"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert n copies of x before p.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or p if n is 0.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a3cc742bb40ae86faee6546f1f2ea1e4f" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><purpose><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this. </purpose><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a copy of the [il.begin(), il.end()) range before p.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or p if first == last.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to distance [il.begin(), il.end()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a8852299671a92887f1720f95166e1275" name="insert"><type>iterator</type><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a copy of the [first, last) range before p.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or p if first == last.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, T's constructor from a dereferenced InpIt throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to distance [first, last). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a6ffe824fc23c2b532e82c716e699bda7" name="pop_back" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Removes the last element from the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1ab40bef51395b7ed1f3176554350b3937" name="erase" cv="noexcept"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases the element at p.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements between p and the last element. Constant if p is the last element. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a64c189707f1c61e3708b4535a82fc6ba" name="erase" cv="noexcept"><type>iterator</type><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases the elements pointed by [first, last).</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the distance between first and last plus linear to the elements between p and the last element. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a9080af1e9ee23e7b69217766a7e7c97e" name="swap" cv="noexcept(allocator_traits_type::propagate_on_container_swap::value||allocator_traits_type::is_always_equal::value)"><type>void</type><parameter name="x"><paramtype><classname>stable_vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Swaps the contents of *this and x.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1af2f857e314c509a6db9b87978c63170e" name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Erases all the elements of the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector">stable_vector</link>. </para></description></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1ab1cc43918703a1e89fb0efa8d7b77133" name="operator=="><type>bool</type><parameter name="x"><paramtype>const <classname>stable_vector</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>stable_vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are equal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a9523a5cb50e92f48c2b8e53be43bbf4b" name="operator!="><type>bool</type><parameter name="x"><paramtype>const <classname>stable_vector</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>stable_vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are unequal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1ace5b1068ce6c21673b90de9132ed745d" name="operator&lt;"><type>bool</type><parameter name="x"><paramtype>const <classname>stable_vector</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>stable_vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a635f31b9af190408e28dfd8846fbafe6" name="operator&gt;"><type>bool</type><parameter name="x"><paramtype>const <classname>stable_vector</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>stable_vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1af4162d84f3ebf3153fa39776b60b4151" name="operator&lt;="><type>bool</type><parameter name="x"><paramtype>const <classname>stable_vector</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>stable_vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1a4730421218a384048bcd085b0f8a68e3" name="operator&gt;="><type>bool</type><parameter name="x"><paramtype>const <classname>stable_vector</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>stable_vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1stable__vector_1af22be91652c6a95b052b9cab45bac7df" name="swap" cv="noexcept(noexcept(x.swap(y)))"><type>void</type><parameter name="x"><paramtype><classname>stable_vector</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype><classname>stable_vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: x.swap(y)</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
</method-group>
</class>


























































<function id="doxygen.boost_container_header_reference.stable__vector_8hpp_1abfe1f95a58b2a6aae8e3532c5710d7f6" name="stable_vector"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.stable__vector_8hpp_1a8158076df99d64a684ac3e2a092e0bf1" name="stable_vector"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>
























































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.static__vector_8hpp" name="boost/container/static_vector.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector" name="static_vector"><template>
      <template-type-parameter name="T"><purpose><para>The type of element that will be stored. </para></purpose></template-type-parameter>
      <template-nontype-parameter name="Capacity"><type>std::size_t</type><purpose><para>The maximum number of elements <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> can store, fixed at compile time. </para></purpose></template-nontype-parameter>
      <template-type-parameter name="Options"><default>void</default><purpose><para>A type produced from <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1static__vector__options">boost::container::static_vector_options</link></computeroutput>. If no option is specified, by default throw_on_overflow&lt;true&gt; option is set. </para></purpose></template-type-parameter>
    </template><purpose>A variable-size array container with fixed capacity. </purpose><description><para><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> is a sequence container like <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector">boost::container::vector</link> with contiguous storage that can change in size, along with the static allocation, low overhead, and fixed capacity of boost::array.</para><para>A <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> is a sequence that supports random access to elements, constant time insertion and removal of elements at the end, and linear time insertion and removal of elements at the beginning or in the middle. The number of elements in a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> may vary dynamically up to a fixed capacity because elements are stored within the object itself similarly to an array. However, objects are initialized as they are inserted into <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> unlike C arrays or std::array which must construct all elements on instantiation. The behavior of <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> enables the use of statically allocated elements in cases with complex object lifetime requirements that would otherwise not be trivially possible.</para><para><formalpara><title>Error Handling</title><para>If <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1throw__on__overflow">throw_on_overflow</link></computeroutput> option is true (default behaviour), insertion beyond the capacity result in throwing bad_alloc() if exceptions are enabled and or calling throw_bad_alloc() if not enabled. If <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1throw__on__overflow">throw_on_overflow</link></computeroutput> option is false, insertion beyond capacity results in Undefined Behaviour.</para>
</formalpara>
out_of_range is thrown if out of bounds access is performed in <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a776c7fcdf59945fc4228e495092898c7">at()</link></computeroutput> if exceptions are enabled, throw_out_of_range() if not enabled.</para><para>
</para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a65ccb46ec782de1c0d57fecfb8652073" name="value_type"><purpose>The type of elements stored in the container. </purpose><type>base_t::value_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a34518abcc22dea0db3fd31860a0d956c" name="size_type"><purpose>The unsigned integral type used by the container. </purpose><type>base_t::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ad804e854103c5bcad43cb440c9efea2e" name="difference_type"><purpose>The pointers difference type. </purpose><type>base_t::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1acb1b1ba303fedb66cf9a9603cefd32ef" name="pointer"><purpose>The pointer type. </purpose><type>base_t::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1add06f09d6b2201e2c67f6357d8022df1" name="const_pointer"><purpose>The const pointer type. </purpose><type>base_t::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1aa5e8bd631436c64da2dc2228b00560fb" name="reference"><purpose>The value reference type. </purpose><type>base_t::reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a788076bb1d007e4155cfbda66af9ef05" name="const_reference"><purpose>The value const reference type. </purpose><type>base_t::const_reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a0babc5b395e6090627ad3f6131f40f06" name="iterator"><purpose>The iterator type. </purpose><type>base_t::iterator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1abaf178eeb749eea1bd1d7359610af6a3" name="const_iterator"><purpose>The const iterator type. </purpose><type>base_t::const_iterator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1abfdfe1eec667a1b1a0d3996681e83a44" name="reverse_iterator"><purpose>The reverse iterator type. </purpose><type>base_t::reverse_iterator</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1abaa839256b6e8232b579a59450e81b4c" name="const_reverse_iterator"><purpose>The const reverse iterator. </purpose><type>base_t::const_reverse_iterator</type></typedef>
<data-member id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1aed56597188d6b46d32521e0da0e00ed9" name="static_capacity"><type>BOOST_STATIC_CONSTEXPR size_type</type><purpose>The capacity/max size of the container. </purpose></data-member>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a7c3168e4991b30f816db81d59922286a" cv="noexcept"><purpose>Constructs an empty <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>. </purpose><description><para><formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1aadcf7af9fc01b9c962d272b747560f44" specifiers="explicit"><parameter name="count"><paramtype>size_type</paramtype><description><para>The number of values which will be contained in the container.</para></description></parameter><purpose>Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> containing count value initialized values. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's value initialization throws </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><computeroutput>count &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</requires></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ab9c538a5ccc075db5e3b40ea8c945d45"><parameter name="count"><paramtype>size_type</paramtype><description><para>The number of values which will be contained in the container.</para></description></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><purpose>Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> containing count default initialized values. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's default initialization throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N).</para>
</formalpara>
<formalpara><title>Note</title><para>Non-standard extension </para>
</formalpara>
</para></description><requires><para><computeroutput>count &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</requires></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a211a6ba3ee6c138593617e571b05d5de"><parameter name="count"><paramtype>size_type</paramtype><description><para>The number of copies of a values that will be contained in the container. </para></description></parameter><parameter name="value"><paramtype>value_type const &amp;</paramtype><description><para>The value which will be used to copy construct values.</para></description></parameter><purpose>Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> containing count copies of value. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's copy constructor throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><computeroutput>count &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</requires></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1af58f22146b5a8fa6cd3d579cb64bc192"><template>
          <template-type-parameter name="Iterator"/>
        </template><parameter name="first"><paramtype>Iterator</paramtype><description><para>The iterator to the first element in range. </para></description></parameter><parameter name="last"><paramtype>Iterator</paramtype><description><para>The iterator to the one after the last element in range.</para></description></parameter><purpose>Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> containing copy of a range <computeroutput>[first, last)</computeroutput>. </purpose><description><para>

<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's constructor taking a dereferenced Iterator throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><itemizedlist>
<listitem><para><computeroutput>distance(first, last) &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput> </para>
</listitem>
<listitem><para>Iterator must meet the <computeroutput>ForwardTraversalIterator</computeroutput> concept.</para>
</listitem>
</itemizedlist>
</para>
</requires></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a8d4184839facbf766e9dab0663cdff18"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype><description><para>std::initializer_list with values to initialize vector.</para></description></parameter><purpose>Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> containing copy of a range <computeroutput>[il.begin(), il.end())</computeroutput>. </purpose><description><para>

<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's constructor taking a dereferenced std::initializer_list throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><itemizedlist>
<listitem><para><computeroutput>distance(il.begin(), il.end()) &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</listitem>
</itemizedlist>
</para>
</requires></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1aec8a32a879976ca10ff5244413a90abe"><parameter name="other"><paramtype><classname>static_vector</classname> const &amp;</paramtype><description><para>The <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> which content will be copied to this one.</para></description></parameter><purpose>Constructs a copy of other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>. </purpose><description><para>
<formalpara><title>Throws</title><para>If T's copy constructor throws.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a6787251b906a04e5ac95112d39ea8b69"><parameter name="other"><paramtype><classname>static_vector</classname> const &amp;</paramtype></parameter><parameter name=""><paramtype>const allocator_type &amp;</paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a990d72a106fe13249269acfa7e1b0df3" cv="noexcept(boost::container::dtl::is_nothrow_move_constructible&lt; value_type &gt;::value)"><parameter name="other"><paramtype><classname>static_vector</classname> &amp;&amp;</paramtype></parameter><parameter name=""><paramtype>const allocator_type &amp;</paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a605521aeccf1efcf1a7bea4c2a228217" specifiers="explicit"><parameter name=""><paramtype>const allocator_type &amp;</paramtype></parameter></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a4dd944c38b4bcfafb608601844e42d27"><template>
          <template-nontype-parameter name="C"><type>std::size_t</type></template-nontype-parameter>
          <template-type-parameter name="O"/>
        </template><parameter name="other"><paramtype><classname>static_vector</classname>&lt; T, C, O &gt; const &amp;</paramtype><description><para>The <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> which content will be copied to this one.</para></description></parameter><purpose>Constructs a copy of other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's copy constructor throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><computeroutput>other.size() &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput>.</para>
</requires></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a8b2520fe9a9ce8262546e1c42c9ad43f" cv="noexcept(boost::container::dtl::is_nothrow_move_constructible&lt; value_type &gt;::value)"><parameter name="other"><paramtype><classname>static_vector</classname> &amp;&amp;</paramtype><description><para>The <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> which content will be moved to this one.</para></description></parameter><purpose>Move constructor. Moves Values stored in the other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> to this one. </purpose><description><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If <computeroutput>has_nothrow_move&lt;T&gt;::value</computeroutput> is <computeroutput>true</computeroutput> and T's move constructor throws. </para>
</listitem>
<listitem><para>If <computeroutput>has_nothrow_move&lt;T&gt;::value</computeroutput> is <computeroutput>false</computeroutput> and T's copy constructor throws.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a675d6cde6ca47b8cb35dcf962d48f824"><template>
          <template-nontype-parameter name="C"><type>std::size_t</type></template-nontype-parameter>
          <template-type-parameter name="O"/>
        </template><parameter name="other"><paramtype><classname>static_vector</classname>&lt; T, C, O &gt; &amp;&amp;</paramtype><description><para>The <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> which content will be moved to this one.</para></description></parameter><purpose>Move constructor. Moves Values stored in the other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> to this one. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If <computeroutput>has_nothrow_move&lt;T&gt;::value</computeroutput> is <computeroutput>true</computeroutput> and T's move constructor throws. </para>
</listitem>
<listitem><para>If <computeroutput>has_nothrow_move&lt;T&gt;::value</computeroutput> is <computeroutput>false</computeroutput> and T's copy constructor throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><computeroutput>other.size() &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</requires></constructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1abf8a1795c21324bc24ac20f2a39c034f"><type><classname>static_vector</classname> &amp;</type><parameter name="other"><paramtype>const <classname>static_vector</classname> &amp;</paramtype><description><para>The <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> which content will be copied to this one.</para></description></parameter><purpose>Copy assigns Values stored in the other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> to this one. </purpose><description><para>
<formalpara><title>Throws</title><para>If T's copy constructor or copy assignment throws.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a98f6e104401f295a13f18629e89cb1d4"><type><classname>static_vector</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype><description><para>The std::initializer_list which content will be copied to this one.</para></description></parameter><purpose>Copy assigns Values stored in std::initializer_list to *this. </purpose><description><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's copy constructor or copy assignment throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1aa051d61b5b571216adfee37a56d63447"><type><classname>static_vector</classname> &amp;</type><template>
          <template-nontype-parameter name="C"><type>std::size_t</type></template-nontype-parameter>
          <template-type-parameter name="O"/>
        </template><parameter name="other"><paramtype><classname>static_vector</classname>&lt; T, C, O &gt; const &amp;</paramtype><description><para>The <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> which content will be copied to this one.</para></description></parameter><purpose>Copy assigns Values stored in the other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> to this one. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's copy constructor or copy assignment throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><computeroutput>other.size() &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</requires></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a8c30b406fcaa0cf5699f78e4fa47f9d3" cv="noexcept(boost::container::dtl::is_nothrow_move_assignable&lt; value_type &gt;::value)"><type><classname>static_vector</classname> &amp;</type><parameter name="other"><paramtype><classname>static_vector</classname> &amp;&amp;</paramtype><description><para>The <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> which content will be moved to this one.</para></description></parameter><purpose>Move assignment. Moves Values stored in the other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> to this one. </purpose><description><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If <computeroutput>has_nothrow_move&lt;T&gt;::value</computeroutput> is <computeroutput>true</computeroutput> and T's move constructor or move assignment throws. </para>
</listitem>
<listitem><para>If <computeroutput>has_nothrow_move&lt;T&gt;::value</computeroutput> is <computeroutput>false</computeroutput> and T's copy constructor or copy assignment throws.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a5a7be3dd713e21ecc6fa2cc576f6ecd7"><type><classname>static_vector</classname> &amp;</type><template>
          <template-nontype-parameter name="C"><type>std::size_t</type></template-nontype-parameter>
          <template-type-parameter name="O"/>
        </template><parameter name="other"><paramtype><classname>static_vector</classname>&lt; T, C, O &gt; &amp;&amp;</paramtype><description><para>The <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> which content will be moved to this one.</para></description></parameter><purpose>Move assignment. Moves Values stored in the other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> to this one. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If <computeroutput>has_nothrow_move&lt;T&gt;::value</computeroutput> is <computeroutput>true</computeroutput> and T's move constructor or move assignment throws. </para>
</listitem>
<listitem><para>If <computeroutput>has_nothrow_move&lt;T&gt;::value</computeroutput> is <computeroutput>false</computeroutput> and T's copy constructor or copy assignment throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><computeroutput>other.size() &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</requires></copy-assignment>
<destructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a8e17bd5dd83d30dba4cc274d4c8675cc"><purpose>Destructor. Destroys Values stored in this container. </purpose><description><para><formalpara><title>Throws</title><para>Nothing</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description></destructor>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a54a91b0622f73f47e6c120406e62f21a" name="swap"><type>void</type><parameter name="other"><paramtype><classname>static_vector</classname> &amp;</paramtype><description><para>The <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> which content will be swapped with this one's content.</para></description></parameter><purpose>Swaps contents of the other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> and this one. </purpose><description><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If <computeroutput>has_nothrow_move&lt;T&gt;::value</computeroutput> is <computeroutput>true</computeroutput> and T's move constructor or move assignment throws, </para>
</listitem>
<listitem><para>If <computeroutput>has_nothrow_move&lt;T&gt;::value</computeroutput> is <computeroutput>false</computeroutput> and T's copy constructor or copy assignment throws,</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1aaa87c6012376add7f5878ed13c9c9a48" name="swap"><type>void</type><template>
          <template-nontype-parameter name="C"><type>std::size_t</type></template-nontype-parameter>
          <template-type-parameter name="O"/>
        </template><parameter name="other"><paramtype><classname>static_vector</classname>&lt; T, C, O &gt; &amp;</paramtype><description><para>The <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> which content will be swapped with this one's content.</para></description></parameter><purpose>Swaps contents of the other <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link> and this one. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If <computeroutput>has_nothrow_move&lt;T&gt;::value</computeroutput> is <computeroutput>true</computeroutput> and T's move constructor or move assignment throws, </para>
</listitem>
<listitem><para>If <computeroutput>has_nothrow_move&lt;T&gt;::value</computeroutput> is <computeroutput>false</computeroutput> and T's copy constructor or copy assignment throws, </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><computeroutput>other.size() &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link> &amp;&amp; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9903e5a4a8eae0a237101f2256d72565">size()</link> &lt;= other.capacity()</computeroutput></para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a5cf0d8785ddab6f6c7ad92dd43bb4958" name="resize"><type>void</type><parameter name="count"><paramtype>size_type</paramtype><description><para>The number of elements which will be stored in the container.</para></description></parameter><purpose>Inserts or erases elements at the end such that the size becomes count. New elements are value initialized. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's value initialization throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><computeroutput>count &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a944d09dd0d7a7d9f2761db5f50e168fc" name="resize"><type>void</type><parameter name="count"><paramtype>size_type</paramtype><description><para>The number of elements which will be stored in the container.</para></description></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><purpose>Inserts or erases elements at the end such that the size becomes count. New elements are default initialized. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's default initialization throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N).</para>
</formalpara>
<formalpara><title>Note</title><para>Non-standard extension </para>
</formalpara>
</para></description><requires><para><computeroutput>count &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9e0c41bd56c0988b41835351aefbb83f" name="resize"><type>void</type><parameter name="count"><paramtype>size_type</paramtype><description><para>The number of elements which will be stored in the container. </para></description></parameter><parameter name="value"><paramtype>value_type const &amp;</paramtype><description><para>The value used to copy construct the new element.</para></description></parameter><purpose>Inserts or erases elements at the end such that the size becomes count. New elements are copy constructed from value. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's copy constructor throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><computeroutput>count &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a5f87ea3bc9ee67d477a5e38e1397fe43" name="reserve"><type>void</type><parameter name="count"><paramtype>size_type</paramtype><description><para>The number of elements which the container should be able to contain.</para></description></parameter><purpose>This call has no effect because the Capacity of this container is constant. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><requires><para><computeroutput>count &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a0fe7e9a5d63e5746565313ffb6ff0d27" name="push_back"><type>void</type><parameter name="value"><paramtype>value_type const &amp;</paramtype><description><para>The value used to copy construct the new element.</para></description></parameter><purpose>Adds a copy of value at the end. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's copy constructor throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><requires><para><computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9903e5a4a8eae0a237101f2256d72565">size()</link> &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1aeb96341ca025fe58671d27042697dc3e" name="push_back"><type>void</type><parameter name="value"><paramtype>value_type &amp;&amp;</paramtype><description><para>The value to move construct the new element.</para></description></parameter><purpose>Moves value to the end. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's move constructor throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><requires><para><computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9903e5a4a8eae0a237101f2256d72565">size()</link> &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1af07345fea98548075649e8ce99e6bcb4" name="pop_back" cv="noexcept"><type>void</type><purpose>Destroys last value and decreases the size. </purpose><description><para>
</para><para><formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><requires><para><computeroutput>!empty()</computeroutput></para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ae24ff908ca7e4454151dfbd5076ff622" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype><description><para>The position at which the new value will be inserted. </para></description></parameter><parameter name="value"><paramtype>value_type const &amp;</paramtype><description><para>The value used to copy construct the new element.</para></description></parameter><purpose>Inserts a copy of element at p. </purpose><description><para>

<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's copy constructor or copy assignment throws </para>
</listitem>
<listitem><para>If T's move constructor or move assignment throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant or linear. </para>
</formalpara>
</para></description><requires><para><itemizedlist>
<listitem><para><computeroutput>p</computeroutput> must be a valid iterator of <computeroutput>*this</computeroutput> in range <computeroutput>[<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a4f1384a1cc2fcd4fef255a2054ebaace">begin()</link>, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ace77e76d6368a1f0034d58dfe7edcaed">end()</link>]</computeroutput>. </para>
</listitem>
<listitem><para><computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9903e5a4a8eae0a237101f2256d72565">size()</link> &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</listitem>
</itemizedlist>
</para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ae77846dd0a79644e5849ba18a28b220c" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype><description><para>The position at which the new value will be inserted. </para></description></parameter><parameter name="value"><paramtype>value_type &amp;&amp;</paramtype><description><para>The value used to move construct the new element.</para></description></parameter><purpose>Inserts a move-constructed element at p. </purpose><description><para>

<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's move constructor or move assignment throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant or linear. </para>
</formalpara>
</para></description><requires><para><itemizedlist>
<listitem><para><computeroutput>p</computeroutput> must be a valid iterator of <computeroutput>*this</computeroutput> in range <computeroutput>[<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a4f1384a1cc2fcd4fef255a2054ebaace">begin()</link>, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ace77e76d6368a1f0034d58dfe7edcaed">end()</link>]</computeroutput>. </para>
</listitem>
<listitem><para><computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9903e5a4a8eae0a237101f2256d72565">size()</link> &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</listitem>
</itemizedlist>
</para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a124f8fe5fd93c1f57b787f436d417fd0" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype><description><para>The position at which new elements will be inserted. </para></description></parameter><parameter name="count"><paramtype>size_type</paramtype><description><para>The number of new elements which will be inserted. </para></description></parameter><parameter name="value"><paramtype>value_type const &amp;</paramtype><description><para>The value used to copy construct new elements.</para></description></parameter><purpose>Inserts a count copies of value at p. </purpose><description><para>

<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's copy constructor or copy assignment throws. </para>
</listitem>
<listitem><para>If T's move constructor or move assignment throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><itemizedlist>
<listitem><para><computeroutput>p</computeroutput> must be a valid iterator of <computeroutput>*this</computeroutput> in range <computeroutput>[<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a4f1384a1cc2fcd4fef255a2054ebaace">begin()</link>, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ace77e76d6368a1f0034d58dfe7edcaed">end()</link>]</computeroutput>. </para>
</listitem>
<listitem><para><computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9903e5a4a8eae0a237101f2256d72565">size()</link> + count &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</listitem>
</itemizedlist>
</para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9c8ddcaedb839974ba73d5de401c607a" name="insert"><type>iterator</type><template>
          <template-type-parameter name="Iterator"/>
        </template><parameter name="p"><paramtype>const_iterator</paramtype><description><para>The position at which new elements will be inserted. </para></description></parameter><parameter name="first"><paramtype>Iterator</paramtype><description><para>The iterator to the first element of a range used to construct new elements. </para></description></parameter><parameter name="last"><paramtype>Iterator</paramtype><description><para>The iterator to the one after the last element of a range used to construct new elements.</para></description></parameter><purpose>Inserts a copy of a range <computeroutput>[first, last)</computeroutput> at p. </purpose><description><para>

<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's constructor and assignment taking a dereferenced <computeroutput>Iterator</computeroutput>. </para>
</listitem>
<listitem><para>If T's move constructor or move assignment throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><itemizedlist>
<listitem><para><computeroutput>p</computeroutput> must be a valid iterator of <computeroutput>*this</computeroutput> in range <computeroutput>[<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a4f1384a1cc2fcd4fef255a2054ebaace">begin()</link>, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ace77e76d6368a1f0034d58dfe7edcaed">end()</link>]</computeroutput>. </para>
</listitem>
<listitem><para><computeroutput>distance(first, last) &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput> </para>
</listitem>
<listitem><para><computeroutput>Iterator</computeroutput> must meet the <computeroutput>ForwardTraversalIterator</computeroutput> concept.</para>
</listitem>
</itemizedlist>
</para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9f9595332309868fec1759a3b1709ec3" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype><description><para>The position at which new elements will be inserted. </para></description></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype><description><para>The std::initializer_list which contains elements that will be inserted.</para></description></parameter><purpose>Inserts a copy of a range <computeroutput>[il.begin(), il.end())</computeroutput> at p. </purpose><description><para>

<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's constructor and assignment taking a dereferenced std::initializer_list iterator. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><itemizedlist>
<listitem><para><computeroutput>p</computeroutput> must be a valid iterator of <computeroutput>*this</computeroutput> in range <computeroutput>[<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a4f1384a1cc2fcd4fef255a2054ebaace">begin()</link>, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ace77e76d6368a1f0034d58dfe7edcaed">end()</link>]</computeroutput>. </para>
</listitem>
<listitem><para><computeroutput>distance(il.begin(), il.end()) &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</listitem>
</itemizedlist>
</para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a01e84ba2fcf82dd886abadc1e30b3a4e" name="erase"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype><description><para>The position of the element which will be erased from the container.</para></description></parameter><purpose>Erases T from p. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para>If T's move assignment throws.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><computeroutput>p</computeroutput> must be a valid iterator of <computeroutput>*this</computeroutput> in range <computeroutput>[<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a4f1384a1cc2fcd4fef255a2054ebaace">begin()</link>, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ace77e76d6368a1f0034d58dfe7edcaed">end()</link>)</computeroutput></para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1aa1240f7e95674f48c8b9fb3ebcf13310" name="erase"><type>iterator</type><parameter name="first"><paramtype>const_iterator</paramtype><description><para>The position of the first element of a range which will be erased from the container. </para></description></parameter><parameter name="last"><paramtype>const_iterator</paramtype><description><para>The position of the one after the last element of a range which will be erased from the container.</para></description></parameter><purpose>Erases Values from a range <computeroutput>[first, last)</computeroutput>. </purpose><description><para>

<formalpara><title>Throws</title><para>If T's move assignment throws.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><itemizedlist>
<listitem><para><computeroutput>first</computeroutput> and <computeroutput>last</computeroutput> must define a valid range </para>
</listitem>
<listitem><para>iterators must be in range <computeroutput>[<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a4f1384a1cc2fcd4fef255a2054ebaace">begin()</link>, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ace77e76d6368a1f0034d58dfe7edcaed">end()</link>]</computeroutput></para>
</listitem>
</itemizedlist>
</para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1adc4e2c52f96f3298f7f3f0b874587b0f" name="assign"><type>void</type><template>
          <template-type-parameter name="Iterator"/>
        </template><parameter name="first"><paramtype>Iterator</paramtype><description><para>The iterator to the first element of a range used to construct new content of this container. </para></description></parameter><parameter name="last"><paramtype>Iterator</paramtype><description><para>The iterator to the one after the last element of a range used to construct new content of this container.</para></description></parameter><purpose>Assigns a range <computeroutput>[first, last)</computeroutput> of Values to this container. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's copy constructor or copy assignment throws, </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><computeroutput>distance(first, last) &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1acc3edad81d6ed2c9e67413bb421a7bc6" name="assign"><type>void</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype><description><para>std::initializer_list with values used to construct new content of this container.</para></description></parameter><purpose>Assigns a range <computeroutput>[il.begin(), il.end())</computeroutput> of Values to this container. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's copy constructor or copy assignment throws, </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><computeroutput>distance(il.begin(), il.end()) &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a782c22882ca3b5b5767aa5d332d15062" name="assign"><type>void</type><parameter name="count"><paramtype>size_type</paramtype><description><para>The new number of elements which will be container in the container. </para></description></parameter><parameter name="value"><paramtype>value_type const &amp;</paramtype><description><para>The value which will be used to copy construct the new content.</para></description></parameter><purpose>Assigns a count copies of value to this container. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If T's copy constructor or copy assignment throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><requires><para><computeroutput>count &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ad70e0389731f3be03a5b134c2dbafce8" name="emplace_back"><type>reference</type><template>
          <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype><description><para>The arguments of the constructor of the new element which will be created at the end of the container.</para></description></parameter><purpose>Inserts a T constructed with <computeroutput>std::forward&lt;Args&gt;(args)</computeroutput>... in the end of the container. </purpose><description><para>
</para><para>

<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If in-place constructor throws or T's move constructor throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><requires><para><computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9903e5a4a8eae0a237101f2256d72565">size()</link> &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</requires><returns><para>A reference to the created object.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ac2366eb1b6190c7f83215c732ac69e10" name="emplace"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
        </template><parameter name="p"><paramtype>const_iterator</paramtype><description><para>The position at which new elements will be inserted. </para></description></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype><description><para>The arguments of the constructor of the new element.</para></description></parameter><purpose>Inserts a T constructed with <computeroutput>std::forward&lt;Args&gt;(args)</computeroutput>... before p. </purpose><description><para>

<formalpara><title>Throws</title><para><itemizedlist>
<listitem><para>If in-place constructor throws or if T's move constructor or move assignment throws. </para>
</listitem>
<listitem><para>If <computeroutput>throw_on_overflow&lt;true&gt;</computeroutput> option is set and the container runs out of capacity.</para>
</listitem>
</itemizedlist>
</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant or linear. </para>
</formalpara>
</para></description><requires><para><itemizedlist>
<listitem><para><computeroutput>p</computeroutput> must be a valid iterator of <computeroutput>*this</computeroutput> in range <computeroutput>[<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a4f1384a1cc2fcd4fef255a2054ebaace">begin()</link>, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ace77e76d6368a1f0034d58dfe7edcaed">end()</link>]</computeroutput> </para>
</listitem>
<listitem><para><computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9903e5a4a8eae0a237101f2256d72565">size()</link> &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9">capacity()</link></computeroutput></para>
</listitem>
</itemizedlist>
</para>
</requires></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a04c65c65f8d2af29726e8b0987f3f87a" name="clear" cv="noexcept"><type>void</type><purpose>Removes all elements from the container. </purpose><description><para><formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a776c7fcdf59945fc4228e495092898c7" name="at"><type>reference</type><parameter name="i"><paramtype>size_type</paramtype><description><para>The element's index.</para></description></parameter><purpose>Returns reference to the i-th element. </purpose><description><para>
</para><para>

<formalpara><title>Throws</title><para><computeroutput>out_of_range</computeroutput> exception by default.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><requires><para><computeroutput>i &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9903e5a4a8eae0a237101f2256d72565">size()</link></computeroutput></para>
</requires><returns><para>reference to the i-th element from the beginning of the container.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a6acd8ae1c9c3d680d3a49fc6c5ffb6fa" name="at" cv="const"><type>const_reference</type><parameter name="i"><paramtype>size_type</paramtype><description><para>The element's index.</para></description></parameter><purpose>Returns const reference to the i-th element. </purpose><description><para>
</para><para>

<formalpara><title>Throws</title><para><computeroutput>out_of_range</computeroutput> exception by default.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><requires><para><computeroutput>i &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9903e5a4a8eae0a237101f2256d72565">size()</link></computeroutput></para>
</requires><returns><para>const reference to the i-th element from the beginning of the container.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a8cb6e3543b441d830c6718584463e93d" name="operator[]" cv="noexcept"><type>reference</type><parameter name="i"><paramtype>size_type</paramtype><description><para>The element's index.</para></description></parameter><purpose>Returns reference to the i-th element. </purpose><description><para>
</para><para>

<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><requires><para><computeroutput>i &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9903e5a4a8eae0a237101f2256d72565">size()</link></computeroutput></para>
</requires><returns><para>reference to the i-th element from the beginning of the container.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ac7acdecb3123e4e38b8dccf33dad829b" name="operator[]" cv="const noexcept"><type>const_reference</type><parameter name="i"><paramtype>size_type</paramtype><description><para>The element's index.</para></description></parameter><purpose>Returns const reference to the i-th element. </purpose><description><para>
</para><para>

<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><requires><para><computeroutput>i &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9903e5a4a8eae0a237101f2256d72565">size()</link></computeroutput></para>
</requires><returns><para>const reference to the i-th element from the beginning of the container.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a0cac7513d420a2c66e077ad5c14eb9ed" name="nth" cv="noexcept"><type>iterator</type><parameter name="i"><paramtype>size_type</paramtype><description><para>The element's index.</para></description></parameter><purpose>Returns a iterator to the i-th element. </purpose><description><para>
</para><para>

<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><requires><para><computeroutput>i =&lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9903e5a4a8eae0a237101f2256d72565">size()</link></computeroutput></para>
</requires><returns><para>a iterator to the i-th element.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a31679a1ec047529829efe8949d6ad2e1" name="nth" cv="const noexcept"><type>const_iterator</type><parameter name="i"><paramtype>size_type</paramtype><description><para>The element's index.</para></description></parameter><purpose>Returns a const_iterator to the i-th element. </purpose><description><para>
</para><para>

<formalpara><title>Throws</title><para>Nothing by default.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><requires><para><computeroutput>i =&lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9903e5a4a8eae0a237101f2256d72565">size()</link></computeroutput></para>
</requires><returns><para>a const_iterator to the i-th element.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a2495ed6e61fd2b94d417dde077122be9" name="index_of" cv="noexcept"><type>size_type</type><parameter name="p"><paramtype>iterator</paramtype><description><para>An iterator to the element.</para></description></parameter><purpose>Returns the index of the element pointed by p. </purpose><description><para>
</para><para>

<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><requires><para><computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a4f1384a1cc2fcd4fef255a2054ebaace">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ace77e76d6368a1f0034d58dfe7edcaed">end()</link></computeroutput></para>
</requires><returns><para>The index of the element pointed by p.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1aef0c44004c078cd10134aa3f744be35a" name="index_of" cv="const noexcept"><type>size_type</type><parameter name="p"><paramtype>const_iterator</paramtype><description><para>A const_iterator to the element.</para></description></parameter><purpose>Returns the index of the element pointed by p. </purpose><description><para>
</para><para>

<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><requires><para><computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a4f1384a1cc2fcd4fef255a2054ebaace">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ace77e76d6368a1f0034d58dfe7edcaed">end()</link></computeroutput></para>
</requires><returns><para>a const_iterator to the i-th element.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1abfb280a4bc64e8c99f6efabf989359ea" name="front" cv="noexcept"><type>reference</type><purpose>Returns reference to the first element. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><requires><para><computeroutput>!empty</computeroutput>()</para>
</requires><returns><para>reference to the first element from the beginning of the container.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a3405d5e602af957b5961b430f5a0ed5a" name="front" cv="const noexcept"><type>const_reference</type><purpose>Returns const reference to the first element. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><requires><para><computeroutput>!empty</computeroutput>()</para>
</requires><returns><para>const reference to the first element from the beginning of the container.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a399c57e3e13fa4cd7194a08dadc976cf" name="back" cv="noexcept"><type>reference</type><purpose>Returns reference to the last element. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><requires><para><computeroutput>!empty</computeroutput>()</para>
</requires><returns><para>reference to the last element from the beginning of the container.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a33fcf561c64344facfda5205fde9612a" name="back" cv="const noexcept"><type>const_reference</type><purpose>Returns const reference to the first element. </purpose><description><para>
</para><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><requires><para><computeroutput>!empty</computeroutput>()</para>
</requires><returns><para>const reference to the last element from the beginning of the container.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a5d594b1723df0c262498920f07dd6220" name="data" cv="noexcept"><type>T *</type><purpose>Pointer such that <computeroutput>[<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a5d594b1723df0c262498920f07dd6220">data()</link>, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a5d594b1723df0c262498920f07dd6220">data()</link> + <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9903e5a4a8eae0a237101f2256d72565">size()</link>)</computeroutput> is a valid range. For a non-empty vector <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a5d594b1723df0c262498920f07dd6220">data()</link> == &amp;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1abfb280a4bc64e8c99f6efabf989359ea">front()</link></computeroutput>. </purpose><description><para><formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a49e9c708aff9e0ef55fa36dc5b3ff499" name="data" cv="const noexcept"><type>const T *</type><purpose>Const pointer such that <computeroutput>[<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a5d594b1723df0c262498920f07dd6220">data()</link>, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a5d594b1723df0c262498920f07dd6220">data()</link> + <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9903e5a4a8eae0a237101f2256d72565">size()</link>)</computeroutput> is a valid range. For a non-empty vector <computeroutput><link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a5d594b1723df0c262498920f07dd6220">data()</link> == &amp;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1abfb280a4bc64e8c99f6efabf989359ea">front()</link></computeroutput>. </purpose><description><para><formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a4f1384a1cc2fcd4fef255a2054ebaace" name="begin" cv="noexcept"><type>iterator</type><purpose>Returns iterator to the first element. </purpose><description><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><returns><para>iterator to the first element contained in the vector.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1aa10c1cdbc1e3272495b0cf2a93cab610" name="begin" cv="const noexcept"><type>const_iterator</type><purpose>Returns const iterator to the first element. </purpose><description><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><returns><para>const_iterator to the first element contained in the vector.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9ede334678f43aa9b4cc1bc44e799ea1" name="cbegin" cv="const noexcept"><type>const_iterator</type><purpose>Returns const iterator to the first element. </purpose><description><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><returns><para>const_iterator to the first element contained in the vector.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1ace77e76d6368a1f0034d58dfe7edcaed" name="end" cv="noexcept"><type>iterator</type><purpose>Returns iterator to the one after the last element. </purpose><description><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><returns><para>iterator pointing to the one after the last element contained in the vector.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1adb23f4f11540ba8965a4917a20c478f2" name="end" cv="const noexcept"><type>const_iterator</type><purpose>Returns const iterator to the one after the last element. </purpose><description><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><returns><para>const_iterator pointing to the one after the last element contained in the vector.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9c8dec27064996f08cec9d21ceebd90f" name="cend" cv="const noexcept"><type>const_iterator</type><purpose>Returns const iterator to the one after the last element. </purpose><description><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><returns><para>const_iterator pointing to the one after the last element contained in the vector.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a3535253f965e19676a3a5950e07cdbbb" name="rbegin" cv="noexcept"><type>reverse_iterator</type><purpose>Returns reverse iterator to the first element of the reversed container. </purpose><description><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><returns><para>reverse_iterator pointing to the beginning of the reversed <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a058cd2f6d3e0a61739b6c121b6ca6593" name="rbegin" cv="const noexcept"><type>const_reverse_iterator</type><purpose>Returns const reverse iterator to the first element of the reversed container. </purpose><description><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><returns><para>const_reverse_iterator pointing to the beginning of the reversed <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1af0136bc22eac6c72731ac7699e86741b" name="crbegin" cv="const noexcept"><type>const_reverse_iterator</type><purpose>Returns const reverse iterator to the first element of the reversed container. </purpose><description><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><returns><para>const_reverse_iterator pointing to the beginning of the reversed <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a13154da6e032bdef65c0450e36a5d261" name="rend" cv="noexcept"><type>reverse_iterator</type><purpose>Returns reverse iterator to the one after the last element of the reversed container. </purpose><description><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><returns><para>reverse_iterator pointing to the one after the last element of the reversed <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a71cea82a31ae18e69372a33d0be0cfe6" name="rend" cv="const noexcept"><type>const_reverse_iterator</type><purpose>Returns const reverse iterator to the one after the last element of the reversed container. </purpose><description><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><returns><para>const_reverse_iterator pointing to the one after the last element of the reversed <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1afe12f4ccc6e5d7493d287ec700fbdd3c" name="crend" cv="const noexcept"><type>const_reverse_iterator</type><purpose>Returns const reverse iterator to the one after the last element of the reversed container. </purpose><description><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><returns><para>const_reverse_iterator pointing to the one after the last element of the reversed <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a9903e5a4a8eae0a237101f2256d72565" name="size" cv="const noexcept"><type>size_type</type><purpose>Returns the number of stored elements. </purpose><description><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><returns><para>Number of elements contained in the container.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a747c7f36d1fb8ff8ea83694b640b359d" name="empty" cv="const noexcept"><type>bool</type><purpose>Queries if the container contains elements. </purpose><description><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><returns><para>true if the number of elements contained in the container is equal to 0.</para>
</returns></method>
</method-group>
<method-group name="public static functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a1721ee4a131b34c15ead5a4d2f33a1e9" name="capacity" cv="noexcept" specifiers="static"><type>size_type</type><purpose>Returns container's capacity. </purpose><description><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><returns><para>container's capacity.</para>
</returns></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a769040f0325cb1b92f0796ae3a22ddbe" name="max_size" cv="noexcept" specifiers="static"><type>size_type</type><purpose>Returns container's capacity. </purpose><description><para>
<formalpara><title>Throws</title><para>Nothing.</para>
</formalpara>
<formalpara><title>Complexity</title><para>Constant O(1). </para>
</formalpara>
</para></description><returns><para>container's capacity.</para>
</returns></method>
</method-group>
</class>



















































<function id="doxygen.boost_container_header_reference.static__vector_8hpp_1a15b54bd544d6f12206efdb88305f7c85" name="operator=="><type>bool</type><template>
          <template-type-parameter name="V"/>
          <template-nontype-parameter name="C1"><type>std::size_t</type></template-nontype-parameter>
          <template-nontype-parameter name="C2"><type>std::size_t</type></template-nontype-parameter>
          <template-type-parameter name="O1"/>
          <template-type-parameter name="O2"/>
        </template><parameter name="x"><paramtype><classname>static_vector</classname>&lt; V, C1, O1 &gt; const &amp;</paramtype><description><para>The first <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>. </para></description></parameter><parameter name="y"><paramtype><classname>static_vector</classname>&lt; V, C2, O2 &gt; const &amp;</paramtype><description><para>The second <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>.</para></description></parameter><purpose>Checks if contents of two static_vectors are equal. </purpose><description><para>

<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><returns><para><computeroutput>true</computeroutput> if containers have the same size and elements in both containers are equal.</para>
</returns></function>
<function id="doxygen.boost_container_header_reference.static__vector_8hpp_1a5e9ce3a42fca91bc01b9e866911945a5" name="operator!="><type>bool</type><template>
          <template-type-parameter name="V"/>
          <template-nontype-parameter name="C1"><type>std::size_t</type></template-nontype-parameter>
          <template-nontype-parameter name="C2"><type>std::size_t</type></template-nontype-parameter>
          <template-type-parameter name="O1"/>
          <template-type-parameter name="O2"/>
        </template><parameter name="x"><paramtype><classname>static_vector</classname>&lt; V, C1, O1 &gt; const &amp;</paramtype><description><para>The first <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>. </para></description></parameter><parameter name="y"><paramtype><classname>static_vector</classname>&lt; V, C2, O2 &gt; const &amp;</paramtype><description><para>The second <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>.</para></description></parameter><purpose>Checks if contents of two static_vectors are not equal. </purpose><description><para>

<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><returns><para><computeroutput>true</computeroutput> if containers have different size or elements in both containers are not equal.</para>
</returns></function>
<function id="doxygen.boost_container_header_reference.static__vector_8hpp_1ab4c3dbb8e040956768f31c13da07d160" name="operator&lt;"><type>bool</type><template>
          <template-type-parameter name="V"/>
          <template-nontype-parameter name="C1"><type>std::size_t</type></template-nontype-parameter>
          <template-nontype-parameter name="C2"><type>std::size_t</type></template-nontype-parameter>
          <template-type-parameter name="O1"/>
          <template-type-parameter name="O2"/>
        </template><parameter name="x"><paramtype><classname>static_vector</classname>&lt; V, C1, O1 &gt; const &amp;</paramtype><description><para>The first <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>. </para></description></parameter><parameter name="y"><paramtype><classname>static_vector</classname>&lt; V, C2, O2 &gt; const &amp;</paramtype><description><para>The second <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>.</para></description></parameter><purpose>Lexicographically compares static_vectors. </purpose><description><para>

<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><returns><para><computeroutput>true</computeroutput> if x compares lexicographically less than y.</para>
</returns></function>
<function id="doxygen.boost_container_header_reference.static__vector_8hpp_1a59e7c36c5169adff90edd25a38545e1d" name="operator&gt;"><type>bool</type><template>
          <template-type-parameter name="V"/>
          <template-nontype-parameter name="C1"><type>std::size_t</type></template-nontype-parameter>
          <template-nontype-parameter name="C2"><type>std::size_t</type></template-nontype-parameter>
          <template-type-parameter name="O1"/>
          <template-type-parameter name="O2"/>
        </template><parameter name="x"><paramtype><classname>static_vector</classname>&lt; V, C1, O1 &gt; const &amp;</paramtype><description><para>The first <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>. </para></description></parameter><parameter name="y"><paramtype><classname>static_vector</classname>&lt; V, C2, O2 &gt; const &amp;</paramtype><description><para>The second <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>.</para></description></parameter><purpose>Lexicographically compares static_vectors. </purpose><description><para>

<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><returns><para><computeroutput>true</computeroutput> if y compares lexicographically less than x.</para>
</returns></function>
<function id="doxygen.boost_container_header_reference.static__vector_8hpp_1a837c9d57c66bfc362499a6af6edc3c40" name="operator&lt;="><type>bool</type><template>
          <template-type-parameter name="V"/>
          <template-nontype-parameter name="C1"><type>std::size_t</type></template-nontype-parameter>
          <template-nontype-parameter name="C2"><type>std::size_t</type></template-nontype-parameter>
          <template-type-parameter name="O1"/>
          <template-type-parameter name="O2"/>
        </template><parameter name="x"><paramtype><classname>static_vector</classname>&lt; V, C1, O1 &gt; const &amp;</paramtype><description><para>The first <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>. </para></description></parameter><parameter name="y"><paramtype><classname>static_vector</classname>&lt; V, C2, O2 &gt; const &amp;</paramtype><description><para>The second <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>.</para></description></parameter><purpose>Lexicographically compares static_vectors. </purpose><description><para>

<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><returns><para><computeroutput>true</computeroutput> if y don't compare lexicographically less than x.</para>
</returns></function>
<function id="doxygen.boost_container_header_reference.static__vector_8hpp_1a806479cc8252394b0d8f7e3857a2cf1e" name="operator&gt;="><type>bool</type><template>
          <template-type-parameter name="V"/>
          <template-nontype-parameter name="C1"><type>std::size_t</type></template-nontype-parameter>
          <template-nontype-parameter name="C2"><type>std::size_t</type></template-nontype-parameter>
          <template-type-parameter name="O1"/>
          <template-type-parameter name="O2"/>
        </template><parameter name="x"><paramtype><classname>static_vector</classname>&lt; V, C1, O1 &gt; const &amp;</paramtype><description><para>The first <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>. </para></description></parameter><parameter name="y"><paramtype><classname>static_vector</classname>&lt; V, C2, O2 &gt; const &amp;</paramtype><description><para>The second <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>.</para></description></parameter><purpose>Lexicographically compares static_vectors. </purpose><description><para>

<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description><returns><para><computeroutput>true</computeroutput> if x don't compare lexicographically less than y.</para>
</returns></function>
<function id="doxygen.boost_container_header_reference.static__vector_8hpp_1aefc3664160800a8f58eea0132fc09bec" name="swap"><type>void</type><template>
          <template-type-parameter name="V"/>
          <template-nontype-parameter name="C1"><type>std::size_t</type></template-nontype-parameter>
          <template-nontype-parameter name="C2"><type>std::size_t</type></template-nontype-parameter>
          <template-type-parameter name="O1"/>
          <template-type-parameter name="O2"/>
        </template><parameter name="x"><paramtype><classname>static_vector</classname>&lt; V, C1, O1 &gt; &amp;</paramtype><description><para>The first <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>. </para></description></parameter><parameter name="y"><paramtype><classname>static_vector</classname>&lt; V, C2, O2 &gt; &amp;</paramtype><description><para>The second <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector">static_vector</link>.</para></description></parameter><purpose>Swaps contents of two static_vectors. </purpose><description><para>This function calls <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1static__vector_1a54a91b0622f73f47e6c120406e62f21a">static_vector::swap()</link>.</para><para>
<formalpara><title>Complexity</title><para>Linear O(N). </para>
</formalpara>
</para></description></function>


























































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.pmr_2string_8hpp" name="boost/container/pmr/string.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1basic__string__of" name="basic_string_of"><template>
      <template-type-parameter name="CharT"/>
      <template-type-parameter name="Traits"><default>std::char_traits&lt;CharT&gt;</default></template-type-parameter>
    </template><description><para>A portable metafunction to obtain a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> that uses a polymorphic allocator </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1basic__string__of_1a7092fc16c1feca4247c8fe51061163ab" name="type"><type><classname>boost::container::basic_string</classname>&lt; CharT, Traits, <classname>polymorphic_allocator</classname>&lt; CharT &gt; &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.pmr_2string_8hpp_1a4c42510d20f41e078aaa635fbdcd9ff5" name="basic_string"><type><classname>boost::container::basic_string</classname>&lt; CharT, Traits, <classname>polymorphic_allocator</classname>&lt; CharT &gt; &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.pmr_2string_8hpp_1aac05458812d46797d2413b0d6ce5936c" name="string"><type><classname>basic_string_of</classname>&lt; char &gt;::type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.pmr_2string_8hpp_1af999ae1d6543374874c4f3e07dbcc866" name="wstring"><type><classname>basic_string_of</classname>&lt; wchar_t &gt;::type</type></typedef>






</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.string_8hpp" name="boost/container/string.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string" name="basic_string"><template>
      <template-type-parameter name="CharT"><purpose><para>The type of character it contains. </para></purpose></template-type-parameter>
      <template-type-parameter name="Traits"><default>std::char_traits&lt;CharT&gt;</default><purpose><para>The Character Traits type, which encapsulates basic character operations </para></purpose></template-type-parameter>
      <template-type-parameter name="Allocator"><default>void</default><purpose><para>The allocator, used for internal memory management. </para></purpose></template-type-parameter>
    </template><inherit access="private">dtl::basic_string_base&lt; real_allocator&lt; CharT, void &gt;::type &gt;</inherit><description><para>The <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> class represents a Sequence of characters. It contains all the usual operations of a Sequence, and, additionally, it contains standard string operations such as search and concatenation.</para><para>The <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> class is parameterized by character type, and by that type's Character Traits.</para><para>This class has performance characteristics very much like vector&lt;&gt;, meaning, for example, that it does not perform reference-count or copy-on-write, and that concatenation of two strings is an O(N) operation.</para><para>Some of <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link>'s member functions use an unusual method of specifying positions and ranges. In addition to the conventional method using iterators, many of <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link>'s member functions use a single value pos of type size_type to represent a position (in which case the position is <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link> + pos, and many of <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link>'s member functions use two values, pos and n, to represent a range. In that case pos is the beginning of the range and n is its size. That is, the range is [<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link> + pos, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link> + pos + n).</para><para>Note that the C++ standard does not specify the complexity of <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> operations. In this implementation, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> has performance characteristics very similar to those of vector: access to a single character is O(1), while copy and concatenation are O(N).</para><para>In this implementation, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link>, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a382f6ac8b142f737767dead6c8975ba4">end()</link>, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a75273d7c797079dcfe63207e254d51d8">rbegin()</link>, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a49aa7a365ec5444b2d109a8894cff62d">rend()</link>, operator[], <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a029c198c13152631d6e7de5b1d82b5a3">c_str()</link>, and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a55bacf909bddc52215167e54ece54c47">data()</link> do not invalidate iterators. In this implementation, iterators are only invalidated by member functions that explicitly change the string's contents.</para><para>
</para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a37c90ceb1d0c170bc8eb7c2297ba03a9" name="traits_type"><type>Traits</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a0990e4826164624903028d7cd05b0222" name="value_type"><type>CharT</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a538f7bb067ffc74f2125c685a8891886" name="allocator_type"><type>real_allocator&lt; CharT, Allocator &gt;::type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a082d3e48df7828c9347e67ac9465a2fa" name="pointer"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ac2341ba2eec3e0ead3e123a98811fd74" name="const_pointer"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1af5d8965d187f22ac1e24cc6496606914" name="reference"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad7b01e3865878965148b5ad5e2020abe" name="const_reference"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::const_reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1af5d45e92836dd44f9301f63e4787f67f" name="size_type"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a4280d5c53ec9d22ab1cc56a31565e0a1" name="difference_type"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1aa3cb83e49e366455ffa4adfdd4a4943b" name="stored_allocator_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ada4903cb93b34bf1958e48df8271b8c5" name="iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a693b015318e01ba4bf53694296a17a29" name="const_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a212ef26127d78b396030a5082015f443" name="reverse_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a23a26b9af5e64725a637b4423bf14844" name="const_reverse_iterator"><type>implementation_defined</type></typedef>
<data-member id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a65441b2a391ddced796faaebb6be4dc5" name="npos"><type>BOOST_STATIC_CONSTEXPR size_type</type></data-member>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a0bccb979f051e2f40e396c763b250d7a" cv="noexcept(dtl::is_nothrow_default_constructible&lt; allocator_type &gt;::value)"><description><para><emphasis role="bold">Effects</emphasis>: Default constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link>.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor throws. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a9bbb5908dbc1927924938cdbf01b8ae2" specifiers="explicit" cv="noexcept"><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> taking the allocator as parameter.</para><para><emphasis role="bold">Throws</emphasis>: Nothing </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a10e037904f7c864fad2da6878fae1cf2"><parameter name="s"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link>.</para><para><emphasis role="bold">Postcondition</emphasis>: x == *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor or allocation throws. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a755d15e6e2e459e4824c9d04397de63c" specifiers="explicit"><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Same as <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link>(sv.data(), sv.size(), a).</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's default constructor or allocation throws. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ac805c93e48e179b72eb24529b13f75d9" cv="noexcept"><parameter name="s"><paramtype><classname>basic_string</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructor. Moves s's resources to *this.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ab74c6e55dec8cd6fac7ca4a4e22840bb"><parameter name="s"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> using the specified allocator.</para><para><emphasis role="bold">Postcondition</emphasis>: x == *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocation throws. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a03a176b13739004a85133f8753d20f23"><parameter name="s"><paramtype><classname>basic_string</classname> &amp;&amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructor using the specified allocator. Moves s's resources to *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocation throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant if a == s.get_allocator(), linear otherwise. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a5996145e811604e8097607c59ca7ab07"><parameter name="s"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> with a default-constructed allocator, and is initialized by a specific number of characters of the s string. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ac35753dee53dffc3727671a75e308ef8"><parameter name="s"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> taking the allocator as parameter, and is initialized by a specific number of characters of the s string. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a5732d44e48f71cc235db8e99d746877b"><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> taking a default-constructed allocator, and is initialized by a specific number of characters of the s c-string. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a3751edacf4e85f0e7afbf5a089f29995"><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> taking the allocator as parameter, and is initialized by a specific number of characters of the s c-string. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a6303ce2a52cddeb50c79fd742e1570bc"><parameter name="s"><paramtype>const CharT *</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> with a default-constructed allocator, and is initialized by the null-terminated s c-string. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a0b96def92a1286a3da79b3510ff7eed3"><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> taking the allocator as parameter, and is initialized by the null-terminated s c-string. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a9073baeca63e00556c852419c7faa11d"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="c"><paramtype>CharT</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> with a default-constructed allocator, and is initialized by n copies of c. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1afe481efd48b2e7e8f83907c18d1bdde3"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="c"><paramtype>CharT</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> taking the allocator as parameter, and is initialized by n copies of c. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a2094e094f5377cb532afc231890e2f07"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> with a default-constructed allocator, and is initialized by n default-initialized characters. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a790c234b96b6f02a4a8722867e74f857"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> taking the allocator as parameter, and is initialized by n default-initialized characters. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a3b1dc647364f34d70af26522795e621b"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="f"><paramtype>InputIterator</paramtype></parameter><parameter name="l"><paramtype>InputIterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> with a default-constructed allocator, and a range of iterators. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a728ac28ceb648dadaa0149742756e82c"><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name="f"><paramtype>InputIterator</paramtype></parameter><parameter name="l"><paramtype>InputIterator</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> taking the allocator as parameter, and a range of iterators. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a5f2932c4224692a70654da41c282a7f4"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Same as <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link>(il.begin(), il.end(), a). </para></description></constructor>
<destructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1af170650c0b337d9008f6bf9d71365402" cv="noexcept"><description><para><emphasis role="bold">Effects</emphasis>: Destroys the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link>. All used memory is deallocated.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></destructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a030e35c95ecd83ebac4e9aa887f40d09"><type><classname>basic_string</classname> &amp;</type><parameter name="x"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a string.</para><para><emphasis role="bold">Postcondition</emphasis>: x == *this.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements x contains. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1afcdf8d1a72debadb51a816e587b330be" cv="noexcept(allocator_traits_type::propagate_on_container_move_assignment::value||allocator_traits_type::is_always_equal::value)"><type><classname>basic_string</classname> &amp;</type><parameter name="x"><paramtype><classname>basic_string</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructor. Moves x's resources to *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_traits_type::propagate_on_container_move_assignment is false and allocation throws</para><para><emphasis role="bold">Complexity</emphasis>: Constant if allocator_traits_type:: propagate_on_container_move_assignment is true or this-&gt;get&gt;allocator() == x.get_allocator(). Linear otherwise. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a303fe4c375d47b58066dc96784e901b2"><type><classname>basic_string</classname> &amp;</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assignment from a null-terminated c-string. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a931d2873e540b8636a949ba34b7bb48d"><type><classname>basic_string</classname> &amp;</type><parameter name="c"><paramtype>CharT</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns *this = basic_string(1, c). </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1aec828daadec274b5d7f6453cc39061a0"><type><classname>basic_string</classname> &amp;</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to return assign(sv). </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a1ff8c7b405c3ded3e10c3ef202f5b16c"><type><classname>basic_string</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; CharT &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns *this = basic_string(il); </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a67f3aa4319f283e401dc78a8ce62c2cd" name="get_allocator" cv="const noexcept"><type>allocator_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a copy of the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: If allocator's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad835a240198ef12cb3e8dc18703e78a8" name="get_stored_allocator" cv="noexcept"><type>stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a095f35509d145509d6d70a2f0efb5863" name="get_stored_allocator" cv="const noexcept"><type>const stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e" name="begin" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the first element contained in the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a6f83400c96bcb497680532f6f886f5a6" name="begin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a382f6ac8b142f737767dead6c8975ba4" name="end" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the end of the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a1b75987e47f0cfd26b53c4f8720586ad" name="end" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a75273d7c797079dcfe63207e254d51d8" name="rbegin" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the beginning of the reversed vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a5c7efafbe413d6ad6388f54d6289bf43" name="rbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a49aa7a365ec5444b2d109a8894cff62d" name="rend" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the end of the reversed vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a27f5e86cde6f4cf193909c50f798801d" name="rend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a2bdedce43166cd09624294597ef1474e" name="cbegin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a3a70143d8f5eb3c115a6c691b5f24900" name="cend" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a5e3e535a196d4613af3cac1c1ed34a21" name="crbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a265210cb603b0be0c2c78ba3b1af39cb" name="crend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1af4ef26d0184bb176d99574b22bf3596a" name="empty" cv="const noexcept"><type>bool</type><description><para><emphasis role="bold">Effects</emphasis>: Returns true if the vector contains no elements.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0" name="size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the number of the elements contained in the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ac207b4a19e02b76dae4ec3d2794e859c" name="length" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the number of the elements contained in the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a136e6b12693966fed37f73111d9fb72a" name="max_size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the largest possible size of the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a79258646d7d1042af6588effc4fd68cd" name="resize"><type>void</type><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="c"><paramtype>CharT</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts or erases elements at the end such that the size becomes n. New elements are copy constructed from x.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the difference between <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> and new_size. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ac79c1ddb29fdb8c152b4b366163b3791" name="resize"><type>void</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts or erases elements at the end such that the size becomes n. New elements are value initialized.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the difference between <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> and new_size. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a72eb96679d769a876968b74aa3d39494" name="resize"><type>void</type><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts or erases elements at the end such that the size becomes n. New elements are uninitialized.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the difference between <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> and new_size.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1af823c96592d31589c8a491d7ded6d608" name="capacity" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Number of elements for which memory has been allocated. <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1af823c96592d31589c8a491d7ded6d608">capacity()</link> is always greater than or equal to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a140dc58d2d17f66f21e20ee8e11a00d4" name="reserve"><type>void</type><parameter name="res_arg"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If n is less than or equal to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1af823c96592d31589c8a491d7ded6d608">capacity()</link>, this call has no effect. Otherwise, it is a request for allocation of additional memory. If the request is successful, then <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1af823c96592d31589c8a491d7ded6d608">capacity()</link> is greater than or equal to n; otherwise, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1af823c96592d31589c8a491d7ded6d608">capacity()</link> is unchanged. In either case, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> is unchanged.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation allocation throws </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1aa81ba79739b6152a58adb9ae4e79de7c" name="shrink_to_fit"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Tries to deallocate the excess of memory created with previous allocations. The size of the string is unchanged</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Linear to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a50b981f497935231b1192509b7e8aa25" name="front" cv="noexcept"><type>reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the first element of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a0c4db1a4113c49dd776fe1c59a842e05" name="front" cv="const noexcept"><type>const_reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the first element of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a297fdd171e91dd68099ad9e45f5aae81" name="back" cv="noexcept"><type>reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the last element of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a8421da6c8873cbaeb522bf1f68e660d4" name="back" cv="const noexcept"><type>const_reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the last element of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a33f2f7592f7b4c84a290491b7147fbbb" name="operator[]" cv="noexcept"><type>reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> &gt; n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the nth element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a4e03746168a2b4e265b882a3f6866731" name="operator[]" cv="const noexcept"><type>const_reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> &gt; n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the nth element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a680ee2e913028d11fb3d07807ae0051e" name="at"><type>reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> &gt; n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the nth element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: range_error if n &gt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link></para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1af9a8ec9f44c54df93157ac57faa0b239" name="at" cv="const"><type>const_reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> &gt; n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the nth element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: range_error if n &gt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link></para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1aa276d8ad9afb27d8d170f2fecf01a51f" name="operator+="><type><classname>basic_string</classname> &amp;</type><parameter name="s"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Calls append(str.data, str.size()).</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a5959561e1de267bcfa00b4e24239c036" name="operator+="><type><classname>basic_string</classname> &amp;</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Same as <computeroutput>return append(sv)</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a7ab03fabd0fe4fe05d18d15bd4fe3dac" name="operator+="><type><classname>basic_string</classname> &amp;</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Calls append(s).</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ace8074b051986e6a0afc73e113db6a61" name="operator+="><type><classname>basic_string</classname> &amp;</type><parameter name="c"><paramtype>CharT</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Calls append(1, c).</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a0c78a652d4e574cf1c385c9733fdf960" name="operator+="><type><classname>basic_string</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; CharT &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns append(il) </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a19007e3a31b419cf60aa19f0704a7c60" name="append"><type><classname>basic_string</classname> &amp;</type><parameter name="s"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Calls append(str.data(), str.size()).</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1adefdc681529452f13249e5c3d324ee57" name="append"><type><classname>basic_string</classname> &amp;</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Same as return append(sv.data(), sv.size()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1abaa1fdd7aa947ad7fd8a34c22c92a77e" name="append"><type><classname>basic_string</classname> &amp;</type><parameter name="s"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos &lt;= str.size()</para><para><emphasis role="bold">Effects</emphasis>: Determines the effective length rlen of the string to append as the smaller of n and str.size() - pos and calls append(str.data() + pos, rlen).</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws and out_of_range if pos &gt; str.size()</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1af6d2366f6948f2533c1ff53ecb3b039f" name="append"><type><classname>basic_string</classname> &amp;</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: s points to an array of at least n elements of CharT.</para><para><emphasis role="bold">Effects</emphasis>: The function replaces the string controlled by *this with a string of length <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> + n whose irst <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> elements are a copy of the original string controlled by *this and whose remaining elements are a copy of the initial n elements of s.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws length_error if <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> + n &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a136e6b12693966fed37f73111d9fb72a">max_size()</link>.</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ae28db776dac2f71fd997500e51501e78" name="append"><type><classname>basic_string</classname> &amp;</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: s points to an array of at least traits::length(s) + 1 elements of CharT.</para><para><emphasis role="bold">Effects</emphasis>: Calls append(s, traits::length(s)).</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a84ad2cf277f68223d18cb6da5e7b7a2e" name="append"><type><classname>basic_string</classname> &amp;</type><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="c"><paramtype>CharT</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to append(basic_string(n, c)).</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1acdb469c79e91e1e62dea60d0109aa54f" name="append"><type><classname>basic_string</classname> &amp;</type><template>
          <template-type-parameter name="InputIter"/>
        </template><parameter name="first"><paramtype>InputIter</paramtype></parameter><parameter name="last"><paramtype>InputIter</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: [first,last) is a valid range.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to append(basic_string(first, last)).</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a7781ab638c47331966a1c6f8015bb66e" name="append"><type><classname>basic_string</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; CharT &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns append(il.begin(), il.size()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1aacd1dffcfdbb315284c9721a15d76354" name="push_back"><type>void</type><parameter name="c"><paramtype>CharT</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to append(static_cast&lt;size_type&gt;(1), c). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad98130c078dbc4476f514fc34cd214be" name="assign"><type><classname>basic_string</classname> &amp;</type><parameter name="s"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to assign(str, 0, npos).</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a93f5e044c9c41e02a588eae28fe0d974" name="assign"><type><classname>basic_string</classname> &amp;</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to return assign(sv.data(), sv.size()).</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a5369b8a596e8fbe4d5e6a7380d40d6a4" name="assign" cv="noexcept"><type><classname>basic_string</classname> &amp;</type><parameter name="ms"><paramtype><classname>basic_string</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: The function replaces the string controlled by *this with a string of length str.size() whose elements are a copy of the string controlled by str. Leaves str in a valid but unspecified state.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1aa9f27ffbc8e230cdcd46e6e5b0824f0b" name="assign"><type><classname>basic_string</classname> &amp;</type><parameter name="s"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos &lt;= str.size()</para><para><emphasis role="bold">Effects</emphasis>: Determines the effective length rlen of the string to assign as the smaller of n and str.size() - pos and calls assign(str.data() + pos rlen).</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or out_of_range if pos &gt; str.size().</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a43a05676955a234fd5f55afa01af6b64" name="assign"><type><classname>basic_string</classname> &amp;</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: s points to an array of at least n elements of CharT.</para><para><emphasis role="bold">Effects</emphasis>: Replaces the string controlled by *this with a string of length n whose elements are a copy of those pointed to by s.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or length_error if n &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a136e6b12693966fed37f73111d9fb72a">max_size()</link>.</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a44d637aa886a8553b481c6ace94f7d13" name="assign"><type><classname>basic_string</classname> &amp;</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: s points to an array of at least traits::length(s) + 1 elements of CharT.</para><para><emphasis role="bold">Effects</emphasis>: Calls assign(s, traits::length(s)).</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a518569ac1a8ab262e58d8c249b7857ca" name="assign"><type><classname>basic_string</classname> &amp;</type><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="c"><paramtype>CharT</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to assign(basic_string(n, c)).</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1adc98d918f99c5c17776b78cd04b0ac26" name="assign"><type><classname>basic_string</classname> &amp;</type><parameter name="first"><paramtype>const CharT *</paramtype></parameter><parameter name="last"><paramtype>const CharT *</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to assign(basic_string(first, last)). <emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ae38f0b993a8641ec6100956714f19503" name="assign"><type><classname>basic_string</classname> &amp;</type><template>
          <template-type-parameter name="InputIter"/>
        </template><parameter name="first"><paramtype>InputIter</paramtype></parameter><parameter name="last"><paramtype>InputIter</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to assign(basic_string(first, last)).</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a6de78735bc30478251e59d5f5505d7fc" name="assign"><type><classname>basic_string</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; CharT &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns assign(il.begin(), il.size()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1afb3335f2b7c496d095350ac751a39b05" name="insert"><type><classname>basic_string</classname> &amp;</type><parameter name="pos"><paramtype>size_type</paramtype></parameter><parameter name="s"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Calls insert(pos, str.data(), str.size()).</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or out_of_range if pos &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>.</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a99c3b7832690acb9ebcf6c04752e61de" name="insert"><type><classname>basic_string</classname> &amp;</type><parameter name="pos1"><paramtype>size_type</paramtype></parameter><parameter name="s"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><parameter name="pos2"><paramtype>size_type</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos1 &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> and pos2 &lt;= str.size()</para><para><emphasis role="bold">Effects</emphasis>: Determines the effective length rlen of the string to insert as the smaller of n and str.size() - pos2 and calls insert(pos1, str.data() + pos2, rlen).</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or out_of_range if pos1 &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> or pos2 &gt; str.size().</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1aa28a13a985b9aa00b6c2431d8badec32" name="insert"><type><classname>basic_string</classname> &amp;</type><parameter name="pos"><paramtype>size_type</paramtype></parameter><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: s points to an array of at least n elements of CharT and pos &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Replaces the string controlled by *this with a string of length <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> + n whose first pos elements are a copy of the initial elements of the original string controlled by *this and whose next n elements are a copy of the elements in s and whose remaining elements are a copy of the remaining elements of the original string controlled by *this.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, out_of_range if pos &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> or length_error if <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> + n &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a136e6b12693966fed37f73111d9fb72a">max_size()</link>.</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1aaf1ec786e42c459bf43726f31820d743" name="insert"><type><classname>basic_string</classname> &amp;</type><parameter name="pos"><paramtype>size_type</paramtype></parameter><parameter name="s"><paramtype>const CharT *</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> and s points to an array of at least traits::length(s) + 1 elements of CharT</para><para><emphasis role="bold">Effects</emphasis>: Calls insert(pos, s, traits::length(s)).</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, out_of_range if pos &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> length_error if <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a136e6b12693966fed37f73111d9fb72a">max_size()</link> - Traits::length(s)</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a300fbbcd864693945c1b648fc6510398" name="insert"><type><classname>basic_string</classname> &amp;</type><parameter name="pos"><paramtype>size_type</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="c"><paramtype>CharT</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Equivalent to insert(pos, basic_string(n, c)).</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, out_of_range if pos &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> length_error if <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a136e6b12693966fed37f73111d9fb72a">max_size()</link> - n</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1adb21a2a2d48df92949d9d0ba626fbbff" name="insert"><type><classname>basic_string</classname> &amp;</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="pos"><paramtype>size_type</paramtype></parameter><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Same as <computeroutput>return insert(pos, sv.data(), sv.size())</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1aef4cb68379e09b7d7472e556a8e33c04" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="c"><paramtype>CharT</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p is a valid iterator on *this.</para><para><emphasis role="bold">Effects</emphasis>: inserts a copy of c before the character referred to by p.</para><para><emphasis role="bold">Returns</emphasis>: An iterator which refers to the copy of the inserted character. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a58538f044afd349eef3765a3ae048e12" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="c"><paramtype>CharT</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p is a valid iterator on *this.</para><para><emphasis role="bold">Effects</emphasis>: Inserts n copies of c before the character referred to by p.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or p if n is 0. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a0ee0dea8c4d590dc910ec6acf3616df4" name="insert"><type>iterator</type><template>
          <template-type-parameter name="InputIter"/>
        </template><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="first"><paramtype>InputIter</paramtype></parameter><parameter name="last"><paramtype>InputIter</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p is a valid iterator on *this. [first,last) is a valid range.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to insert(p - <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link>, basic_string(first, last)).</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or p if first == last. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1adeeb2fa1083100ac9bb6943499af8406" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; CharT &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: As if by insert(p, il.begin(), il.end()).</para><para><emphasis role="bold">Returns</emphasis>: An iterator which refers to the copy of the first inserted character, or p if i1 is empty. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a3bf85785912dced99ea506dc7f7af105" name="pop_back" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Removes the last element from the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad084578a60ca08c24b5d3f3e9bd87deb" name="erase"><type><classname>basic_string</classname> &amp;</type><parameter name="pos"><paramtype>size_type</paramtype><default>0</default></parameter><parameter name="n"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link></para><para><emphasis role="bold">Effects</emphasis>: Determines the effective length xlen of the string to be removed as the smaller of n and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> - pos. The function then replaces the string controlled by *this with a string of length <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> - xlen whose first pos elements are a copy of the initial elements of the original string controlled by *this, and whose remaining elements are a copy of the elements of the original string controlled by *this beginning at position pos + xlen.</para><para><emphasis role="bold">Throws</emphasis>: out_of_range if pos &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>.</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a36ecad6e4af83e9a9129a9feed05509b" name="erase" cv="noexcept"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Removes the character referred to by p.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: An iterator which points to the element immediately following p prior to the element being erased. If no such element exists, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a382f6ac8b142f737767dead6c8975ba4">end()</link> is returned. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a4898d74753435e5c76729be312ef25e7" name="erase" cv="noexcept"><type>iterator</type><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: first and last are valid iterators on *this, defining a range [first,last).</para><para><emphasis role="bold">Effects</emphasis>: Removes the characters in the range [first,last).</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: An iterator which points to the element pointed to by last prior to the other elements being erased. If no such element exists, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a382f6ac8b142f737767dead6c8975ba4">end()</link> is returned. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a143675ee52415e691db95ccb03e129e5" name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Erases all the elements of the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the vector. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1aa46338aac04ac428ab28d35b0bd553d8" name="replace"><type><classname>basic_string</classname> &amp;</type><parameter name="pos1"><paramtype>size_type</paramtype></parameter><parameter name="n1"><paramtype>size_type</paramtype></parameter><parameter name="str"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos1 &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Calls replace(pos1, n1, str.data(), str.size()).</para><para><emphasis role="bold">Throws</emphasis>: if memory allocation throws or out_of_range if pos1 &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>.</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ae646e9fcbf7b4717262cd85f43f6d61a" name="replace"><type><classname>basic_string</classname> &amp;</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="pos1"><paramtype>size_type</paramtype></parameter><parameter name="n1"><paramtype>size_type</paramtype></parameter><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Calls <computeroutput>return replace(pos1, n1, sv.data(), sv.size());</computeroutput>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ac518429c74385477a832970ef7dad8ed" name="replace"><type><classname>basic_string</classname> &amp;</type><parameter name="pos1"><paramtype>size_type</paramtype></parameter><parameter name="n1"><paramtype>size_type</paramtype></parameter><parameter name="str"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><parameter name="pos2"><paramtype>size_type</paramtype></parameter><parameter name="n2"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos1 &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> and pos2 &lt;= str.size().</para><para><emphasis role="bold">Effects</emphasis>: Determines the effective length rlen of the string to be inserted as the smaller of n2 and str.size() - pos2 and calls replace(pos1, n1, str.data() + pos2, rlen).</para><para><emphasis role="bold">Throws</emphasis>: if memory allocation throws, out_of_range if pos1 &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> or pos2 &gt; str.size().</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a69ca4fd471c55ef5f68e3f1892bb5837" name="replace"><type><classname>basic_string</classname> &amp;</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="pos1"><paramtype>size_type</paramtype></parameter><parameter name="n1"><paramtype>size_type</paramtype></parameter><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><parameter name="pos2"><paramtype>size_type</paramtype></parameter><parameter name="n2"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Throws</emphasis>: out_of_range if pos1 &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> or pos2 &gt; sv.size().</para><para><emphasis role="bold">Effects</emphasis>: Determines the effective length rlen of the string to be inserted as the smaller of n2 and sv.size() - pos2 and calls <computeroutput>replace(pos1, n1, sv.data() + pos2, rlen)</computeroutput>.</para><para><emphasis role="bold">Returns</emphasis>: *this. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a1e9f5de5b1939048d4f4b2070864f4bc" name="replace"><type><classname>basic_string</classname> &amp;</type><parameter name="pos1"><paramtype>size_type</paramtype></parameter><parameter name="n1"><paramtype>size_type</paramtype></parameter><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="n2"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos1 &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> and s points to an array of at least n2 elements of CharT.</para><para><emphasis role="bold">Effects</emphasis>: Determines the effective length xlen of the string to be removed as the smaller of n1 and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> - pos1. If <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> - xlen &gt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a136e6b12693966fed37f73111d9fb72a">max_size()</link> - n2 throws length_error. Otherwise, the function replaces the string controlled by *this with a string of length <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> - xlen + n2 whose first pos1 elements are a copy of the initial elements of the original string controlled by *this, whose next n2 elements are a copy of the initial n2 elements of s, and whose remaining elements are a copy of the elements of the original string controlled by *this beginning at position pos + xlen.</para><para><emphasis role="bold">Throws</emphasis>: if memory allocation throws, out_of_range if pos1 &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> or length_error if the length of the resulting string would exceed <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a136e6b12693966fed37f73111d9fb72a">max_size()</link></para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a46d0d5f15f86450ef07636019c5c58df" name="replace"><type><classname>basic_string</classname> &amp;</type><parameter name="pos"><paramtype>size_type</paramtype></parameter><parameter name="n1"><paramtype>size_type</paramtype></parameter><parameter name="s"><paramtype>const CharT *</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos1 &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> and s points to an array of at least n2 elements of CharT.</para><para><emphasis role="bold">Effects</emphasis>: Determines the effective length xlen of the string to be removed as the smaller of n1 and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> - pos1. If <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> - xlen &gt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a136e6b12693966fed37f73111d9fb72a">max_size()</link> - n2 throws length_error. Otherwise, the function replaces the string controlled by *this with a string of length <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> - xlen + n2 whose first pos1 elements are a copy of the initial elements of the original string controlled by *this, whose next n2 elements are a copy of the initial n2 elements of s, and whose remaining elements are a copy of the elements of the original string controlled by *this beginning at position pos + xlen.</para><para><emphasis role="bold">Throws</emphasis>: if memory allocation throws, out_of_range if pos1 &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> or length_error if the length of the resulting string would exceed <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a136e6b12693966fed37f73111d9fb72a">max_size()</link></para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a1fdc71ecb55a77b0202eb1399580cb2f" name="replace"><type><classname>basic_string</classname> &amp;</type><parameter name="pos1"><paramtype>size_type</paramtype></parameter><parameter name="n1"><paramtype>size_type</paramtype></parameter><parameter name="n2"><paramtype>size_type</paramtype></parameter><parameter name="c"><paramtype>CharT</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos1 &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Equivalent to replace(pos1, n1, basic_string(n2, c)).</para><para><emphasis role="bold">Throws</emphasis>: if memory allocation throws, out_of_range if pos1 &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> or length_error if the length of the resulting string would exceed <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a136e6b12693966fed37f73111d9fb72a">max_size()</link></para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a2438f915da7b121258ef2d2ac019f52a" name="replace"><type><classname>basic_string</classname> &amp;</type><parameter name="i1"><paramtype>const_iterator</paramtype></parameter><parameter name="i2"><paramtype>const_iterator</paramtype></parameter><parameter name="str"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: [<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link>,i1) and [i1,i2) are valid ranges.</para><para><emphasis role="bold">Effects</emphasis>: Calls replace(i1 - <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link>, i2 - i1, str).</para><para><emphasis role="bold">Throws</emphasis>: if memory allocation throws</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ab934c590a2bea5087c23c24514ea9be3" name="replace"><type><classname>basic_string</classname> &amp;</type><parameter name="i1"><paramtype>const_iterator</paramtype></parameter><parameter name="i2"><paramtype>const_iterator</paramtype></parameter><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: [<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link>,i1) and [i1,i2) are valid ranges and s points to an array of at least n elements</para><para><emphasis role="bold">Effects</emphasis>: Calls replace(i1 - <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link>, i2 - i1, s, n).</para><para><emphasis role="bold">Throws</emphasis>: if memory allocation throws</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a88979bb52e7803a569eac8c0ba8557dd" name="replace"><type><classname>basic_string</classname> &amp;</type><parameter name="i1"><paramtype>const_iterator</paramtype></parameter><parameter name="i2"><paramtype>const_iterator</paramtype></parameter><parameter name="s"><paramtype>const CharT *</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: [<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link>,i1) and [i1,i2) are valid ranges and s points to an array of at least traits::length(s) + 1 elements of CharT.</para><para><emphasis role="bold">Effects</emphasis>: Calls replace(i1 - <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link>, i2 - i1, s, traits::length(s)).</para><para><emphasis role="bold">Throws</emphasis>: if memory allocation throws</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1af57ebcf9b395e120e8b75a48d1c44b71" name="replace"><type><classname>basic_string</classname> &amp;</type><parameter name="i1"><paramtype>const_iterator</paramtype></parameter><parameter name="i2"><paramtype>const_iterator</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="c"><paramtype>CharT</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: [<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link>,i1) and [i1,i2) are valid ranges.</para><para><emphasis role="bold">Effects</emphasis>: Calls replace(i1 - <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link>, i2 - i1, basic_string(n, c)).</para><para><emphasis role="bold">Throws</emphasis>: if memory allocation throws</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1aee9ab9c909bbcaaf9ae5ad45c2f9c5e0" name="replace"><type><classname>basic_string</classname> &amp;</type><template>
          <template-type-parameter name="InputIter"/>
        </template><parameter name="i1"><paramtype>const_iterator</paramtype></parameter><parameter name="i2"><paramtype>const_iterator</paramtype></parameter><parameter name="j1"><paramtype>InputIter</paramtype></parameter><parameter name="j2"><paramtype>InputIter</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: [<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link>,i1), [i1,i2) and [j1,j2) are valid ranges.</para><para><emphasis role="bold">Effects</emphasis>: Calls replace(i1 - <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link>, i2 - i1, basic_string(j1, j2)).</para><para><emphasis role="bold">Throws</emphasis>: if memory allocation throws</para><para><emphasis role="bold">Returns</emphasis>: *this </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a8707c5c563d08f373379de257fc6c0a0" name="replace"><type><classname>basic_string</classname> &amp;</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="i1"><paramtype>const_iterator</paramtype></parameter><parameter name="i2"><paramtype>const_iterator</paramtype></parameter><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: [<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link>, i1) and [i1, i2) are valid ranges.</para><para><emphasis role="bold">Effects</emphasis>: Calls <computeroutput>replace(i1 - <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link>, i2 - i1, sv).</computeroutput>.</para><para><emphasis role="bold">Returns</emphasis>: *this. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a1f0d5446b6e2056b5d7728e58ea99435" name="replace"><type><classname>basic_string</classname> &amp;</type><parameter name="i1"><paramtype>const_iterator</paramtype></parameter><parameter name="i2"><paramtype>const_iterator</paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; CharT &gt;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: [<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link>, i1) and [i1, i2) are valid ranges.</para><para><emphasis role="bold">Effects</emphasis>: Calls replace(i1 - <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a14df0eea2d38d32ddf20f7eb28c20f9e">begin()</link>, i2 - i1, il.begin(), il.size()).</para><para><emphasis role="bold">Returns</emphasis>: *this. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a9773cbe87057ffe335b65be11c07aed0" name="copy" cv="const"><type>size_type</type><parameter name="s"><paramtype>CharT *</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>0</default></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link></para><para><emphasis role="bold">Effects</emphasis>: Determines the effective length rlen of the string to copy as the smaller of n and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> - pos. s shall designate an array of at least rlen elements. The function then replaces the string designated by s with a string of length rlen whose elements are a copy of the string controlled by *this beginning at position pos. The function does not append a null object to the string designated by s.</para><para><emphasis role="bold">Throws</emphasis>: if memory allocation throws, out_of_range if pos &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>.</para><para><emphasis role="bold">Returns</emphasis>: rlen </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a79eadae04fe74747fd439752a84850cf" name="swap" cv="noexcept(allocator_traits_type::propagate_on_container_swap::value||allocator_traits_type::is_always_equal::value)"><type>void</type><parameter name="x"><paramtype><classname>basic_string</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: *this contains the same sequence of characters that was in s, s contains the same sequence of characters that was in *this.</para><para><emphasis role="bold">Throws</emphasis>: Nothing </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a029c198c13152631d6e7de5b1d82b5a3" name="c_str" cv="const noexcept"><type>const CharT *</type><description><para><emphasis role="bold">Requires</emphasis>: The program shall not alter any of the values stored in the character array.</para><para><emphasis role="bold">Returns</emphasis>: A pointer p such that p + i == &amp;operator[](i) for each i in [0,<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>].</para><para><emphasis role="bold">Complexity</emphasis>: constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a36bd799fe07e736b5e7076128240c04a" name="data" cv="const noexcept"><type>const CharT *</type><description><para><emphasis role="bold">Requires</emphasis>: The program shall not alter any of the values stored in the character array.</para><para><emphasis role="bold">Returns</emphasis>: A pointer p such that p + i == &amp;operator[](i) for each i in [0,<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>].</para><para><emphasis role="bold">Complexity</emphasis>: constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a55bacf909bddc52215167e54ece54c47" name="data" cv="noexcept"><type>CharT *</type><description><para><emphasis role="bold">Returns</emphasis>: A pointer p such that p + i == &amp;operator[](i) for each i in [0,<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>].</para><para><emphasis role="bold">Complexity</emphasis>: constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a43dab6350c875bd5b6a22e287b0e71f3" name="conversion-operator" cv="const noexcept"><type>BasicStringView&lt; CharT, Traits &gt;</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><description><para><emphasis role="bold">Returns</emphasis>: a string_view to the characters in the string.</para><para><emphasis role="bold">Complexity</emphasis>: constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1af3fdb73c887926c17ad3242820282293" name="to_view" cv="const noexcept"><type>BasicStringView</type><template>
          <template-type-parameter name="BasicStringView"/>
        </template><description><para><emphasis role="bold">Returns</emphasis>: a string_view to the characters in the string.</para><para><emphasis role="bold">Complexity</emphasis>: constant time.</para><para><emphasis role="bold">Note</emphasis>: This function is available to write portable code for compilers that don't support templated conversion operators. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a7e73a197810b276f3af5370cceb90d6b" name="find" cv="const"><type>size_type</type><parameter name="s"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>0</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Determines the lowest position xpos, if possible, such that both of the following conditions hold: 1) pos &lt;= xpos and xpos + str.size() &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>; 2) traits::eq(at(xpos+I), str.at(I)) for all elements I of the string controlled by str.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1aa0b069612b8808fee94f8e657a76ad4e" name="find" cv="const"><type>size_type</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>0</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Determines the lowest position xpos, if possible, such that both of the following conditions hold: 1) pos &lt;= xpos and xpos + sv.size() &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>; 2) traits::eq(at(xpos+I), sv.at(I)) for all elements I of the string controlled by sv.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a84741f764f00db7dcc10044f65aa8fce" name="find" cv="const"><type>size_type</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: s points to an array of at least n elements of CharT.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: find(basic_string&lt;CharT,traits,allocator_type&gt;(s,n),pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a7c9565fbfe18a180a306b7568706f203" name="find" cv="const"><type>size_type</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>0</default></parameter><description><para><emphasis role="bold">Requires</emphasis>: s points to an array of at least traits::length(s) + 1 elements of CharT.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: find(basic_string(s), pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a2ed303955561c03a2acd7c1376e594f3" name="find" cv="const"><type>size_type</type><parameter name="c"><paramtype>CharT</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>0</default></parameter><description><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: find(basic_string&lt;CharT,traits,allocator_type&gt;(1,c), pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1aad4b729ba74a7485917aeac6886197be" name="rfind" cv="const"><type>size_type</type><parameter name="str"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos &lt;= pos and xpos + str.size() &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>; b) traits::eq(at(xpos+I), str.at(I)) for all elements I of the string controlled by str.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ae5af62216970dce6b723fd0b57c26db5" name="rfind" cv="const"><type>size_type</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos &lt;= pos and xpos + sv.size() &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>; b) traits::eq(at(xpos+I), sv.at(I)) for all elements I of the string controlled by sv.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a700b38add0aec6b32e093bc77aa283d7" name="rfind" cv="const"><type>size_type</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: s points to an array of at least n elements of CharT.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: rfind(basic_string(s, n), pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ae25e4594cfc1a913ffed0d451306b1b2" name="rfind" cv="const"><type>size_type</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> and s points to an array of at least traits::length(s) + 1 elements of CharT.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: rfind(basic_string(s), pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a6fce81f34ee2881f6c385eeaaab958b5" name="rfind" cv="const"><type>size_type</type><parameter name="c"><paramtype>CharT</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: rfind(basic_string&lt;CharT,traits,allocator_type&gt;(1,c),pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a5739fa86a27e4b29292ccb8b0311c7a3" name="find_first_of" cv="const"><type>size_type</type><parameter name="str"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>0</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Determines the lowest position xpos, if possible, such that both of the following conditions obtain: a) pos &lt;= xpos and xpos &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>; b) traits::eq(at(xpos), str.at(I)) for some element I of the string controlled by str.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ae176b84c2e09735e1ed2af934f7cbf89" name="find_first_of" cv="const"><type>size_type</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>0</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Determines the lowest position xpos, if possible, such that both of the following conditions obtain: a) pos &lt;= xpos and xpos &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>; b) traits::eq(at(xpos), sv.at(I)) for some element I of the string controlled by sv.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ab1f6235d5c289bba2000cf9a1d3b3d99" name="find_first_of" cv="const"><type>size_type</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: s points to an array of at least n elements of CharT.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: find_first_of(basic_string(s, n), pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ab3ade04b7fbcf346cf384637d4355fab" name="find_first_of" cv="const"><type>size_type</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>0</default></parameter><description><para><emphasis role="bold">Requires</emphasis>: s points to an array of at least traits::length(s) + 1 elements of CharT.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: find_first_of(basic_string(s), pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a394fb9a6fca0b6b64bf4ed3ddcf10843" name="find_first_of" cv="const"><type>size_type</type><parameter name="c"><paramtype>CharT</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>0</default></parameter><description><para><emphasis role="bold">Requires</emphasis>: s points to an array of at least traits::length(s) + 1 elements of CharT.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: find_first_of(basic_string&lt;CharT,traits,allocator_type&gt;(1,c), pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ab2f6805128bde2c0fbfc5ae319f1ded4" name="find_last_of" cv="const"><type>size_type</type><parameter name="str"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos &lt;= pos and xpos &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>; b) traits::eq(at(xpos), str.at(I)) for some element I of the string controlled by str.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a4fabd0246833f39e43ffe86711d88b8c" name="find_last_of" cv="const"><type>size_type</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos &lt;= pos and xpos &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>; b) traits::eq(at(xpos), str.at(I)) for some element I of the string controlled by str.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1aed483069bb541560d3d980a55e63b369" name="find_last_of" cv="const"><type>size_type</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: s points to an array of at least n elements of CharT.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: find_last_of(basic_string(s, n), pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1afbf884217326ef49218530e674000e79" name="find_last_of" cv="const"><type>size_type</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Requires</emphasis>: s points to an array of at least traits::length(s) + 1 elements of CharT.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: find_last_of(basic_string&lt;CharT,traits,allocator_type&gt;(1,c),pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ae7151e5ada2de1add9192761efeb2c72" name="find_last_of" cv="const"><type>size_type</type><parameter name="c"><paramtype>CharT</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: find_last_of(basic_string(s), pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a39ab203973be77c88548e19e0abf79aa" name="find_first_not_of" cv="const"><type>size_type</type><parameter name="str"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>0</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Determines the lowest position xpos, if possible, such that both of the following conditions obtain: a) pos &lt;= xpos and xpos &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>; b) traits::eq(at(xpos), str.at(I)) for no element I of the string controlled by str.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a4e7f8c9a2ec8716778625ad37274fdb8" name="find_first_not_of" cv="const"><type>size_type</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>0</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Determines the lowest position xpos, if possible, such that both of the following conditions obtain: a) pos &lt;= xpos and xpos &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>; b) traits::eq(at(xpos), sv.at(I)) for no element I of the string controlled by sv.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a88e52daa830b4dae3ff6c49ba1aa6ec3" name="find_first_not_of" cv="const"><type>size_type</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: s points to an array of at least traits::length(s) + 1 elements of CharT.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: find_first_not_of(basic_string(s, n), pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a2fbc504acf66988476eb3b0ccd3624ab" name="find_first_not_of" cv="const"><type>size_type</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>0</default></parameter><description><para><emphasis role="bold">Requires</emphasis>: s points to an array of at least traits::length(s) + 1 elements of CharT.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: find_first_not_of(basic_string(s), pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a4a76bd8e5276749ffaef79ddf934e990" name="find_first_not_of" cv="const"><type>size_type</type><parameter name="c"><paramtype>CharT</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>0</default></parameter><description><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: find_first_not_of(basic_string(1, c), pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a86888c062a5cf816bcc1923fd1dd07ed" name="find_last_not_of" cv="const"><type>size_type</type><parameter name="str"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos &lt;= pos and xpos &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>; b) traits::eq(at(xpos), str.at(I)) for no element I of the string controlled by str.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1aef2daa5d85ca539ef4ec970e53c51095" name="find_last_not_of" cv="const"><type>size_type</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos &lt;= pos and xpos &lt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>; b) traits::eq(at(xpos), sv.at(I)) for no element I of the string controlled by sv.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a5f9d00dd91423c540559b39b435d9ee9" name="find_last_not_of" cv="const"><type>size_type</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: s points to an array of at least n elements of CharT.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: find_last_not_of(basic_string(s, n), pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ac9cde767c9d6caa4fbde0673e8cdea4a" name="find_last_not_of" cv="const"><type>size_type</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Requires</emphasis>: s points to an array of at least traits::length(s) + 1 elements of CharT.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: find_last_not_of(basic_string(s), pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a06d65b1a8beca0b0f7588e54c4ab8d72" name="find_last_not_of" cv="const"><type>size_type</type><parameter name="c"><paramtype>CharT</paramtype></parameter><parameter name="pos"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: find_last_not_of(basic_string(1, c), pos). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a9e1cafccf4df6c8d6dc9a1442808665c" name="substr" cv="const"><type><classname>basic_string</classname></type><parameter name="pos"><paramtype>size_type</paramtype><default>0</default></parameter><parameter name="n"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Requires</emphasis>: Requires: pos &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link></para><para><emphasis role="bold">Effects</emphasis>: Determines the effective length rlen of the string to copy as the smaller of n and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> - pos.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or out_of_range if pos &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link>.</para><para><emphasis role="bold">Returns</emphasis>: basic_string&lt;CharT,traits,allocator_type&gt;(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a55bacf909bddc52215167e54ece54c47">data()</link>+pos,rlen). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a12b4a4bdf398ca3775b30e9e105642f0" name="compare" cv="const"><type>int</type><parameter name="str"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Determines the effective length rlen of the string to compare as the smaller of <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> and str.size(). The function then compares the two strings by calling traits::compare(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a55bacf909bddc52215167e54ece54c47">data()</link>, str.data(), rlen).</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: The nonzero result if the result of the comparison is nonzero. Otherwise, returns a value &lt; 0 if <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> &lt; str.size(), a 0 value if <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> == str.size(), and value &gt; 0 if <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> &gt; str.size() </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a525b923758190dd5f4c02e00e2528a98" name="compare" cv="const"><type>int</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><description><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: compare(basic_string(sv)). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a8fa3439729d8a26caae78581b832fe6c" name="compare" cv="const"><type>int</type><parameter name="pos1"><paramtype>size_type</paramtype></parameter><parameter name="n1"><paramtype>size_type</paramtype></parameter><parameter name="str"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos1 &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link></para><para><emphasis role="bold">Effects</emphasis>: Determines the effective length rlen of the string to compare as the smaller of (this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> - pos1), n1 and str.size(). The function then compares the two strings by calling traits::compare(<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a55bacf909bddc52215167e54ece54c47">data()</link>+pos1, str.data(), rlen).</para><para><emphasis role="bold">Throws</emphasis>: out_of_range if pos1 &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link></para><para><emphasis role="bold">Returns</emphasis>:basic_string(*this,pos1,n1).compare(str). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a2a733082f2434674a292e8bff0eb874e" name="compare" cv="const"><type>int</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="pos1"><paramtype>size_type</paramtype></parameter><parameter name="n1"><paramtype>size_type</paramtype></parameter><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos1 &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link></para><para><emphasis role="bold">Throws</emphasis>: out_of_range if pos1 &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link></para><para><emphasis role="bold">Returns</emphasis>:basic_string(*this,pos1,n1).compare(sv). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a221da0d60dbdd5475ed113abaf547398" name="compare" cv="const"><type>int</type><parameter name="pos1"><paramtype>size_type</paramtype></parameter><parameter name="n1"><paramtype>size_type</paramtype></parameter><parameter name="str"><paramtype>const <classname>basic_string</classname> &amp;</paramtype></parameter><parameter name="pos2"><paramtype>size_type</paramtype></parameter><parameter name="n2"><paramtype>size_type</paramtype><default>npos</default></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos1 &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> and pos2 &lt;= str.size()</para><para><emphasis role="bold">Effects</emphasis>: Determines the effective length rlen of the string to copy as the smaller of</para><para><emphasis role="bold">Throws</emphasis>: out_of_range if pos1 &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> or pos2 &gt; str.size()</para><para><emphasis role="bold">Returns</emphasis>: basic_string(*this, pos1, n1).compare(basic_string(str, pos2, n2)). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a953ef6d418518d4fd5e6a262cba791a3" name="compare" cv="const"><type>int</type><template>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="pos1"><paramtype>size_type</paramtype></parameter><parameter name="n1"><paramtype>size_type</paramtype></parameter><parameter name="sv"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><parameter name="pos2"><paramtype>size_type</paramtype></parameter><parameter name="n2"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos1 &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> and pos2 &lt;= str.size()</para><para><emphasis role="bold">Effects</emphasis>: Determines the effective length rlen of the string to copy as the smaller of</para><para><emphasis role="bold">Throws</emphasis>: out_of_range if pos1 &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> or pos2 &gt; sv.size()</para><para><emphasis role="bold">Returns</emphasis>: basic_string(*this, pos1, n1).compare(BasicStringView&lt;CharT, Traits&gt;(sv, pos2, n2)). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ac6d9dd47f1d20f568819e07a10518e6a" name="compare" cv="const"><type>int</type><parameter name="s"><paramtype>const CharT *</paramtype></parameter><description><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Returns</emphasis>: compare(basic_string(s)). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a8c69b162bdc6612fa337e16ca7e9970c" name="compare" cv="const"><type>int</type><parameter name="pos1"><paramtype>size_type</paramtype></parameter><parameter name="n1"><paramtype>size_type</paramtype></parameter><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="n2"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos1 &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> and s points to an array of at least n2 elements of CharT.</para><para><emphasis role="bold">Throws</emphasis>: out_of_range if pos1 &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link></para><para><emphasis role="bold">Returns</emphasis>: basic_string(*this, pos, n1).compare(basic_string(s, n2)). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1a9d488afbf7fb5a3081a6cf3f2d65422e" name="compare" cv="const"><type>int</type><parameter name="pos1"><paramtype>size_type</paramtype></parameter><parameter name="n1"><paramtype>size_type</paramtype></parameter><parameter name="s"><paramtype>const CharT *</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: pos1 &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link> and s points to an array of at least traits::length(s) + 1 elements of CharT.</para><para><emphasis role="bold">Throws</emphasis>: out_of_range if pos1 &gt; <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string_1ad805839f0dfc45ceb357eb348ab85da0">size()</link></para><para><emphasis role="bold">Returns</emphasis>: basic_string(*this, pos, n1).compare(basic_string(s, n2)). </para></description></method>
</method-group>
</class><typedef id="doxygen.boost_container_header_reference.string_8hpp_1aa58e92daa0c494234e26f93e1a1b4d77" name="string"><description><para>Typedef for a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> of narrow characters </para></description><type><classname>basic_string</classname>&lt; char,std::char_traits&lt; char &gt;,<classname>new_allocator</classname>&lt; char &gt; &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.string_8hpp_1a0dfee3439c4f1eabc4a6a1043d2a4653" name="wstring"><description><para>Typedef for a <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1basic__string">basic_string</link> of narrow characters </para></description><type><classname>basic_string</classname>&lt; wchar_t,std::char_traits&lt; wchar_t &gt;,<classname>new_allocator</classname>&lt; wchar_t &gt; &gt;</type></typedef>







<function id="doxygen.boost_container_header_reference.string_8hpp_1a239b3bfeb9dd4bdd97e12845b860541e" name="basic_string"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1aa8df4dfd83709eb5baa2410928d72eea" name="basic_string"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a6dd323027056fa92d5d7087fbea3b587" name="operator+"><type><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt;</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1ae29ed0aa3afac320da9e08a7c3e07366" name="operator+"><type><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt;</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;&amp;</paramtype></parameter><parameter name="y"><paramtype><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;&amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1aff3777abecba0c168a2f7966b68dbc84" name="operator+"><type><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt;</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;&amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a02d51aca9e29e288666259e3e535c3e6" name="operator+"><type><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt;</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="y"><paramtype><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;&amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a35bbb47383378342229168681ec10a22" name="operator+"><type><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt;</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="y"><paramtype><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a405dc06f9b825d5b521e2ba7a4b66fc6" name="operator+"><type><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt;</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt;</paramtype></parameter><parameter name="s"><paramtype>const CharT *</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a49a2d838dddd87b436535edf42a03a5b" name="operator+"><type><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt;</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="c"><paramtype>CharT</paramtype></parameter><parameter name="y"><paramtype><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a33800acfb0aae5900e5de518793a3b9d" name="operator+"><type><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt;</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt;</paramtype></parameter><parameter name="c"><paramtype>const CharT</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1ae8bb77f33f356a1c68d2957b68be7b9c" name="operator=="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a16dc96973a04ab05a91d6a8857e3495e" name="operator=="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a81c048d81e5c651ab9a49220e9f9612a" name="operator=="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="s"><paramtype>const CharT *</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1adc86f14b5436bf6d675d8a0b9d90c8c5" name="operator=="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="x"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1aba5a58f8449b1b0d319d71a2906a6c97" name="operator=="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="y"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1af9a973c24d984904132224bd70472867" name="operator!="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a16ec80cce817e739f9908232a4383341" name="operator!="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a8894642bd1a3ee038469c0db13f26919" name="operator!="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="s"><paramtype>const CharT *</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a70e04b0fbbfc86078dafe689421b3aed" name="operator!="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="x"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a001411905cfde851f9943a1ea2b52379" name="operator!="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="y"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a8e9379f14f92f914525db38b1fa3b5cd" name="operator&lt;"><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a3f98ba6aa89c35b606351ff015cab4c7" name="operator&lt;"><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1aa10d3129c2a347a2be1fb846ba9803c6" name="operator&lt;"><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="s"><paramtype>const CharT *</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a6d084c3492918a3d39c74d74c2d8e369" name="operator&lt;"><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="x"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a025082ae3b6d4c91b81865c1a452a0ef" name="operator&lt;"><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="y"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a6715e2cbfcd06b05e768760e24dca2ab" name="operator&gt;"><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a1523f47995134aaae5eb5bc93d5e9cad" name="operator&gt;"><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a3c05f4e7340f397361595df7cec81631" name="operator&gt;"><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="s"><paramtype>const CharT *</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a8720adc91297204b14fcd9b63e672a6f" name="operator&gt;"><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="x"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1af8db3111960adcfeab343ca0dc849e09" name="operator&gt;"><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="y"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a7cf804dc6cad1e8e6545a3cf42054103" name="operator&lt;="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1adcf03a5c5ecec4868c74b97ad6542c98" name="operator&lt;="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a6941863af4c0471f8c0a74fff995ad6c" name="operator&lt;="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="s"><paramtype>const CharT *</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1ada3b6b95b528e028f7e9b1819cfb9a13" name="operator&lt;="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="x"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a447a499e1cb03638324dd505b64be483" name="operator&lt;="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="y"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1aef43d348ef3956a62ff0ef35a275b62a" name="operator&gt;="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1ae824ad68d6c03d7340f2c21224d7d2de" name="operator&gt;="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="s"><paramtype>const CharT *</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a8d45d675e89b4ebf09ea4ef79d3f418d" name="operator&gt;="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="s"><paramtype>const CharT *</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a2bcc65c912f73e4620d61b50feeca1ee" name="operator&gt;="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="x"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter><parameter name="y"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a01325dbddcb1de98c7e3a8f12728a2fc" name="operator&gt;="><type>bool</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
          <template-nontype-parameter name="BasicStringView"><type>template&lt; class, class &gt; class</type></template-nontype-parameter>
        </template><parameter name="x"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="y"><paramtype>BasicStringView&lt; CharT, Traits &gt;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a0a7bb38113ce2e683132fc75a41e1003" name="swap"><type>void</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="x"><paramtype><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="y"><paramtype><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1ad5e945668a426f688cea32908fb0bf64" name="operator&lt;&lt;"><type>std::basic_ostream&lt; CharT, Traits &gt; &amp;</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="os"><paramtype>std::basic_ostream&lt; CharT, Traits &gt; &amp;</paramtype></parameter><parameter name="s"><paramtype>const <classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1a0b8462c7a1be31ea16638b151014f47c" name="operator&gt;&gt;"><type>std::basic_istream&lt; CharT, Traits &gt; &amp;</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="is"><paramtype>std::basic_istream&lt; CharT, Traits &gt; &amp;</paramtype></parameter><parameter name="s"><paramtype><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1ac133ed80f4f6f6a57545d23109abeb98" name="getline"><type>std::basic_istream&lt; CharT, Traits &gt; &amp;</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="is"><paramtype>std::istream &amp;</paramtype></parameter><parameter name="s"><paramtype><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter><parameter name="delim"><paramtype>CharT</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.string_8hpp_1ace6d06208471ba2e823ae8faa0dd37aa" name="getline"><type>std::basic_istream&lt; CharT, Traits &gt; &amp;</type><template>
          <template-type-parameter name="CharT"/>
          <template-type-parameter name="Traits"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name="is"><paramtype>std::basic_istream&lt; CharT, Traits &gt; &amp;</paramtype></parameter><parameter name="s"><paramtype><classname>basic_string</classname>&lt; CharT, Traits, Allocator &gt; &amp;</paramtype></parameter></function>

































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.throw__exception_8hpp" name="boost/container/throw_exception.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1bad__alloc" name="bad_alloc"><inherit access="public">boost::container::exception</inherit><method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1bad__alloc_1ada03da5af3ddcaca141e041311e29b94"/>
</method-group>
</class><class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1exception" name="exception"><inherit access="public">std::exception</inherit><method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1exception_1a7e4271463a0ca6f69a36ee3896b45036" specifiers="explicit"><parameter name="msg"><paramtype>const char *</paramtype></parameter></constructor>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1exception_1ac5154d25169a5c463e6bfe47d1416a3e" name="what" cv="const noexcept" specifiers="virtual"><type>const char *</type></method>
</method-group>
</class><class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1length__error" name="length_error"><inherit access="public">boost::container::exception</inherit><method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1length__error_1afbd45310f0d390a320b09f45795d2ab5" specifiers="explicit"><parameter name="msg"><paramtype>const char *</paramtype></parameter></constructor>
</method-group>
</class><class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1logic__error" name="logic_error"><inherit access="public">boost::container::exception</inherit><method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1logic__error_1a59d311d924e168e62bf593a67a7ff31e" specifiers="explicit"><parameter name="msg"><paramtype>const char *</paramtype></parameter></constructor>
</method-group>
</class><class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1out__of__range" name="out_of_range"><inherit access="public">boost::container::exception</inherit><method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1out__of__range_1ac3b9e33f44e8db94856f597b5a28b206" specifiers="explicit"><parameter name="msg"><paramtype>const char *</paramtype></parameter></constructor>
</method-group>
</class><class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1runtime__error" name="runtime_error"><inherit access="public">boost::container::exception</inherit><method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1runtime__error_1a8a6cb797911f1172431b8c8b52deeb2f" specifiers="explicit"><parameter name="msg"><paramtype>const char *</paramtype></parameter></constructor>
</method-group>
</class><typedef id="doxygen.boost_container_header_reference.throw__exception_8hpp_1ad159d4e4b61eefaa8661db700d79034a" name="bad_alloc_t"><type>bad_alloc</type></typedef>
<typedef id="doxygen.boost_container_header_reference.throw__exception_8hpp_1a64b84be19c2f3bd4aa0b0cbd7c92aee7" name="out_of_range_t"><type>out_of_range</type></typedef>
<typedef id="doxygen.boost_container_header_reference.throw__exception_8hpp_1ab71aa8fa162d030e373b7346275749eb" name="length_error_t"><type>length_error</type></typedef>
<typedef id="doxygen.boost_container_header_reference.throw__exception_8hpp_1a504b78756945d5d0cd6de7bb9561a27d" name="logic_error_t"><type>logic_error</type></typedef>
<typedef id="doxygen.boost_container_header_reference.throw__exception_8hpp_1a56a5bc5ddef2e111b7ef2b56599912cc" name="runtime_error_t"><type>runtime_error</type></typedef>


<function id="doxygen.boost_container_header_reference.throw__exception_8hpp_1a2e3246e3ed0bb3ef1b0b7167aa406ead" name="throw_bad_alloc"><type>void</type><description><para>Exception callback called by Boost.Container when fails to allocate the requested storage space. <itemizedlist>
<listitem>
<para>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is NOT defined <computeroutput>boost::container::bad_alloc(str)</computeroutput> is thrown.</para>
<para/>
</listitem>
<listitem>
<para>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is defined <computeroutput>std::bad_alloc(str)</computeroutput> is thrown.</para>
<para/>
</listitem>
<listitem>
<para>If BOOST_NO_EXCEPTIONS is defined and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS is NOT defined <computeroutput>BOOST_ASSERT(!"boost::container bad_alloc thrown")</computeroutput> is called and <computeroutput>std::abort()</computeroutput> if the former returns.</para>
<para/>
</listitem>
<listitem>
<para>If BOOST_NO_EXCEPTIONS and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS are defined the user must provide an implementation and the function should not return. </para>
</listitem>
</itemizedlist>
</para></description></function>
<function id="doxygen.boost_container_header_reference.throw__exception_8hpp_1ae877858f9b51c45d7f0abed77c9151db" name="throw_out_of_range"><type>void</type><parameter name="str"><paramtype>const char *</paramtype></parameter><description><para>Exception callback called by Boost.Container to signal arguments out of range. <itemizedlist>
<listitem>
<para>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is NOT defined <computeroutput>boost::container::out_of_range(str)</computeroutput> is thrown.</para>
<para/>
</listitem>
<listitem>
<para>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is defined <computeroutput>std::out_of_range(str)</computeroutput> is thrown.</para>
<para/>
</listitem>
<listitem>
<para>If BOOST_NO_EXCEPTIONS is defined and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS is NOT defined <computeroutput>BOOST_ASSERT_MSG(!"boost::container out_of_range thrown", str)</computeroutput> is called and <computeroutput>std::abort()</computeroutput> if the former returns.</para>
<para/>
</listitem>
<listitem>
<para>If BOOST_NO_EXCEPTIONS and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS are defined the user must provide an implementation and the function should not return. </para>
</listitem>
</itemizedlist>
</para></description></function>
<function id="doxygen.boost_container_header_reference.throw__exception_8hpp_1ac6eee813ef4d4bdf1b8691779142e908" name="throw_length_error"><type>void</type><parameter name="str"><paramtype>const char *</paramtype></parameter><description><para>Exception callback called by Boost.Container to signal errors resizing. <itemizedlist>
<listitem>
<para>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is NOT defined <computeroutput>boost::container::length_error(str)</computeroutput> is thrown.</para>
<para/>
</listitem>
<listitem>
<para>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is defined <computeroutput>std::length_error(str)</computeroutput> is thrown.</para>
<para/>
</listitem>
<listitem>
<para>If BOOST_NO_EXCEPTIONS is defined and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS is NOT defined <computeroutput>BOOST_ASSERT_MSG(!"boost::container length_error thrown", str)</computeroutput> is called and <computeroutput>std::abort()</computeroutput> if the former returns.</para>
<para/>
</listitem>
<listitem>
<para>If BOOST_NO_EXCEPTIONS and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS are defined the user must provide an implementation and the function should not return. </para>
</listitem>
</itemizedlist>
</para></description></function>
<function id="doxygen.boost_container_header_reference.throw__exception_8hpp_1abd3e06b720ac6aedceaf009805084cba" name="throw_logic_error"><type>void</type><parameter name="str"><paramtype>const char *</paramtype></parameter><description><para>Exception callback called by Boost.Container to report errors in the internal logical of the program, such as violation of logical preconditions or class invariants. <itemizedlist>
<listitem>
<para>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is NOT defined <computeroutput>boost::container::logic_error(str)</computeroutput> is thrown.</para>
<para/>
</listitem>
<listitem>
<para>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is defined <computeroutput>std::logic_error(str)</computeroutput> is thrown.</para>
<para/>
</listitem>
<listitem>
<para>If BOOST_NO_EXCEPTIONS is defined and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS is NOT defined <computeroutput>BOOST_ASSERT_MSG(!"boost::container logic_error thrown", str)</computeroutput> is called and <computeroutput>std::abort()</computeroutput> if the former returns.</para>
<para/>
</listitem>
<listitem>
<para>If BOOST_NO_EXCEPTIONS and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS are defined the user must provide an implementation and the function should not return. </para>
</listitem>
</itemizedlist>
</para></description></function>
<function id="doxygen.boost_container_header_reference.throw__exception_8hpp_1aedd4c77ba5f6fb24f22deb696a7077e9" name="throw_runtime_error"><type>void</type><parameter name="str"><paramtype>const char *</paramtype></parameter><description><para>Exception callback called by Boost.Container to report errors that can only be detected during runtime. <itemizedlist>
<listitem>
<para>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is NOT defined <computeroutput>boost::container::runtime_error(str)</computeroutput> is thrown.</para>
<para/>
</listitem>
<listitem>
<para>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is defined <computeroutput>std::runtime_error(str)</computeroutput> is thrown.</para>
<para/>
</listitem>
<listitem>
<para>If BOOST_NO_EXCEPTIONS is defined and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS is NOT defined <computeroutput>BOOST_ASSERT_MSG(!"boost::container runtime_error thrown", str)</computeroutput> is called and <computeroutput>std::abort()</computeroutput> if the former returns.</para>
<para/>
</listitem>
<listitem>
<para>If BOOST_NO_EXCEPTIONS and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS are defined the user must provide an implementation and the function should not return. </para>
</listitem>
</itemizedlist>
</para></description></function>














































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.uses__allocator_8hpp" name="boost/container/uses_allocator.hpp">
<namespace name="boost">
<namespace name="container">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1constructible__with__allocator__prefix" name="constructible_with_allocator_prefix"><template>
      <template-type-parameter name="T"/>
    </template><description><para><emphasis role="bold">Remark</emphasis>: if a specialization constructible_with_allocator_prefix&lt;X&gt;::value is true, indicates that T may be constructed with allocator_arg and T::allocator_type as its first two constructor arguments. Ideally, all constructors of T (including the copy and move constructors) should have a variant that accepts these two initial arguments.</para><para><emphasis role="bold">Requires</emphasis>: specialization constructible_with_allocator_prefix&lt;X&gt;::value is true, T must have a nested type, allocator_type and at least one constructor for which allocator_arg_t is the first parameter and allocator_type is the second parameter. If not all constructors of T can be called with these initial arguments, and if T is used in a context where a container must call such a constructor, then the program is ill-formed.</para><para><computeroutput> template &lt;class T, class Allocator = allocator&lt;T&gt; &gt; class Y { public: typedef Allocator allocator_type;</computeroutput></para><para><computeroutput> // Default constructor with and allocator-extended default constructor Y(); Y(allocator_arg_t, const allocator_type&amp; a);</computeroutput></para><para><computeroutput> // Copy constructor and allocator-extended copy constructor Y(const Y&amp; yy); Y(allocator_arg_t, const allocator_type&amp; a, const Y&amp; yy);</computeroutput></para><para><computeroutput> // Variadic constructor and allocator-extended variadic constructor template&lt;class ...Args&gt; Y(Args&amp;&amp; args...); template&lt;class ...Args&gt; Y(allocator_arg_t, const allocator_type&amp; a, BOOST_FWD_REF(Args)... args); };</computeroutput></para><para><computeroutput>// Specialize trait for class template Y template &lt;class T, class Allocator = allocator&lt;T&gt; &gt; struct <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1constructible__with__allocator__prefix">constructible_with_allocator_prefix</link>&lt;Y&lt;T,Allocator&gt; &gt; { static const bool value = true; };</computeroutput></para><para><computeroutput/></para><para><emphasis role="bold">Note</emphasis>: This trait is a workaround inspired by "N2554: The Scoped Allocator Model (Rev 2)" (Pablo Halpern, 2008-02-29) to backport the scoped allocator model to C++03, as in C++03 there is no mechanism to detect if a type can be constructed from arbitrary arguments. Applications aiming portability with several compilers should always define this trait.</para><para>In conforming C++11 compilers or compilers supporting SFINAE expressions (when BOOST_NO_SFINAE_EXPR is NOT defined), this trait is ignored and C++11 rules will be used to detect if a type should be constructed with suffix or prefix allocator arguments. </para></description><data-member id="doxygen.boost_container_header_reference.structboost_1_1container_1_1constructible__with__allocator__prefix_1aa9e1ca42ca3f2ca15ab65091acb39b0a" name="value"><type>BOOST_STATIC_CONSTEXPR bool</type></data-member>
</struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1constructible__with__allocator__suffix" name="constructible_with_allocator_suffix"><template>
      <template-type-parameter name="T"/>
    </template><description><para><emphasis role="bold">Remark</emphasis>: if a specialization constructible_with_allocator_suffix&lt;X&gt;::value is true, indicates that T may be constructed with an allocator as its last constructor argument. Ideally, all constructors of T (including the copy and move constructors) should have a variant that accepts a final argument of allocator_type.</para><para><emphasis role="bold">Requires</emphasis>: if a specialization constructible_with_allocator_suffix&lt;X&gt;::value is true, T must have a nested type, allocator_type and at least one constructor for which allocator_type is the last parameter. If not all constructors of T can be called with a final allocator_type argument, and if T is used in a context where a container must call such a constructor, then the program is ill-formed.</para><para><computeroutput> template &lt;class T, class Allocator = allocator&lt;T&gt; &gt; class Z { public: typedef Allocator allocator_type;</computeroutput></para><para><computeroutput> // Default constructor with optional allocator suffix Z(const allocator_type&amp; a = allocator_type());</computeroutput></para><para><computeroutput> // Copy constructor and allocator-extended copy constructor Z(const Z&amp; zz); Z(const Z&amp; zz, const allocator_type&amp; a); };</computeroutput></para><para><computeroutput>// Specialize trait for class template Z template &lt;class T, class Allocator = allocator&lt;T&gt; &gt; struct <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1constructible__with__allocator__suffix">constructible_with_allocator_suffix</link>&lt;Z&lt;T,Allocator&gt; &gt; { static const bool value = true; }; </computeroutput></para><para><emphasis role="bold">Note</emphasis>: This trait is a workaround inspired by "N2554: The Scoped A Model (Rev 2)" (Pablo Halpern, 2008-02-29) to backport the scoped allocator model to C++03, as in C++03 there is no mechanism to detect if a type can be constructed from arbitrary arguments. Applications aiming portability with several compilers should always define this trait.</para><para>In conforming C++11 compilers or compilers supporting SFINAE expressions (when BOOST_NO_SFINAE_EXPR is NOT defined), this trait is ignored and C++11 rules will be used to detect if a type should be constructed with suffix or prefix allocator arguments. </para></description><data-member id="doxygen.boost_container_header_reference.structboost_1_1container_1_1constructible__with__allocator__suffix_1a574676563720b3becf622e98a3d37dfb" name="value"><type>BOOST_STATIC_CONSTEXPR bool</type></data-member>
</struct><struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1uses__allocator" name="uses_allocator"><template>
      <template-type-parameter name="T"/>
      <template-type-parameter name="Allocator"/>
    </template><inherit access="public">dtl::uses_allocator_imp&lt; T, Allocator &gt;</inherit><description><para><emphasis role="bold">Remark</emphasis>: Automatically detects whether T has a nested allocator_type that is convertible from Allocator. Meets the BinaryTypeTrait requirements ([meta.rqmts] 20.4.1). A program may specialize this type to define uses_allocator&lt;X&gt;::value as true for a T of user-defined type if T does not have a nested allocator_type but is nonetheless constructible using the specified Allocator where either: the first argument of a constructor has type allocator_arg_t and the second argument has type Alloc or the last argument of a constructor has type Alloc.</para><para><emphasis role="bold">Result</emphasis>: uses_allocator&lt;T, Allocator&gt;::value== true if a type T::allocator_type exists and either is_convertible&lt;Alloc, T::allocator_type&gt;::value != false or T::allocator_type is an alias <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1erased__type">erased_type</link></computeroutput>. False otherwise. </para></description></struct>




















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.uses__allocator__fwd_8hpp" name="boost/container/uses_allocator_fwd.hpp">
<para>This header forward declares <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1constructible__with__allocator__prefix">boost::container::constructible_with_allocator_prefix</link>, <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1constructible__with__allocator__suffix">boost::container::constructible_with_allocator_suffix</link> and <link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1uses__allocator">boost::container::uses_allocator</link>. Also defines the following types: </para><namespace name="boost">
<namespace name="container">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1erased__type" name="erased_type"><description><para>The <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1erased__type">erased_type</link></computeroutput> struct is an empty struct that serves as a placeholder for a type T in situations where the actual type T is determined at runtime. For example, the nested type, <computeroutput>allocator_type</computeroutput>, is an alias for <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1erased__type">erased_type</link></computeroutput> in classes that use type-erased allocators. </para></description></struct><typedef id="doxygen.boost_container_header_reference.uses__allocator__fwd_8hpp_1ad09e1e37354cd24519215bc0841134e6" name="allocator_arg_t"><description><para>The allocator_arg_t struct is an empty structure type used as a unique type to disambiguate constructor and function overloading. Specifically, several types have constructors with allocator_arg_t as the first argument, immediately followed by an argument of a type that satisfies Allocator requirements </para></description><type>unspecified</type></typedef>
<data-member id="doxygen.boost_container_header_reference.uses__allocator__fwd_8hpp_1a3eac2bd950d6d94008e96b9583f4f3e5" name="allocator_arg" specifiers="static"><type>allocator_arg_t</type><description><para>A instance of type allocator_arg_t </para></description></data-member>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.pmr_2vector_8hpp" name="boost/container/pmr/vector.hpp">
<namespace name="boost">
<namespace name="container">
<namespace name="pmr">
<struct id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1vector__of" name="vector_of"><template>
      <template-type-parameter name="T"/>
    </template><description><para>A portable metafunction to obtain a vector that uses a polymorphic allocator </para></description><typedef id="doxygen.boost_container_header_reference.structboost_1_1container_1_1pmr_1_1vector__of_1a19c8d33d465e30759421be2718cda46c" name="type"><type><classname>boost::container::vector</classname>&lt; T, <classname>polymorphic_allocator</classname>&lt; T &gt; &gt;</type></typedef>
</struct><typedef id="doxygen.boost_container_header_reference.pmr_2vector_8hpp_1ae0b6eb84a3048701ef6bd1e99aafa362" name="vector"><type><classname>boost::container::vector</classname>&lt; T, <classname>polymorphic_allocator</classname>&lt; T &gt; &gt;</type></typedef>






</namespace>





















































































































</namespace>
</namespace>
</header>
<header id="doxygen.boost_container_header_reference.vector_8hpp" name="boost/container/vector.hpp">
<namespace name="boost">
<namespace name="container">
<class id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector" name="vector"><template>
      <template-type-parameter name="T"><purpose><para>The type of object that is stored in the vector </para></purpose></template-type-parameter>
      <template-type-parameter name="A"><default>void</default><purpose><para>The allocator used for all internal memory management, use void for the default allocator </para></purpose></template-type-parameter>
      <template-type-parameter name="Options"><default>void</default><purpose><para>A type produced from <computeroutput><link linkend="doxygen.boost_container_header_reference.structboost_1_1container_1_1vector__options">boost::container::vector_options</link></computeroutput>. </para></purpose></template-type-parameter>
    </template><description><para>A vector is a sequence that supports random access to elements, constant time insertion and removal of elements at the end, and linear time insertion and removal of elements at the beginning or in the middle. The number of elements in a vector may vary dynamically; memory management is automatic.</para><para>
</para></description><typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1ae46d3eb2490fe2777a52c1b344995db4" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a765032ace075f2d9c645c1b3ec723b01" name="allocator_type"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1ad04438479a4fda6724bb9cc26750303f" name="allocator_traits_t"><type><classname>::boost::container::allocator_traits</classname>&lt; allocator_type &gt;</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1aa8315e0181ff628ccfd7e3c6f708cf5e" name="pointer"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1aba828c59098e69fe500f458b21223f24" name="const_pointer"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::const_pointer</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a161bb94062114a88f52159a9c522a35c" name="reference"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1aac8bacf69d761647d0e033933dc73f5f" name="const_reference"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::const_reference</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a471996acff5ea79e10ad3276f134f346" name="size_type"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::size_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a51405ad2d72dc4232ff1546d5595cf6a" name="difference_type"><type><classname>allocator_traits</classname>&lt; allocator_type &gt;::difference_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a7b5bcacd1619bc28b8ca89beca1a7c6c" name="stored_allocator_type"><type>allocator_type</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a42de5bb65d87e8757ff245f2a545f77f" name="iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1afdd1d4a24fef52bdc6ec71af179db2df" name="const_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a58f91b900cc9e8a604b19dcce9156aa0" name="reverse_iterator"><type>implementation_defined</type></typedef>
<typedef id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1af278c16c10f7c613273b0a20e79fb5e6" name="const_reverse_iterator"><type>implementation_defined</type></typedef>
<method-group name="public member functions">
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1adc44096411499c87203025b838ccffda" cv="noexcept(dtl::is_nothrow_default_constructible&lt; allocator_type &gt;::value)"><description><para><emphasis role="bold">Effects</emphasis>: Constructs a vector taking the allocator as parameter.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1afea7d72119d426b85bfba677c99ff85a" specifiers="explicit" cv="noexcept"><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a vector taking the allocator as parameter.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1aaea1ca10c5456bc811e1c02462cc05e8" specifiers="explicit"><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a vector and inserts n value initialized values.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's allocation throws or T's value initialization throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1ab342f63ca9ac62bcb48a257456f04773" specifiers="explicit"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a vector that will use a copy of allocator a and inserts n value initialized values.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's allocation throws or T's value initialization throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a8a70b3d55cba9bd0d733659d91be355e"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a vector that will use a copy of allocator a and inserts n default initialized values.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's allocation throws or T's default initialization throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4126d2696f2b8cb92aabfc04de0fa247"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a vector that will use a copy of allocator a and inserts n default initialized values.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's allocation throws or T's default initialization throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a35014f54e9c49e03f42adf61ce0bd10b"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="value"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a vector and inserts n copies of value.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a70c7bd9adecbc301308c89c414186124"><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="value"><paramtype>const T &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a vector that will use a copy of allocator a and inserts n copies of value.</para><para><emphasis role="bold">Throws</emphasis>: If allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a329ba27ace66bef0895fe1635e81e898"><template>
          <template-type-parameter name="InIt"/>
        </template><parameter name="first"><paramtype>InIt</paramtype></parameter><parameter name="BOOST_CONTAINER_DOCIGN"><paramtype>InIt last </paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a vector and inserts a copy of the range [first, last) in the vector.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's allocation throws or T's constructor taking a dereferenced InIt throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the range [first, last). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a42f90a7e52ca8698072af2a3639539a9"><template>
          <template-type-parameter name="InIt"/>
        </template><parameter name="first"><paramtype>InIt</paramtype></parameter><parameter name="last"><paramtype>InIt</paramtype></parameter><parameter name="BOOST_CONTAINER_DOCIGN"><paramtype>const allocator_type &amp;a </paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a vector that will use a copy of allocator a and inserts a copy of the range [first, last) in the vector.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's allocation throws or T's constructor taking a dereferenced InIt throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the range [first, last). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a50f935638ecfb762b1b2ce06e677ffcb"><parameter name="x"><paramtype>const <classname>vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a vector.</para><para><emphasis role="bold">Postcondition</emphasis>: x == *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_type's allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements x contains. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1afc28d35e8306c203e64d2ae08a1ed91f" cv="noexcept"><parameter name="x"><paramtype><classname>vector</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructor. Moves x's resources to *this.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1afa5cddff4dcaf02707e14201ca24c83a"><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype><default>allocator_type()</default></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a vector that will use a copy of allocator a and inserts a copy of the range [il.begin(), il.last()) in the vector</para><para><emphasis role="bold">Throws</emphasis>: If T's constructor taking a dereferenced initializer_list iterator throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the range [il.begin(), il.end()). </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a706f0cec71dca7f79e8467bbea2db33e"><parameter name="x"><paramtype>const <classname>vector</classname> &amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Copy constructs a vector using the specified allocator.</para><para><emphasis role="bold">Postcondition</emphasis>: x == *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocation throws or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements x contains. </para></description></constructor>
<constructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a66677abf33b25e8d62bf36d45a060130"><parameter name="x"><paramtype><classname>vector</classname> &amp;&amp;</paramtype></parameter><parameter name="a"><paramtype>const allocator_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move constructor using the specified allocator. Moves x's resources to *this if a == allocator_type(). Otherwise copies values from x to *this.</para><para><emphasis role="bold">Throws</emphasis>: If allocation or T's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant if a == x.get_allocator(), linear otherwise. </para></description></constructor>
<destructor id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a8ed6b2a952fe58ea42252b257edb8d0d" cv="noexcept"><description><para><emphasis role="bold">Effects</emphasis>: Destroys the vector. All stored values are destroyed and used memory is deallocated.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements. </para></description></destructor>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1ab9c81030698df54c5bb563e1f99700a1"><type><classname>vector</classname> &amp;</type><parameter name="x"><paramtype>const <classname>vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Makes *this contain the same elements as x.</para><para><emphasis role="bold">Postcondition</emphasis>: this-&gt;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link> == x.size(). *this contains a copy of each of x's elements.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy/move constructor/assignment throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in x. </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a2133c6d2fb50a3640ee9334e21019047"><type><classname>vector</classname> &amp;</type><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Make *this container contains elements from il.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the range [il.begin(), il.end()). </para></description></copy-assignment>
<copy-assignment id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a0711778360261a4aa14bea39fd9903a3" cv="noexcept(allocator_traits_type::propagate_on_container_move_assignment::value||allocator_traits_type::is_always_equal::value)"><type><classname>vector</classname> &amp;</type><parameter name="x"><paramtype><classname>vector</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Move assignment. All x's values are transferred to *this.</para><para><emphasis role="bold">Postcondition</emphasis>: x.empty(). *this contains a the elements x had before the function.</para><para><emphasis role="bold">Throws</emphasis>: If allocator_traits_type::propagate_on_container_move_assignment is false and (allocation throws or value_type's move constructor throws)</para><para><emphasis role="bold">Complexity</emphasis>: Constant if allocator_traits_type:: propagate_on_container_move_assignment is true or this-&gt;get&gt;allocator() == x.get_allocator(). Linear otherwise. </para></description></copy-assignment>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a28fc37a2015636edc8de647de273b532" name="assign"><type>void</type><template>
          <template-type-parameter name="InIt"/>
        </template><parameter name="first"><paramtype>InIt</paramtype></parameter><parameter name="BOOST_CONTAINER_DOCIGN"><paramtype>InIt last </paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assigns the the range [first, last) to *this.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy/move constructor/assignment or T's constructor/assignment from dereferencing InpIt throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1ae9fdef9fd010abb974849eb02d00728d" name="assign"><type>void</type><parameter name="il"><paramtype>std::initializer_list&lt; T &gt;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assigns the the range [il.begin(), il.end()) to *this.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's constructor from dereferencing iniializer_list iterator throws. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1ad077b9fdbef26defd7c93cedcbdbf551" name="assign"><type>void</type><template>
          <template-type-parameter name="FwdIt"/>
        </template><parameter name="first"><paramtype>FwdIt</paramtype></parameter><parameter name="BOOST_CONTAINER_DOCIGN"><paramtype>FwdIt last </paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assigns the the range [first, last) to *this.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy/move constructor/assignment or T's constructor/assignment from dereferencing InpIt throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a3ed6804ff7fd068762e0839067d95be8" name="assign"><type>void</type><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="val"><paramtype>const value_type &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Assigns the n copies of val to *this.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy/move constructor/assignment throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1ad4db802a4e3f476104dc58ed322b13e1" name="get_allocator" cv="const noexcept"><type>allocator_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a copy of the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: If allocator's copy constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a0e4b1bf50f91b9951555e20482496701" name="get_stored_allocator" cv="noexcept"><type>stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a9b5e6a5793cb612bfcfc16a305fe0bf2" name="get_stored_allocator" cv="const noexcept"><type>const stored_allocator_type &amp;</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the internal allocator.</para><para><emphasis role="bold">Throws</emphasis>: Nothing</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1ada43367c45a20660f34f94cfe3a96289" name="begin" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the first element contained in the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1ac0d4aded6627ed4fe38c693c624fb149" name="begin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a89ac1d3ba1022cc9384530a6ee4febc9" name="end" cv="noexcept"><type>iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the end of the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a5aedc125cf5208a776692cd4affc4cd6" name="end" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a148db6a540daf11ccea57683078b935e" name="rbegin" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the beginning of the reversed vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1aac94a1a985dc8aa94ab67af23f79d0c2" name="rbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a9672eebe50eee6fc0364e505b7df234c" name="rend" cv="noexcept"><type>reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a reverse_iterator pointing to the end of the reversed vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a1816923411528f3128ddc955da7f6329" name="rend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1afd34e639ccc910e6baeb2c60cb47d702" name="cbegin" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the first element contained in the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a0a9fbcdb4404c123f16398be395cd2e6" name="cend" cv="const noexcept"><type>const_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the end of the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a75c6b7fd21fd6420072dbf2e71eafe6a" name="crbegin" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the beginning of the reversed vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1aeffd68a0de324c701d4733c623628100" name="crend" cv="const noexcept"><type>const_reverse_iterator</type><description><para><emphasis role="bold">Effects</emphasis>: Returns a const_reverse_iterator pointing to the end of the reversed vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1ad19ebeea00ff3d164280e06967978e28" name="empty" cv="const noexcept"><type>bool</type><description><para><emphasis role="bold">Effects</emphasis>: Returns true if the vector contains no elements.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92" name="size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the number of the elements contained in the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1aba4fb07a3dad4e5b59d81a199e8360d4" name="max_size" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Returns the largest possible size of the vector.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1ad517c7fb5af51b4b9200550a92420608" name="resize"><type>void</type><parameter name="new_size"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts or erases elements at the end such that the size becomes n. New elements are value initialized.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or T's copy/move or value initialization throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the difference between <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link> and new_size. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a512f032a38e53a2ea802b6f097c511ea" name="resize"><type>void</type><parameter name="new_size"><paramtype>size_type</paramtype></parameter><parameter name=""><paramtype><classname>default_init_t</classname></paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts or erases elements at the end such that the size becomes n. New elements are default initialized.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or T's copy/move or default initialization throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the difference between <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link> and new_size.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a94234d01758e1c5d6adfc6f663f67a58" name="resize"><type>void</type><parameter name="new_size"><paramtype>size_type</paramtype></parameter><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts or erases elements at the end such that the size becomes n. New elements are copy constructed from x.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or T's copy/move constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the difference between <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link> and new_size. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a8c5abc114f4681acf764ffe73abd2083" name="capacity" cv="const noexcept"><type>size_type</type><description><para><emphasis role="bold">Effects</emphasis>: Number of elements for which memory has been allocated. <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a8c5abc114f4681acf764ffe73abd2083">capacity()</link> is always greater than or equal to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a3cf7bbd68c6597d560f1afe6f6fea4a1" name="reserve"><type>void</type><parameter name="new_cap"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: If n is less than or equal to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a8c5abc114f4681acf764ffe73abd2083">capacity()</link>, this call has no effect. Otherwise, it is a request for allocation of additional memory. If the request is successful, then <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a8c5abc114f4681acf764ffe73abd2083">capacity()</link> is greater than or equal to n; otherwise, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a8c5abc114f4681acf764ffe73abd2083">capacity()</link> is unchanged. In either case, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link> is unchanged.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation allocation throws or T's copy/move constructor throws. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a7aadefd0f3ba20d150cd485d19fb6a3f" name="shrink_to_fit"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Tries to deallocate the excess of memory created with previous allocations. The size of the vector is unchanged</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, or T's copy/move constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link>. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a98d3250e462f1ea4490bde534303114c" name="front" cv="noexcept"><type>reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the first element of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a5648f6295e8638dde118738d1eb560ea" name="front" cv="const noexcept"><type>const_reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the first element of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a5ff7183e60ef5e9a4b8dbb589f541f3b" name="back" cv="noexcept"><type>reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the last element of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1af5756dab8fa6dfe4cad489be9ad40386" name="back" cv="const noexcept"><type>const_reference</type><description><para><emphasis role="bold">Requires</emphasis>: !empty()</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the last element of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1adef67ed28489c73f8856efe610be5f67" name="operator[]" cv="noexcept"><type>reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link> &gt; n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the nth element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a65c46b9d92460cccd36e07f79bc71952" name="operator[]" cv="const noexcept"><type>const_reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link> &gt; n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the nth element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a08f5b0a814905415baf0523975e942d8" name="nth" cv="noexcept"><type>iterator</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link> &gt;= n.</para><para><emphasis role="bold">Effects</emphasis>: Returns an iterator to the nth element from the beginning of the container. Returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a89ac1d3ba1022cc9384530a6ee4febc9">end()</link> if n == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a9b98167203be908c6209647427f4a6ad" name="nth" cv="const noexcept"><type>const_iterator</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link> &gt;= n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a const_iterator to the nth element from the beginning of the container. Returns <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a89ac1d3ba1022cc9384530a6ee4febc9">end()</link> if n == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a36ab307424efff80127cc433a9f30866" name="index_of" cv="noexcept"><type>size_type</type><parameter name="p"><paramtype>iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1ada43367c45a20660f34f94cfe3a96289">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a89ac1d3ba1022cc9384530a6ee4febc9">end()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Returns the index of the element pointed by p and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link> if p == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a89ac1d3ba1022cc9384530a6ee4febc9">end()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1aad1c226a36693514540d3ded3f6db616" name="index_of" cv="const noexcept"><type>size_type</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1ada43367c45a20660f34f94cfe3a96289">begin()</link> &lt;= p &lt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a89ac1d3ba1022cc9384530a6ee4febc9">end()</link>.</para><para><emphasis role="bold">Effects</emphasis>: Returns the index of the element pointed by p and <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link> if p == <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a89ac1d3ba1022cc9384530a6ee4febc9">end()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a66b35f73117f4541265087c2de9fb1ec" name="at"><type>reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link> &gt; n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a reference to the nth element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: range_error if n &gt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link></para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a1f8ea247ed5b4953c689d7e53f2c7aad" name="at" cv="const"><type>const_reference</type><parameter name="n"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link> &gt; n.</para><para><emphasis role="bold">Effects</emphasis>: Returns a const reference to the nth element from the beginning of the container.</para><para><emphasis role="bold">Throws</emphasis>: range_error if n &gt;= <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link></para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1aeb3a602f3ed160e0ea577ec916c59144" name="data" cv="noexcept"><type>T *</type><description><para><emphasis role="bold">Returns</emphasis>: A pointer such that [<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1aeb3a602f3ed160e0ea577ec916c59144">data()</link>,<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1aeb3a602f3ed160e0ea577ec916c59144">data()</link> + <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link>) is a valid range. For a non-empty vector, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1aeb3a602f3ed160e0ea577ec916c59144">data()</link> == &amp;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a98d3250e462f1ea4490bde534303114c">front()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a7a80f25fcab0c30e9c97a237790df1a0" name="data" cv="const noexcept"><type>const T *</type><description><para><emphasis role="bold">Returns</emphasis>: A pointer such that [<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1aeb3a602f3ed160e0ea577ec916c59144">data()</link>,<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1aeb3a602f3ed160e0ea577ec916c59144">data()</link> + <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4fc5d3c360c0db1e80e9a8b8b81dce92">size()</link>) is a valid range. For a non-empty vector, <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1aeb3a602f3ed160e0ea577ec916c59144">data()</link> == &amp;<link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a98d3250e462f1ea4490bde534303114c">front()</link>.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a6d66712ce670fa0b5e4f0ed1b9e00651" name="emplace_back"><type>reference</type><template>
          <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... in the end of the vector.</para><para><emphasis role="bold">Returns</emphasis>: A reference to the created object.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or the in-place constructor throws or T's copy/move constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a315801273d3b7f201c63646896c69952" name="stable_emplace_back"><type>bool</type><template>
          <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... in the end of the vector.</para><para><emphasis role="bold">Throws</emphasis>: If the in-place constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Constant time.</para><para><emphasis role="bold">Note</emphasis>: Non-standard extension. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1aa8cf0429afdf876cdef65f773ad07529" name="emplace"><type>iterator</type><template>
          <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
        </template><parameter name="position"><paramtype>const_iterator</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: position must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Inserts an object of type T constructed with std::forward&lt;Args&gt;(args)... before position</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or the in-place constructor throws or T's copy/move constructor/assignment throws.</para><para><emphasis role="bold">Complexity</emphasis>: If position is <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a89ac1d3ba1022cc9384530a6ee4febc9">end()</link>, amortized constant time Linear time otherwise. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a8097d1084587fbfd43a6e99a0e673786" name="push_back"><type>void</type><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Inserts a copy of x at the end of the vector.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy/move constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a0fba2d9508f6c858f3239d8eb8e166dc" name="push_back"><type>void</type><parameter name="x"><paramtype>T &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Constructs a new element in the end of the vector and moves the resources of x to this new element.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy/move constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a722ef3e2ab760511805e0e98791a94d0" name="insert"><type>iterator</type><parameter name="position"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: position must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a copy of x before position.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy/move constructor/assignment throws.</para><para><emphasis role="bold">Complexity</emphasis>: If position is <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a89ac1d3ba1022cc9384530a6ee4febc9">end()</link>, amortized constant time Linear time otherwise. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a1f42dd4a2f10f221ef0f858b8a88ea4d" name="insert"><type>iterator</type><parameter name="position"><paramtype>const_iterator</paramtype></parameter><parameter name="x"><paramtype>T &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: position must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a new element before position with x's resources.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws.</para><para><emphasis role="bold">Complexity</emphasis>: If position is <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a89ac1d3ba1022cc9384530a6ee4febc9">end()</link>, amortized constant time Linear time otherwise. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a6501fde84397a50a57887b3b5bc6a847" name="insert"><type>iterator</type><parameter name="p"><paramtype>const_iterator</paramtype></parameter><parameter name="n"><paramtype>size_type</paramtype></parameter><parameter name="x"><paramtype>const T &amp;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert n copies of x before pos.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or p if n is 0.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws or T's copy/move constructor throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to n. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a85b14119b3e49df338a22a6075c057a4" name="insert"><type>iterator</type><template>
          <template-type-parameter name="InIt"/>
        </template><parameter name="pos"><paramtype>const_iterator</paramtype></parameter><parameter name="first"><paramtype>InIt</paramtype></parameter><parameter name="last"><paramtype>InIt</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a copy of the [first, last) range before pos.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or pos if first == last.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, T's constructor from a dereferenced InpIt throws or T's copy/move constructor/assignment throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to boost::container::iterator_distance [first, last). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a0e62e3493008ff5bc1f65822eb20582a" name="insert"><type>iterator</type><parameter name="position"><paramtype>const_iterator</paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; value_type &gt;</paramtype></parameter><description><para><emphasis role="bold">Requires</emphasis>: p must be a valid iterator of *this. num, must be equal to boost::container::iterator_distance(first, last)</para><para><emphasis role="bold">Effects</emphasis>: Insert a copy of the [first, last) range before pos.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or pos if first == last.</para><para><emphasis role="bold">Throws</emphasis>: If memory allocation throws, T's constructor from a dereferenced InpIt throws or T's copy/move constructor/assignment throws.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to boost::container::iterator_distance [first, last).</para><para><emphasis role="bold">Note</emphasis>: This function avoids a linear operation to calculate boost::container::iterator_distance[first, last) for forward and bidirectional iterators, and a one by one insertion for input iterators. This is a a non-standard extension. <emphasis role="bold">Requires</emphasis>: position must be a valid iterator of *this.</para><para><emphasis role="bold">Effects</emphasis>: Insert a copy of the [il.begin(), il.end()) range before position.</para><para><emphasis role="bold">Returns</emphasis>: an iterator to the first inserted element or position if first == last.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the range [il.begin(), il.end()). </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1ad2ffffc2480de9d1698333691603b344" name="pop_back" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Removes the last element from the container.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant time. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1aea9e6b535fa1cc1cf3c31832a4b4a1b0" name="erase"><type>iterator</type><parameter name="position"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases the element at position pos.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the elements between pos and the last element. Constant if pos is the last element. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a14cb2d3d8b688ed566fb145e04aba5a8" name="erase"><type>iterator</type><parameter name="first"><paramtype>const_iterator</paramtype></parameter><parameter name="last"><paramtype>const_iterator</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Erases the elements pointed by [first, last).</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the distance between first and last plus linear to the elements between pos and the last element. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a92b57d402c026146431a98777eb644aa" name="swap" cv="noexcept(((allocator_traits_type::propagate_on_container_swap::value||allocator_traits_type::is_always_equal::value) &amp;&amp;!dtl::is_version&lt; allocator_type, 0 &gt;::value))"><type>void</type><parameter name="x"><paramtype><classname>vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Swaps the contents of *this and x.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a0fe17537404571c2068421babaecc667" name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: Erases all the elements of the vector. Leaves the <link linkend="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a8c5abc114f4681acf764ffe73abd2083">capacity()</link> of the vector unchanged.</para><para><emphasis role="bold">Throws</emphasis>: Nothing.</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
</method-group>
<method-group name="friend functions">
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a4199c7ca98b5fceb3f98174badf782e9" name="operator=="><type>bool</type><parameter name="x"><paramtype>const <classname>vector</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are equal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a48d864ed243cbe736894dd213789c69a" name="operator!="><type>bool</type><parameter name="x"><paramtype>const <classname>vector</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x and y are unequal</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a43ab9378839ff1b63b2a18fa717c759d" name="operator&lt;"><type>bool</type><parameter name="x"><paramtype>const <classname>vector</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1ac7f86bbd52a2ee316c81e91336f08f48" name="operator&gt;"><type>bool</type><parameter name="x"><paramtype>const <classname>vector</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a0b1058166f544976753f78c471bc633d" name="operator&lt;="><type>bool</type><parameter name="x"><paramtype>const <classname>vector</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or less than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a428203ee615f16b87d4e31e5426f7e79" name="operator&gt;="><type>bool</type><parameter name="x"><paramtype>const <classname>vector</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype>const <classname>vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: Returns true if x is equal or greater than y</para><para><emphasis role="bold">Complexity</emphasis>: Linear to the number of elements in the container. </para></description></method>
<method id="doxygen.boost_container_header_reference.classboost_1_1container_1_1vector_1a36b4903d56948f2160b25e1e42a77072" name="swap" cv="noexcept(noexcept(x.swap(y)))"><type>void</type><parameter name="x"><paramtype><classname>vector</classname> &amp;</paramtype></parameter><parameter name="y"><paramtype><classname>vector</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects</emphasis>: x.swap(y)</para><para><emphasis role="bold">Complexity</emphasis>: Constant. </para></description></method>
</method-group>
</class><function id="doxygen.boost_container_header_reference.vector_8hpp_1a47a9ed19fa3ac6f2dfc1d4da024307f5" name="vector"><type/><template>
          <template-type-parameter name="InputIterator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter></function>
<function id="doxygen.boost_container_header_reference.vector_8hpp_1a0c7aef14da57d8fc84b3a7f01315f40d" name="vector"><type/><template>
          <template-type-parameter name="InputIterator"/>
          <template-type-parameter name="Allocator"/>
        </template><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>InputIterator</paramtype></parameter><parameter name=""><paramtype>Allocator const &amp;</paramtype></parameter></function>



















































































































</namespace>
</namespace>
</header>
</library-reference>