Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / container / doc / autodoc.xml
index 0bfc690..31d35cf 100644 (file)
 <method 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 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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 end().</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 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 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>: size()*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 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 name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(a.begin(),a.end()).</para><para><emphasis role="bold">Postcondition</emphasis>: size() == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in size(). </para></description></method>
+<method name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(begin(),end()).</para><para><emphasis role="bold">Postcondition</emphasis>: size() == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in size(). </para></description></method>
 <method 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 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 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
 <method 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 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
-<method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
 <method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
 <method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
-<method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
-<method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
 <method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
 <method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
 <method 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 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 name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><template>
 <method 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 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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 end().</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 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 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>: size()*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 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 name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(a.begin(),a.end()).</para><para><emphasis role="bold">Postcondition</emphasis>: size() == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in size(). </para></description></method>
+<method name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(begin(),end()).</para><para><emphasis role="bold">Postcondition</emphasis>: size() == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in size(). </para></description></method>
 <method 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 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 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
 <method 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 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 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 name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><template>
 <method 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 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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 end().</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 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 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>: size()*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 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 name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(a.begin(),a.end()).</para><para><emphasis role="bold">Postcondition</emphasis>: size() == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in size(). </para></description></method>
+<method name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(begin(),end()).</para><para><emphasis role="bold">Postcondition</emphasis>: size() == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in size(). </para></description></method>
 <method 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 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 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
 <method 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 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 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 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;empty()</para><para><emphasis role="bold">Throws</emphasis>: If secuence_type's move constructor throws </para></description></method>
 <method 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 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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 end().</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 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 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>: size()*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 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 name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(a.begin(),a.end()).</para><para><emphasis role="bold">Postcondition</emphasis>: size() == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in size(). </para></description></method>
+<method name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(begin(),end()).</para><para><emphasis role="bold">Postcondition</emphasis>: size() == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in size(). </para></description></method>
 <method 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 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 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
 <method 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 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 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 name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><template>
 <method 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 end().</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time </para></description></method>
 <method name="erase" cv="noexcept"><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>: log(size()) + count(k) </para></description></method>
 <method 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 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(a.size()). </para></description></method>
+<method 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 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 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
-<method 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. <emphasis role="bold">Effects</emphasis>: erase(a.begin(),a.end()).</para><para><emphasis role="bold">Postcondition</emphasis>: size() == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in size(). </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
+<method 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. <emphasis role="bold">Effects</emphasis>: erase(begin(),end()).</para><para><emphasis role="bold">Postcondition</emphasis>: size() == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in size(). </para></description></method>
 <method 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 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 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
 <method 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 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 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 name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><template>
 <method 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 end().</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time </para></description></method>
 <method 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>: log(size()) + count(k) </para></description></method>
 <method 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 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(a.size()). </para></description></method>
+<method 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 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 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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 name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(a.begin(),a.end()).</para><para><emphasis role="bold">Postcondition</emphasis>: size() == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in size(). </para></description></method>
+<method name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(begin(),end()).</para><para><emphasis role="bold">Postcondition</emphasis>: size() == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in size(). </para></description></method>
 <method 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 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 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
 <method 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 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 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 name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><template>
@@ -5906,23 +5906,23 @@ If the maximum capacity() to be used is limited, a user can try to use 8-bit, 16
 <method 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 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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 end().</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time </para></description></method>
 <method 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>: log(size()) + count(k) </para></description></method>
 <method 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 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 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(a.size()). </para></description></method>
+<method 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 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 name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(a.begin(),a.end()).</para><para><emphasis role="bold">Postcondition</emphasis>: size() == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in size(). </para></description></method>
+<method name="clear" cv="noexcept"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(begin(),end()).</para><para><emphasis role="bold">Postcondition</emphasis>: size() == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in size(). </para></description></method>
 <method 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 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 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
@@ -5941,22 +5941,22 @@ If the maximum capacity() to be used is limited, a user can try to use 8-bit, 16
 <method 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 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 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 name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><template>
@@ -6080,23 +6080,23 @@ If the maximum capacity() to be used is limited, a user can try to use 8-bit, 16
 <method 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>: 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. 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 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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;get_allocator() == 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(a.size() + N) (N has the value source.size()) </para></description></method>
+        </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;get_allocator() == 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(size() + N) (N has the value source.size()) </para></description></method>
 <method 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 end().</para><para><emphasis role="bold">Complexity</emphasis>: Amortized constant time </para></description></method>
 <method 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>: log(size()) + count(k) </para></description></method>
 <method 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 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 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(a.size()). </para></description></method>
+<method 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 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 name="clear"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(a.begin(),a.end()).</para><para><emphasis role="bold">Postcondition</emphasis>: size() == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in size(). </para></description></method>
+<method name="clear"><type>void</type><description><para><emphasis role="bold">Effects</emphasis>: erase(begin(),end()).</para><para><emphasis role="bold">Postcondition</emphasis>: size() == 0.</para><para><emphasis role="bold">Complexity</emphasis>: linear in size(). </para></description></method>
 <method 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 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 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic. </para></description></method>
@@ -6115,22 +6115,22 @@ If the maximum capacity() to be used is limited, a user can try to use 8-bit, 16
 <method 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 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 k, or a.end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
-<method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+<method 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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 not less than x, or end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
+        </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 end() if such an element is not found.</para><para><emphasis role="bold">Complexity</emphasis>: Logarithmic </para></description></method>
 <method 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 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 name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><template>