<?xml version="1.0" standalone="yes"?>
<library-reference><header id="doxygen.binomial__heap_8hpp" name="boost/heap/binomial_heap.hpp">
<namespace name="boost">
<namespace name="heap">
<class id="doxygen.classboost_1_1heap_1_1binomial__heap" name="binomial_heap"><template>
      <template-type-parameter name="T"/>
      <template-nontype-parameter name="Options"><type>class...</type></template-nontype-parameter>
    </template><purpose>binomial heap </purpose><description><para>The template parameter T is the type to be managed by the container. The user can specify additional options and if no options are provided default options are used.</para><para>The container supports the following options:<itemizedlist>
<listitem><para><computeroutput>boost::heap::stable&lt;&gt;</computeroutput>, defaults to <computeroutput>stable&lt;false&gt;</computeroutput> </para>
</listitem><listitem><para><computeroutput>boost::heap::compare&lt;&gt;</computeroutput>, defaults to <computeroutput>compare&lt;std::less&lt;T&gt;</computeroutput> &gt;</para>
</listitem><listitem><para><computeroutput>boost::heap::allocator&lt;&gt;</computeroutput>, defaults to <computeroutput>allocator&lt;std::allocator&lt;T&gt;</computeroutput> &gt;</para>
</listitem><listitem><para><computeroutput>boost::heap::constant_time_size&lt;&gt;</computeroutput>, defaults to <computeroutput>constant_time_size&lt;true&gt;</computeroutput> </para>
</listitem><listitem><para><computeroutput>boost::heap::stability_counter_type&lt;&gt;</computeroutput>, defaults to <computeroutput>stability_counter_type&lt;boost::uintmax_t&gt;</computeroutput> </para>
</listitem></itemizedlist>
</para></description><typedef id="doxygen.classboost_1_1heap_1_1binomial__heap_1ad3560f36a473316197ab399fb733311e" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1binomial__heap_1ad8bbd38f43e16162440ca24f172eb41d" name="size_type"><type>implementation_defined::size_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1binomial__heap_1af4b521b9af94fec4f2583395415eba12" name="difference_type"><type>implementation_defined::difference_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1binomial__heap_1aa18a8fc267bbd7a369349d51487c2746" name="value_compare"><type>implementation_defined::value_compare</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1binomial__heap_1a4b309b05bdd5e2b08ed2b70c42d4b659" name="allocator_type"><type>implementation_defined::allocator_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1binomial__heap_1ac6a344ba7ff11ee53293509367641efb" name="reference"><type>implementation_defined::reference</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1binomial__heap_1a9e47a31e79f776c8cfc752d4bf3ef030" name="const_reference"><type>implementation_defined::const_reference</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1binomial__heap_1a8539ba9881576b4099226a61166fa4ec" name="pointer"><type>implementation_defined::pointer</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1binomial__heap_1a62b8e36a577db9674e7a1e9493bda9a2" name="const_pointer"><type>implementation_defined::const_pointer</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1binomial__heap_1a480ac90d2194c14d21af6f0b9d955fab" name="iterator"><description><para><emphasis role="bold">Note:</emphasis> The iterator does not traverse the priority queue in order of the priorities.    </para></description><type>implementation_defined::iterator</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1binomial__heap_1afd14e55f9a155ff3eec0ec6b88d51e6c" name="const_iterator"><type>implementation_defined::const_iterator</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1binomial__heap_1a151805af68e15c4ece8b87f457764f2a" name="ordered_iterator"><type>implementation_defined::ordered_iterator</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1binomial__heap_1aea621a4c17dcaaddaa7c8d1015f67519" name="handle_type"><type>implementation_defined::handle_type</type></typedef>
<data-member id="doxygen.classboost_1_1heap_1_1binomial__heap_1aebc78fc189608bd2f0cf3982030fa229" name="constant_time_size" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1binomial__heap_1a70e67720d974a90279dd078ca970f70c" name="has_ordered_iterators" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1binomial__heap_1ab1659c8e0b05a179c410c6732f233906" name="is_mergable" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1binomial__heap_1af6d0b371964a5fd253c9864db638ddd6" name="is_stable" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1binomial__heap_1a5dc0e5ec9392309bb9739e2d895ac7ea" name="has_reserve" specifiers="static"><type>const bool</type></data-member>
<method-group name="public member functions">
<constructor id="doxygen.classboost_1_1heap_1_1binomial__heap_1ae232948e6e82fa9cc24ff380c18db64b" specifiers="explicit"><parameter name="cmp"><paramtype>value_compare const &amp;</paramtype><default>value_compare()</default></parameter><description><para><emphasis role="bold">Effects:</emphasis> constructs an empty priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></constructor>
<constructor id="doxygen.classboost_1_1heap_1_1binomial__heap_1a05531c8595eef1d2484cf013a36913f0" specifiers="explicit"><parameter name="alloc"><paramtype>allocator_type const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> constructs an empty priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></constructor>
<constructor id="doxygen.classboost_1_1heap_1_1binomial__heap_1a79e390595bc5c4a4393a8346c3b7572d"><parameter name="rhs"><paramtype><classname>binomial_heap</classname> const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> copy-constructs priority queue from rhs.</para><para><emphasis role="bold">Complexity:</emphasis> Linear.    </para></description></constructor>
<copy-assignment id="doxygen.classboost_1_1heap_1_1binomial__heap_1a322572635ae09a2ecc0cb18d5e813b7d"><type><classname>binomial_heap</classname> &amp;</type><parameter name="rhs"><paramtype><classname>binomial_heap</classname> const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns priority queue from rhs.</para><para><emphasis role="bold">Complexity:</emphasis> Linear.    </para></description></copy-assignment>
<constructor id="doxygen.classboost_1_1heap_1_1binomial__heap_1a07a2a5921bb4a450c880cf1ea4f3f271"><parameter name="rhs"><paramtype><classname>binomial_heap</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> C++11-style move constructor.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></constructor>
<copy-assignment id="doxygen.classboost_1_1heap_1_1binomial__heap_1a6f56c0f22f5f2cd1bbe8bdbf02633c65"><type><classname>binomial_heap</classname> &amp;</type><parameter name="rhs"><paramtype><classname>binomial_heap</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> C++11-style move assignment.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></copy-assignment>
<destructor id="doxygen.classboost_1_1heap_1_1binomial__heap_1abdabe5dfa31e283ab3ce2da926cf1f52"><parameter name=""><paramtype>void</paramtype></parameter></destructor>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a7f211fee124e44228fe0c731bab4b4f6" name="empty" cv="const"><type>bool</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns true, if the priority queue contains no elements.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a29b04bb5a37912fe785f7b93bb81b509" name="size" cv="const"><type>size_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns the number of elements contained in the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant, if configured with constant_time_size&lt;true&gt;, otherwise linear. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1adce97b12a391424afaa5daeba8708ec5" name="max_size" cv="const"><type>size_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns the maximum number of elements the priority queue can contain.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a5c71e95449b53590b44582bc224047d8" name="clear"><type>void</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Removes all elements from the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Linear.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a5553e34f68546011b7ac3e7aee9a1d6b" name="get_allocator" cv="const"><type>allocator_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns allocator.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1ac5171efd74d20d30e51de0ea0d725eb6" name="swap"><type>void</type><parameter name="rhs"><paramtype><classname>binomial_heap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Swaps two priority queues.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1ae212aec6a17ad4d58d20e9579c467eef" name="top" cv="const"><type>const_reference</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns a const_reference to the maximum element.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a9314f1269b1af42ab6a88d9081f02af5" name="push"><type>handle_type</type><parameter name="v"><paramtype>value_type const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Adds a new element to the priority queue. Returns handle to element</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a3d713e4b25524f801f5730095af7ad03" name="emplace"><type>handle_type</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Adds a new element to the priority queue. The element is directly constructed in-place. Returns handle to element.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a8cf51a590e58db35214f6757d27a3fc9" name="pop"><type>void</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Removes the top element from the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a2accbe0de36efc10fb22c030ce4b7e27" name="update"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><parameter name="v"><paramtype>const_reference</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns <computeroutput>v</computeroutput> to the element handled by <computeroutput>handle</computeroutput> &amp; updates the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a09e13142b9575800495fa08dd88a7c41" name="update"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Updates the heap after the element handled by <computeroutput>handle</computeroutput> has been changed.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic.</para><para><emphasis role="bold">Note:</emphasis> If this is not called, after a handle has been updated, the behavior of the data structure is undefined! </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a0872cbdd14c1e4b758300b54b6303131" name="increase"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><parameter name="v"><paramtype>const_reference</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns <computeroutput>v</computeroutput> to the element handled by <computeroutput>handle</computeroutput> &amp; updates the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic.</para><para><emphasis role="bold">Note:</emphasis> The new value is expected to be greater than the current one </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1ab925b1bfd482e8e2d6fd81f61febd07e" name="increase"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Updates the heap after the element handled by <computeroutput>handle</computeroutput> has been changed.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic.</para><para><emphasis role="bold">Note:</emphasis> If this is not called, after a handle has been updated, the behavior of the data structure is undefined! </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a19935c2b5bb113dfcbaa53777ecdf801" name="decrease"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><parameter name="v"><paramtype>const_reference</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns <computeroutput>v</computeroutput> to the element handled by <computeroutput>handle</computeroutput> &amp; updates the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic.</para><para><emphasis role="bold">Note:</emphasis> The new value is expected to be less than the current one </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a97836b1c9482f796e842cceccc69f629" name="decrease"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Updates the heap after the element handled by <computeroutput>handle</computeroutput> has been changed.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic.</para><para><emphasis role="bold">Note:</emphasis> The new value is expected to be less than the current one. If this is not called, after a handle has been updated, the behavior of the data structure is undefined! </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a40b27a7576f3e53da33e737918358619" name="merge"><type>void</type><parameter name="rhs"><paramtype><classname>binomial_heap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Merge with priority queue rhs.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1af1ea916ca94b7e2ab9163aa87cca0858" name="begin" cv="const"><type>iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an iterator to the first element contained in the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a77449a4cbfbdacd024ed31afc7f9c39e" name="end" cv="const"><type>iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an iterator to the end of the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1ada29e12a62efd62cd0863babb8749ca1" name="ordered_begin" cv="const"><type>ordered_iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an ordered iterator to the first element contained in the priority queue.</para><para><emphasis role="bold">Note:</emphasis> Ordered iterators traverse the priority queue in heap order.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a141ea5b5f896837fe1596b846684322a" name="ordered_end" cv="const"><type>ordered_iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an ordered iterator to the end of the priority queue.</para><para><emphasis role="bold">Note:</emphasis> Ordered iterators traverse the priority queue in heap order.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1aa327189ac3c1dae672bff9a017d79252" name="erase"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Removes the element handled by <computeroutput>handle</computeroutput> from the <link linkend="doxygen.classboost_1_1heap_1_1priority__queue">priority_queue</link>.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1ab3bcc8ea5181dfd28ec3fe267aa3dd7b" name="value_comp" cv="const"><type>value_compare const &amp;</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effect:</emphasis> Returns the value_compare object used by the priority queue    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a882a9d7686de1a51ffdcdbba66c3677b" name="operator&lt;" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a49b6d6176bddc99b8c884b1617232c2d" name="operator&gt;" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a07edc852886f2a93aa010b105fe979a3" name="operator&gt;=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1afdd24120fefddcef1abb24fd9b7d8188" name="operator&lt;=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1a65c5a0b5267cd82bed87af8d5d178873" name="operator==" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><purpose>Equivalent comparison <emphasis role="bold">Returns:</emphasis> True, if both heap data structures are equivalent.    </purpose><description><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1aaf3bdd6dec4ccf216e58c353eef15eed" name="operator!=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><purpose>Equivalent comparison <emphasis role="bold">Returns:</emphasis> True, if both heap data structures are not equivalent.    </purpose><description><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
</method-group>
<method-group name="public static functions">
<method id="doxygen.classboost_1_1heap_1_1binomial__heap_1abfdd5e3045654dfbeaf3fb00b00e919b" name="s_handle_from_iterator" specifiers="static"><type>handle_type</type><parameter name="it"><paramtype>iterator const &amp;</paramtype></parameter></method>
</method-group>
</class>
</namespace>
</namespace>
</header>
<header id="doxygen.d__ary__heap_8hpp" name="boost/heap/d_ary_heap.hpp">
<namespace name="boost">
<namespace name="heap">
<class id="doxygen.classboost_1_1heap_1_1d__ary__heap" name="d_ary_heap"><template>
      <template-type-parameter name="T"/>
      <template-nontype-parameter name="Options"><type>class...</type></template-nontype-parameter>
    </template><purpose>d-ary heap class </purpose><description><para>This class implements an immutable priority queue. Internally, the d-ary heap is represented as dynamically sized array (std::vector), that directly stores the values.</para><para>The template parameter T is the type to be managed by the container. The user can specify additional options and if no options are provided default options are used.</para><para>The container supports the following options:<itemizedlist>
<listitem><para><computeroutput>boost::heap::arity&lt;&gt;</computeroutput>, required</para>
</listitem><listitem><para><computeroutput>boost::heap::compare&lt;&gt;</computeroutput>, defaults to <computeroutput>compare&lt;std::less&lt;T&gt;</computeroutput> &gt;</para>
</listitem><listitem><para><computeroutput>boost::heap::stable&lt;&gt;</computeroutput>, defaults to <computeroutput>stable&lt;false&gt;</computeroutput> </para>
</listitem><listitem><para><computeroutput>boost::heap::stability_counter_type&lt;&gt;</computeroutput>, defaults to <computeroutput>stability_counter_type&lt;boost::uintmax_t&gt;</computeroutput> </para>
</listitem><listitem><para><computeroutput>boost::heap::allocator&lt;&gt;</computeroutput>, defaults to <computeroutput>allocator&lt;std::allocator&lt;T&gt;</computeroutput> &gt;</para>
</listitem><listitem><para><computeroutput>boost::heap::mutable_&lt;&gt;</computeroutput>, defaults to <computeroutput>mutable_&lt;false&gt;</computeroutput> </para>
</listitem></itemizedlist>
</para></description><typedef id="doxygen.classboost_1_1heap_1_1d__ary__heap_1abdc4bb72e52098210dffeb4b66edd2f9" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1d__ary__heap_1ac1d64195ebec81be854888cfb3c0af73" name="size_type"><type>implementation_defined::size_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a60cf7bb40f0eaf031e22974f4ed35d4b" name="difference_type"><type>implementation_defined::difference_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1d__ary__heap_1ace6e87ba37e9302a445b8b8975a3e44b" name="value_compare"><type>implementation_defined::value_compare</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a90742cee93375918dc7dc955d23e9240" name="allocator_type"><type>implementation_defined::allocator_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a90ef1dfd8c9930f05370725c4170bab1" name="reference"><type>implementation_defined::reference</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a0e3706caa389dbd4983174dc5781d96a" name="const_reference"><type>implementation_defined::const_reference</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a99b55b7045ff3024145e71224ef4e717" name="pointer"><type>implementation_defined::pointer</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a472c36ca63e05bf749492f37c8130294" name="const_pointer"><type>implementation_defined::const_pointer</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1d__ary__heap_1ad19e4fbf3337cac7f4652daf7347ba40" name="iterator"><description><para><emphasis role="bold">Note:</emphasis> The iterator does not traverse the priority queue in order of the priorities.    </para></description><type>implementation_defined::iterator</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1d__ary__heap_1af7fbde9b5db367d19452ae0fe90a0d9c" name="const_iterator"><type>implementation_defined::const_iterator</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a6ad30cd30a93f56f72b9314e893eecd8" name="ordered_iterator"><type>implementation_defined::ordered_iterator</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1d__ary__heap_1ad43933aeaad61c8e0baeb73481d4f46a" name="handle_type"><type>implementation_defined::handle_type</type></typedef>
<data-member id="doxygen.classboost_1_1heap_1_1d__ary__heap_1ada828650cef73026791e0ee16da0fbeb" name="constant_time_size" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a91f51e9028437ab6be38e263f3db14db" name="has_ordered_iterators" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a970a4a3651e1b9b420a44a59734f024d" name="is_mergable" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1d__ary__heap_1ada08397707a157ba38a14e41cf05d4af" name="has_reserve" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1d__ary__heap_1ae951a484c0db79d2dec852ae6e6dc834" name="is_stable" specifiers="static"><type>const bool</type></data-member>
<method-group name="public member functions">
<constructor id="doxygen.classboost_1_1heap_1_1d__ary__heap_1adba764f939634f5e6b73b76bb221d8c8" specifiers="explicit"><parameter name="cmp"><paramtype>value_compare const &amp;</paramtype><default>value_compare()</default></parameter><description><para><emphasis role="bold">Effects:</emphasis> constructs an empty priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></constructor>
<constructor id="doxygen.classboost_1_1heap_1_1d__ary__heap_1ad19bebafcb2ba21c6f953a91fc509e2a"><parameter name="rhs"><paramtype><classname>d_ary_heap</classname> const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> copy-constructs priority queue from rhs.</para><para><emphasis role="bold">Complexity:</emphasis> Linear.    </para></description></constructor>
<constructor id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a9a9e1e903f29ab2102bb711a49229497"><parameter name="rhs"><paramtype><classname>d_ary_heap</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> C++11-style move constructor.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></constructor>
<copy-assignment id="doxygen.classboost_1_1heap_1_1d__ary__heap_1acd4eff880258813665643bf4ea9169f9"><type><classname>d_ary_heap</classname> &amp;</type><parameter name="rhs"><paramtype><classname>d_ary_heap</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> C++11-style move assignment.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></copy-assignment>
<copy-assignment id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a0cad73a5f4c2259e3906ee4c63514847"><type><classname>d_ary_heap</classname> &amp;</type><parameter name="rhs"><paramtype><classname>d_ary_heap</classname> const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns priority queue from rhs.</para><para><emphasis role="bold">Complexity:</emphasis> Linear.    </para></description></copy-assignment>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a5ecfe8563e4db23e8cb9bd717f99bb62" name="empty" cv="const"><type>bool</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns true, if the priority queue contains no elements.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a5cb9690ef67b6d87395956256b43a2d9" name="size" cv="const"><type>size_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns the number of elements contained in the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a606b3e49c8f9bb59f94769d410b1340f" name="max_size" cv="const"><type>size_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns the maximum number of elements the priority queue can contain.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a81b258099544ac324437ca882ae88a84" name="clear"><type>void</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Removes all elements from the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Linear.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a95e8358334ce9e31dcb5123b050e664d" name="get_allocator" cv="const"><type>allocator_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns allocator.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a0410e641d357ffd3d4bdaec07618c999" name="top" cv="const"><type>value_type const &amp;</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns a const_reference to the maximum element.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a9c3ee8282045fd8170594a99c0ae1760" name="push"><type>std::conditional&lt; is_mutable, handle_type, void &gt;::type</type><parameter name="v"><paramtype>value_type const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Adds a new element to the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized). Linear (worst case).    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1ab6dd60787bb57667ac3bec41244c4587" name="emplace"><type>std::conditional&lt; is_mutable, handle_type, void &gt;::type</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Adds a new element to the priority queue. The element is directly constructed in-place.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized). Linear (worst case).    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a74521828957ad9aeab69ec5d0ccfc125" name="operator&lt;" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a615141efc0cd59a18143ddfa25361ceb" name="operator&gt;" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1aafede81298985cc4b608680463f1918a" name="operator&gt;=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a73c040da45f2bce1b69e1250b404ebb7" name="operator&lt;=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a6b85fd3bfd4e6d072cf189f3b88b6f6e" name="operator==" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><purpose>Equivalent comparison <emphasis role="bold">Returns:</emphasis> True, if both heap data structures are equivalent.    </purpose><description><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1ae35002bcc49ea41f60d862465cb5ea20" name="operator!=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><purpose>Equivalent comparison <emphasis role="bold">Returns:</emphasis> True, if both heap data structures are not equivalent.    </purpose><description><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a5a40acdd88b4e0d4a2844eb2036e7652" name="update"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><parameter name="v"><paramtype>const_reference</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns <computeroutput>v</computeroutput> to the element handled by <computeroutput>handle</computeroutput> &amp; updates the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic.</para><para><emphasis role="bold">Requirement:</emphasis> data structure must be configured as mutable </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a0844e5f0a021d2dc274efc4f75f18e83" name="update"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Updates the heap after the element handled by <computeroutput>handle</computeroutput> has been changed.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic.</para><para><emphasis role="bold">Note:</emphasis> If this is not called, after a handle has been updated, the behavior of the data structure is undefined!</para><para><emphasis role="bold">Requirement:</emphasis> data structure must be configured as mutable </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a28deeccf26e81dcd6cbe84c04e6592e9" name="increase"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><parameter name="v"><paramtype>const_reference</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns <computeroutput>v</computeroutput> to the element handled by <computeroutput>handle</computeroutput> &amp; updates the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic.</para><para><emphasis role="bold">Note:</emphasis> The new value is expected to be greater than the current one</para><para><emphasis role="bold">Requirement:</emphasis> data structure must be configured as mutable </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a47b8c52d86aa4d4b5a1205ce9377f24b" name="increase"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Updates the heap after the element handled by <computeroutput>handle</computeroutput> has been changed.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic.</para><para><emphasis role="bold">Note:</emphasis> The new value is expected to be greater than the current one. If this is not called, after a handle has been updated, the behavior of the data structure is undefined!</para><para><emphasis role="bold">Requirement:</emphasis> data structure must be configured as mutable </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a26f5e87cee72497faee3b41998d28843" name="decrease"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><parameter name="v"><paramtype>const_reference</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns <computeroutput>v</computeroutput> to the element handled by <computeroutput>handle</computeroutput> &amp; updates the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic.</para><para><emphasis role="bold">Note:</emphasis> The new value is expected to be less than the current one</para><para><emphasis role="bold">Requirement:</emphasis> data structure must be configured as mutable </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a9f481afa0044823d428f3596027fbdc0" name="decrease"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Updates the heap after the element handled by <computeroutput>handle</computeroutput> has been changed.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic.</para><para><emphasis role="bold">Note:</emphasis> The new value is expected to be less than the current one. If this is not called, after a handle has been updated, the behavior of the data structure is undefined!</para><para><emphasis role="bold">Requirement:</emphasis> data structure must be configured as mutable </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a5d1b9fa9f2fb6c79b66c655427108347" name="erase"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Removes the element handled by <computeroutput>handle</computeroutput> from the <link linkend="doxygen.classboost_1_1heap_1_1priority__queue">priority_queue</link>.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic.</para><para><emphasis role="bold">Requirement:</emphasis> data structure must be configured as mutable </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a5afcde76809638f928af3837a0573a8a" name="pop"><type>void</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Removes the top element from the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized). Linear (worst case).    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a13a3239b65057604ace276848ecc0f65" name="swap"><type>void</type><parameter name="rhs"><paramtype><classname>d_ary_heap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Swaps two priority queues.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a79515a98d2a28784bdeab74b77cd2e7b" name="begin" cv="const"><type>const_iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an iterator to the first element contained in the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1abb7de9c3c96705901f0bb2d78ad944e3" name="begin"><type>iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an iterator to the first element contained in the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a8b85d2d0ecb2637b12e7997a7d18ecc7" name="end"><type>iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an iterator to the end of the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1ab913ab7aff6cea68331ca535f72a2bf2" name="end" cv="const"><type>const_iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an iterator to the end of the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a29940c60e961250c3406bc878f226c85" name="ordered_begin" cv="const"><type>ordered_iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an ordered iterator to the first element contained in the priority queue.</para><para><emphasis role="bold">Note:</emphasis> Ordered iterators traverse the priority queue in heap order.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1ad8b99531e83c146743f01b7dcead12b4" name="ordered_end" cv="const"><type>ordered_iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an ordered iterator to the end of the priority queue.</para><para><emphasis role="bold">Note:</emphasis> Ordered iterators traverse the priority queue in heap order.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a56f85b2c854c292646e075d47bd21949" name="reserve"><type>void</type><parameter name="element_count"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Reserves memory for element_count elements</para><para><emphasis role="bold">Complexity:</emphasis> Linear.</para><para><emphasis role="bold">Node:</emphasis> Invalidates iterators    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1af44a5b27b7de1169cde0f208f6f796f2" name="value_comp" cv="const"><type>value_compare const &amp;</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effect:</emphasis> Returns the value_compare object used by the priority queue    </para></description></method>
</method-group>
<method-group name="public static functions">
<method id="doxygen.classboost_1_1heap_1_1d__ary__heap_1a6f8c114dba213a386c3454a6d2e91a06" name="s_handle_from_iterator" specifiers="static"><type>handle_type</type><parameter name="it"><paramtype>iterator const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Casts an iterator to a node handle.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.</para><para><emphasis role="bold">Requirement:</emphasis> data structure must be configured as mutable </para></description></method>
</method-group>
</class>
</namespace>
</namespace>
</header>
<header id="doxygen.fibonacci__heap_8hpp" name="boost/heap/fibonacci_heap.hpp">
<namespace name="boost">
<namespace name="heap">
<class id="doxygen.classboost_1_1heap_1_1fibonacci__heap" name="fibonacci_heap"><template>
      <template-type-parameter name="T"/>
      <template-nontype-parameter name="Options"><type>class...</type></template-nontype-parameter>
    </template><purpose>fibonacci heap </purpose><description><para>The template parameter T is the type to be managed by the container. The user can specify additional options and if no options are provided default options are used.</para><para>The container supports the following options:<itemizedlist>
<listitem><para><computeroutput>boost::heap::stable&lt;&gt;</computeroutput>, defaults to <computeroutput>stable&lt;false&gt;</computeroutput> </para>
</listitem><listitem><para><computeroutput>boost::heap::compare&lt;&gt;</computeroutput>, defaults to <computeroutput>compare&lt;std::less&lt;T&gt;</computeroutput> &gt;</para>
</listitem><listitem><para><computeroutput>boost::heap::allocator&lt;&gt;</computeroutput>, defaults to <computeroutput>allocator&lt;std::allocator&lt;T&gt;</computeroutput> &gt;</para>
</listitem><listitem><para><computeroutput>boost::heap::constant_time_size&lt;&gt;</computeroutput>, defaults to <computeroutput>constant_time_size&lt;true&gt;</computeroutput> </para>
</listitem><listitem><para><computeroutput>boost::heap::stability_counter_type&lt;&gt;</computeroutput>, defaults to <computeroutput>stability_counter_type&lt;boost::uintmax_t&gt;</computeroutput> </para>
</listitem></itemizedlist>
</para></description><typedef id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1acf85797c787bee27eddd261b25fcfdf2" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1aec6a96b04074058ed3278f290963e892" name="size_type"><type>implementation_defined::size_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a5eccf0eb88a6a8d9de9ce385428a23e0" name="difference_type"><type>implementation_defined::difference_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1aeb1bed38c4c4dfdb47e9722dc37a4e2c" name="value_compare"><type>implementation_defined::value_compare</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a1279f57b13b4ed28a5f0e6e098dd52b0" name="allocator_type"><type>implementation_defined::allocator_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1acffcbf018e888d7f2137d564a07970f1" name="reference"><type>implementation_defined::reference</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a459669766fa68a43ae3e20fd3bf79723" name="const_reference"><type>implementation_defined::const_reference</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1ad02d800479c584c80c511351ce81dc0d" name="pointer"><type>implementation_defined::pointer</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a8b5874a0f317fd424a92222231b0eaef" name="const_pointer"><type>implementation_defined::const_pointer</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1aa4c14b843fb350e3583f69af17c93811" name="iterator"><description><para><emphasis role="bold">Note:</emphasis> The iterator does not traverse the priority queue in order of the priorities.    </para></description><type>implementation_defined::iterator</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1aedaf0ee48414e85af8da1aabe5c71cf1" name="const_iterator"><type>implementation_defined::const_iterator</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a255d08f29bbc3f675c763487d3ff4e8a" name="ordered_iterator"><type>implementation_defined::ordered_iterator</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a70ec8aaf16952229472f31eeec9dbac7" name="handle_type"><type>implementation_defined::handle_type</type></typedef>
<data-member id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a1d0b11254c820e5a4bd18f6e8fe2b263" name="constant_time_size" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a3c0caf3caa538c23a9e109fd0636ecf6" name="has_ordered_iterators" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1aa0845d8cebd1cf82e8434381545fc2af" name="is_mergable" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a8b97bd80fe4e8560dea6beee61d251b5" name="is_stable" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a6837a216d491a341acbee9dfb6edc7e3" name="has_reserve" specifiers="static"><type>const bool</type></data-member>
<method-group name="public member functions">
<constructor id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a88de42c72d5b96168cd0072fa3f70296" specifiers="explicit"><parameter name="cmp"><paramtype>value_compare const &amp;</paramtype><default>value_compare()</default></parameter><description><para><emphasis role="bold">Effects:</emphasis> constructs an empty priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></constructor>
<constructor id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a52fa17a9e41ca434489144d4f5108cf7" specifiers="explicit"><parameter name="alloc"><paramtype>allocator_type const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> constructs an empty priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></constructor>
<constructor id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a75c06a03d568de8fcdef3a10de3bbfd0"><parameter name="rhs"><paramtype><classname>fibonacci_heap</classname> const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> copy-constructs priority queue from rhs.</para><para><emphasis role="bold">Complexity:</emphasis> Linear.    </para></description></constructor>
<constructor id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1af14e5370f241b32d752bfc2e8fa3e899"><parameter name="rhs"><paramtype><classname>fibonacci_heap</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> C++11-style move constructor.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></constructor>
<copy-assignment id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a65166ef4b4b1925250a46a0e1fef4f67"><type><classname>fibonacci_heap</classname> &amp;</type><parameter name="rhs"><paramtype><classname>fibonacci_heap</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> C++11-style move assignment.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></copy-assignment>
<copy-assignment id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a76cd5ae2df69561c1c82a49c6d89c697"><type><classname>fibonacci_heap</classname> &amp;</type><parameter name="rhs"><paramtype><classname>fibonacci_heap</classname> const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns priority queue from rhs.</para><para><emphasis role="bold">Complexity:</emphasis> Linear.    </para></description></copy-assignment>
<destructor id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1aba478cb4aa6276416d4eb03b94a89ae9"><parameter name=""><paramtype>void</paramtype></parameter></destructor>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a5df43f60440a737d36ab3d89c8a9d353" name="empty" cv="const"><type>bool</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns true, if the priority queue contains no elements.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a806cbca4626df1ad6fbc727f035afca3" name="size" cv="const"><type>size_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns the number of elements contained in the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a83177e56d23af15aabee5684c9eb4c0b" name="max_size" cv="const"><type>size_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns the maximum number of elements the priority queue can contain.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a66fac21a6e25ded5deee2873e3883a3d" name="clear"><type>void</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Removes all elements from the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Linear.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1ab7bb1b2560706a61cfffdb0111a3a908" name="get_allocator" cv="const"><type>allocator_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns allocator.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a463e93253217a8b1a4fa71977dee9631" name="swap"><type>void</type><parameter name="rhs"><paramtype><classname>fibonacci_heap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Swaps two priority queues.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a1da18a07438064f76464d0682ba53c62" name="top" cv="const"><type>value_type const &amp;</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns a const_reference to the maximum element.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a2891b7ec20a2d980aca52d9876c89fe6" name="push"><type>handle_type</type><parameter name="v"><paramtype>value_type const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Adds a new element to the priority queue. Returns handle to element</para><para><emphasis role="bold">Complexity:</emphasis> Constant.</para><para><emphasis role="bold">Note:</emphasis> Does not invalidate iterators. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a7c099a60a4f169bf7190c2a5e62dd339" name="emplace"><type>handle_type</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Adds a new element to the priority queue. The element is directly constructed in-place. Returns handle to element.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.</para><para><emphasis role="bold">Note:</emphasis> Does not invalidate iterators. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1aff63e7833e6218378aa2c77e94904ab2" name="pop"><type>void</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Removes the top element from the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized). Linear (worst case). </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1ad11c90bb3720f20d359e03f95356a00b" name="update"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><parameter name="v"><paramtype>const_reference</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns <computeroutput>v</computeroutput> to the element handled by <computeroutput>handle</computeroutput> &amp; updates the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic if current value &lt; v, Constant otherwise. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a0dc0ce5d5c64f65865a0b734e03f3562" name="update_lazy"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><parameter name="v"><paramtype>const_reference</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns <computeroutput>v</computeroutput> to the element handled by <computeroutput>handle</computeroutput> &amp; updates the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic if current value &lt; v, Constant otherwise.   </para><para><emphasis role="bold">Rationale:</emphasis> The lazy update function is a modification of the traditional update, that just invalidates the iterator to the object referred to by the handle. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a039d6348a121f7154e2fd46379914a4c" name="update"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Updates the heap after the element handled by <computeroutput>handle</computeroutput> has been changed.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic.</para><para><emphasis role="bold">Note:</emphasis> If this is not called, after a handle has been updated, the behavior of the data structure is undefined! </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a087a328068e75c95fdb55300e7f2e207" name="update_lazy"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><purpose>(handle_type handle) </purpose><description><para><emphasis role="bold">Effects:</emphasis> Assigns <computeroutput>v</computeroutput> to the element handled by <computeroutput>handle</computeroutput> &amp; updates the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic if current value &lt; v, Constant otherwise.    (handle_type handle)</para><para><emphasis role="bold">Rationale:</emphasis> The lazy update function is a modification of the traditional update, that just invalidates the iterator to the object referred to by the handle. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1adb0b4c48903bec83dd2c6ccf227f9435" name="increase"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><parameter name="v"><paramtype>const_reference</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns <computeroutput>v</computeroutput> to the element handled by <computeroutput>handle</computeroutput> &amp; updates the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.</para><para><emphasis role="bold">Note:</emphasis> The new value is expected to be greater than the current one </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1abeb0399cc68e6ed53fc6593e22c1c4f7" name="increase"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Updates the heap after the element handled by <computeroutput>handle</computeroutput> has been changed.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.</para><para><emphasis role="bold">Note:</emphasis> If this is not called, after a handle has been updated, the behavior of the data structure is undefined! </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1afa9cdfd03434edf112363623744f0c78" name="decrease"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><parameter name="v"><paramtype>const_reference</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns <computeroutput>v</computeroutput> to the element handled by <computeroutput>handle</computeroutput> &amp; updates the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic.</para><para><emphasis role="bold">Note:</emphasis> The new value is expected to be less than the current one </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a4f87247adfac86270a70a0f099b1e908" name="decrease"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Updates the heap after the element handled by <computeroutput>handle</computeroutput> has been changed.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic.</para><para><emphasis role="bold">Note:</emphasis> The new value is expected to be less than the current one. If this is not called, after a handle has been updated, the behavior of the data structure is undefined! </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1ac620f86e8937dfc495945d14395b06c4" name="erase"><type>void</type><parameter name="handle"><paramtype>handle_type const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Removes the element handled by <computeroutput>handle</computeroutput> from the <link linkend="doxygen.classboost_1_1heap_1_1priority__queue">priority_queue</link>.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a441e8072e4889664214f34cfcebb3c17" name="begin" cv="const"><type>iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an iterator to the first element contained in the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a83501acc7c74d06e2f2bc9c89d9678b9" name="end" cv="const"><type>iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an iterator to the end of the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a4009addc28b9dd59d8d590f7b6e02daf" name="ordered_begin" cv="const"><type>ordered_iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an ordered iterator to the first element contained in the priority queue.</para><para><emphasis role="bold">Note:</emphasis> Ordered iterators traverse the priority queue in heap order. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a2aed53eadf7bfac3b7f9b1354a7e1762" name="ordered_end" cv="const"><type>ordered_iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an ordered iterator to the end of the priority queue.</para><para><emphasis role="bold">Note:</emphasis> Ordered iterators traverse the priority queue in heap order. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a5106042078e6c49373d82e365ddbd072" name="merge"><type>void</type><parameter name="rhs"><paramtype><classname>fibonacci_heap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Merge with priority queue rhs.</para><para><emphasis role="bold">Complexity:</emphasis> Constant. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a2c877596491990414d5484d556feb4f1" name="value_comp" cv="const"><type>value_compare const &amp;</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effect:</emphasis> Returns the value_compare object used by the priority queue    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a60d78aebabb45540d6b9b665b2ff9c42" name="operator&lt;" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1ae25be378304e9ada24549fe3a069eb3f" name="operator&gt;" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a69ca5dd4f788bb6e4529c14910f7ca9b" name="operator&gt;=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1af605a12639bc6c8f3dfe2179025d65df" name="operator&lt;=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a30ef68c10b49f994a9c3212c3983a28e" name="operator==" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><purpose>Equivalent comparison <emphasis role="bold">Returns:</emphasis> True, if both heap data structures are equivalent.    </purpose><description><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1a77412fa18342ac572042d8d2fea00cd0" name="operator!=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><purpose>Equivalent comparison <emphasis role="bold">Returns:</emphasis> True, if both heap data structures are not equivalent.    </purpose><description><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
</method-group>
<method-group name="public static functions">
<method id="doxygen.classboost_1_1heap_1_1fibonacci__heap_1aae4d2240241a5e21bbbf6d1603e04be0" name="s_handle_from_iterator" specifiers="static"><type>handle_type</type><parameter name="it"><paramtype>iterator const &amp;</paramtype></parameter></method>
</method-group>
</class>
</namespace>
</namespace>
</header>
<header id="doxygen.heap__concepts_8hpp" name="boost/heap/heap_concepts.hpp">
<namespace name="boost">
<namespace name="heap">
<struct id="doxygen.structboost_1_1heap_1_1MergablePriorityQueue" name="MergablePriorityQueue"><template>
      <template-type-parameter name="C"/>
    </template><inherit access="public">boost::heap::PriorityQueue&lt; C &gt;</inherit><method-group name="public member functions">
<method id="doxygen.structboost_1_1heap_1_1MergablePriorityQueue_1a73b091e16a98c774d4f794dc2288b398" name="BOOST_CONCEPT_USAGE"><type/><parameter name=""><paramtype>MergablePriorityQueue</paramtype></parameter></method>
<method name="BOOST_CONCEPT_USAGE"><type/><parameter name=""><paramtype>PriorityQueue</paramtype></parameter></method>
</method-group>
<typedef name="iterator"><type>C::iterator</type></typedef>
<typedef name="const_iterator"><type>C::const_iterator</type></typedef>
<typedef name="allocator_type"><type>C::allocator_type</type></typedef>
<typedef name="value_compare"><type>C::value_compare</type></typedef>
<typedef name="value_type"><type>C::value_type</type></typedef>
<typedef name="const_reference"><type>C::const_reference</type></typedef>
</struct><struct id="doxygen.structboost_1_1heap_1_1MutablePriorityQueue" name="MutablePriorityQueue"><template>
      <template-type-parameter name="C"/>
    </template><inherit access="public">boost::heap::PriorityQueue&lt; C &gt;</inherit><typedef id="doxygen.structboost_1_1heap_1_1MutablePriorityQueue_1a64554dd63f07f43ba2fa2949d3149bcd" name="handle_type"><type>C::handle_type</type></typedef>
<typedef name="iterator"><type>C::iterator</type></typedef>
<typedef name="const_iterator"><type>C::const_iterator</type></typedef>
<typedef name="allocator_type"><type>C::allocator_type</type></typedef>
<typedef name="value_compare"><type>C::value_compare</type></typedef>
<typedef name="value_type"><type>C::value_type</type></typedef>
<typedef name="const_reference"><type>C::const_reference</type></typedef>
<data-member id="doxygen.structboost_1_1heap_1_1MutablePriorityQueue_1a604e237c8d50f1eebc1dde8f338d70d9" name="c"><type>C</type></data-member>
<data-member id="doxygen.structboost_1_1heap_1_1MutablePriorityQueue_1a8ff1ca0144a7d865793c3b004d1b7e1d" name="equal"><type>bool</type></data-member>
<data-member id="doxygen.structboost_1_1heap_1_1MutablePriorityQueue_1a56414d3a6fff3b96a24520310ad01cbe" name="not_equal"><type>bool</type></data-member>
<method-group name="public member functions">
<method id="doxygen.structboost_1_1heap_1_1MutablePriorityQueue_1a8b5722f07acf5186c79aa188223e7a86" name="BOOST_CONCEPT_USAGE"><type/><parameter name=""><paramtype>MutablePriorityQueue</paramtype></parameter></method>
<method name="BOOST_CONCEPT_USAGE"><type/><parameter name=""><paramtype>PriorityQueue</paramtype></parameter></method>
</method-group>
</struct><struct id="doxygen.structboost_1_1heap_1_1PriorityQueue" name="PriorityQueue"><template>
      <template-type-parameter name="C"/>
    </template><inherit access="public">boost::ForwardContainer&lt; C &gt;</inherit><typedef id="doxygen.structboost_1_1heap_1_1PriorityQueue_1aa8e2a0f2d97093111cafe178a9d51fec" name="iterator"><type>C::iterator</type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1PriorityQueue_1a5f77d824f50ea703e8ffc4d10bffe091" name="const_iterator"><type>C::const_iterator</type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1PriorityQueue_1ad72b67f89d17de96f17cc9b91587319b" name="allocator_type"><type>C::allocator_type</type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1PriorityQueue_1a3fc0632042f1ab56ff798e56ff009540" name="value_compare"><type>C::value_compare</type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1PriorityQueue_1ae4eaee935baab2ff738785aaa14701cc" name="value_type"><type>C::value_type</type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1PriorityQueue_1a2c71b67ab286b7a8788560465152896f" name="const_reference"><type>C::const_reference</type></typedef>
<method-group name="public member functions">
<method id="doxygen.structboost_1_1heap_1_1PriorityQueue_1a18d49b3b666821f030c31dd4aed4c684" name="BOOST_CONCEPT_USAGE"><type/><parameter name=""><paramtype>PriorityQueue</paramtype></parameter></method>
</method-group>
</struct>
</namespace>
</namespace>
</header>
<header id="doxygen.heap__merge_8hpp" name="boost/heap/heap_merge.hpp">
<namespace name="boost">
<namespace name="heap">
<function id="doxygen.heap__merge_8hpp_1ad7a7d077deb1ad35cc580aed68e87632" name="heap_merge"><type>void</type><template>
          <template-type-parameter name="Heap1"/>
          <template-type-parameter name="Heap2"/>
        </template><parameter name="lhs"><paramtype>Heap1 &amp;</paramtype></parameter><parameter name="rhs"><paramtype>Heap2 &amp;</paramtype></parameter><description><para>merge rhs into lhs</para><para><emphasis role="bold">Effect:</emphasis> lhs contains all elements that have been part of rhs, rhs is empty. </para></description></function>
</namespace>
</namespace>
</header>
<header id="doxygen.pairing__heap_8hpp" name="boost/heap/pairing_heap.hpp">
<namespace name="boost">
<namespace name="heap">
<class id="doxygen.classboost_1_1heap_1_1pairing__heap" name="pairing_heap"><template>
      <template-type-parameter name="T"/>
      <template-nontype-parameter name="Options"><type>class...</type></template-nontype-parameter>
    </template><purpose>pairing heap </purpose><description><para>Pairing heaps are self-adjusting binary heaps. Although design and implementation are rather simple, the complexity analysis is yet unsolved. For details, consult:</para><para>Pettie, Seth (2005), "Towards a final analysis of pairing heaps", Proc. 46th Annual IEEE Symposium on Foundations of Computer Science, pp. 174-183</para><para>The template parameter T is the type to be managed by the container. The user can specify additional options and if no options are provided default options are used.</para><para>The container supports the following options:<itemizedlist>
<listitem><para><computeroutput>boost::heap::compare&lt;&gt;</computeroutput>, defaults to <computeroutput>compare&lt;std::less&lt;T&gt;</computeroutput> &gt;</para>
</listitem><listitem><para><computeroutput>boost::heap::stable&lt;&gt;</computeroutput>, defaults to <computeroutput>stable&lt;false&gt;</computeroutput> </para>
</listitem><listitem><para><computeroutput>boost::heap::stability_counter_type&lt;&gt;</computeroutput>, defaults to <computeroutput>stability_counter_type&lt;boost::uintmax_t&gt;</computeroutput> </para>
</listitem><listitem><para><computeroutput>boost::heap::allocator&lt;&gt;</computeroutput>, defaults to <computeroutput>allocator&lt;std::allocator&lt;T&gt;</computeroutput> &gt;</para>
</listitem><listitem><para><computeroutput>boost::heap::constant_time_size&lt;&gt;</computeroutput>, defaults to <computeroutput>constant_time_size&lt;true&gt;</computeroutput> </para>
</listitem></itemizedlist>
</para></description><typedef id="doxygen.classboost_1_1heap_1_1pairing__heap_1ae5a4d147bbc94a7a92791673770b6016" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1pairing__heap_1af1bc85f4176072e2e9073aa100f63c92" name="size_type"><type>implementation_defined::size_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1pairing__heap_1a909bca492c4b80530cfa2b9d00d5db77" name="difference_type"><type>implementation_defined::difference_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1pairing__heap_1af4d7414e232fd8bd4fb1a5c8e9ebc6aa" name="value_compare"><type>implementation_defined::value_compare</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1pairing__heap_1a923bcdce6fa1fb46dcf414bbeba4292a" name="allocator_type"><type>implementation_defined::allocator_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1pairing__heap_1af66599880107558cdb63f22914285fa0" name="reference"><type>implementation_defined::reference</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1pairing__heap_1a0a0885673a352b9ce3e725c9be6c7586" name="const_reference"><type>implementation_defined::const_reference</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1pairing__heap_1a0b4a53ff6b43698f437ab16e28e4d397" name="pointer"><type>implementation_defined::pointer</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1pairing__heap_1a2f226ad68c309787165939911124feb1" name="const_pointer"><type>implementation_defined::const_pointer</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1pairing__heap_1aba5e050b333fa8afb1ec4bfbcd367633" name="iterator"><description><para><emphasis role="bold">Note:</emphasis> The iterator does not traverse the priority queue in order of the priorities.    </para></description><type>implementation_defined::iterator</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1pairing__heap_1acb61414d94f5686b039e711b5d616024" name="const_iterator"><type>implementation_defined::const_iterator</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1pairing__heap_1aeab1a15544df89ce995628b0505766f3" name="ordered_iterator"><type>implementation_defined::ordered_iterator</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1pairing__heap_1ac8a250e400a42adcb004a3b104fdee25" name="handle_type"><type>implementation_defined::handle_type</type></typedef>
<data-member id="doxygen.classboost_1_1heap_1_1pairing__heap_1a43f60ff42e51d151a45af13a19d60488" name="constant_time_size" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1pairing__heap_1aa519202b7d801e1ef08c0ba5b693d889" name="has_ordered_iterators" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1pairing__heap_1acaa20b51e4511855dd28f167983121e1" name="is_mergable" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1pairing__heap_1a26e472fd0a0961dee13c3a29fb246c9c" name="is_stable" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1pairing__heap_1aeeb65390757b7f208b8ee0ba092fb805" name="has_reserve" specifiers="static"><type>const bool</type></data-member>
<method-group name="public member functions">
<constructor id="doxygen.classboost_1_1heap_1_1pairing__heap_1a66b645e6772341cab1abf7e16fcf63e5" specifiers="explicit"><parameter name="cmp"><paramtype>value_compare const &amp;</paramtype><default>value_compare()</default></parameter><description><para><emphasis role="bold">Effects:</emphasis> constructs an empty priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></constructor>
<constructor id="doxygen.classboost_1_1heap_1_1pairing__heap_1aa8f3f2e1eee8b6e65dd4b42f696ff9b1" specifiers="explicit"><parameter name="alloc"><paramtype>allocator_type const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> constructs an empty priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></constructor>
<constructor id="doxygen.classboost_1_1heap_1_1pairing__heap_1a2012dd181b76322c7a345067f51136ba"><parameter name="rhs"><paramtype><classname>pairing_heap</classname> const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> copy-constructs priority queue from rhs.</para><para><emphasis role="bold">Complexity:</emphasis> Linear.    </para></description></constructor>
<constructor id="doxygen.classboost_1_1heap_1_1pairing__heap_1a446a9b52dfd959df7f750c1459c47a5b"><parameter name="rhs"><paramtype><classname>pairing_heap</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> C++11-style move constructor.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></constructor>
<copy-assignment id="doxygen.classboost_1_1heap_1_1pairing__heap_1ae07331a2251ebfb7f73697ea09fe6b9a"><type><classname>pairing_heap</classname> &amp;</type><parameter name="rhs"><paramtype><classname>pairing_heap</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> C++11-style move assignment.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></copy-assignment>
<copy-assignment id="doxygen.classboost_1_1heap_1_1pairing__heap_1aaf7a86c8316819c82c3e828daead4967"><type><classname>pairing_heap</classname> &amp;</type><parameter name="rhs"><paramtype><classname>pairing_heap</classname> const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns priority queue from rhs.</para><para><emphasis role="bold">Complexity:</emphasis> Linear.    </para></description></copy-assignment>
<destructor id="doxygen.classboost_1_1heap_1_1pairing__heap_1aeefe20ca8768b5faec62acb58796a879"><parameter name=""><paramtype>void</paramtype></parameter></destructor>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1ab989bc574561a4866f80c491f087a8c5" name="empty" cv="const"><type>bool</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns true, if the priority queue contains no elements.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1ad78e0ae85926b808f325c565ee1f829d" name="size" cv="const"><type>size_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns the number of elements contained in the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant, if configured with constant_time_size&lt;true&gt;, otherwise linear.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1afcc762a190e289299af8fe71f1af87d6" name="max_size" cv="const"><type>size_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns the maximum number of elements the priority queue can contain.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1a057e29a6ebb87df5f7951c661cbc36b3" name="clear"><type>void</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Removes all elements from the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Linear.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1a0fcb87fedd94b6995cf1aa2640bda6bc" name="get_allocator" cv="const"><type>allocator_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns allocator.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1acca0610554c76a621bf8137ac03bed1f" name="swap"><type>void</type><parameter name="rhs"><paramtype><classname>pairing_heap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Swaps two priority queues.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1a5fb8eca5f6eaf0c0322daa5998a443ac" name="top" cv="const"><type>const_reference</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns a const_reference to the maximum element.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1a992a5da68354c957f746d9c87d596068" name="push"><type>handle_type</type><parameter name="v"><paramtype>value_type const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Adds a new element to the priority queue. Returns handle to element <emphasis role="bold">Complexity:</emphasis> 2**2*log(log(N)) (amortized). </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1a20bf9e07027aa0c04e6316004f28c7a0" name="emplace"><type>handle_type</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Adds a new element to the priority queue. The element is directly constructed in-place. Returns handle to element. <emphasis role="bold">Complexity:</emphasis> 2**2*log(log(N)) (amortized). </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1a42c11fbbfd2d29514958d0ec57456225" name="pop"><type>void</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Removes the top element from the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized). </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1a56b3cce8d1b8f1d1becd020b41d6305a" name="update"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><parameter name="v"><paramtype>const_reference</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns <computeroutput>v</computeroutput> to the element handled by <computeroutput>handle</computeroutput> &amp; updates the priority queue. <emphasis role="bold">Complexity:</emphasis> 2**2*log(log(N)) (amortized). </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1a88c5153d7580b14d6ace968203e49de0" name="update"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Updates the heap after the element handled by <computeroutput>handle</computeroutput> has been changed. <emphasis role="bold">Complexity:</emphasis> 2**2*log(log(N)) (amortized).</para><para><emphasis role="bold">Note:</emphasis> If this is not called, after a handle has been updated, the behavior of the data structure is undefined! </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1ab1171cfb66dd9fa900c84f743c2f5cd1" name="increase"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><parameter name="v"><paramtype>const_reference</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns <computeroutput>v</computeroutput> to the element handled by <computeroutput>handle</computeroutput> &amp; updates the priority queue. <emphasis role="bold">Complexity:</emphasis> 2**2*log(log(N)) (amortized).</para><para><emphasis role="bold">Note:</emphasis> The new value is expected to be greater than the current one </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1a3810324027bcbf102e635f3d92c56b5e" name="increase"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Updates the heap after the element handled by <computeroutput>handle</computeroutput> has been changed. <emphasis role="bold">Complexity:</emphasis> 2**2*log(log(N)) (amortized).</para><para><emphasis role="bold">Note:</emphasis> If this is not called, after a handle has been updated, the behavior of the data structure is undefined! </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1ad1980d75a5354009db20e296d7e0f476" name="decrease"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><parameter name="v"><paramtype>const_reference</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns <computeroutput>v</computeroutput> to the element handled by <computeroutput>handle</computeroutput> &amp; updates the priority queue. <emphasis role="bold">Complexity:</emphasis> 2**2*log(log(N)) (amortized).</para><para><emphasis role="bold">Note:</emphasis> The new value is expected to be less than the current one </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1a806f861e9ce3d7b69f8cf06d297cc28d" name="decrease"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Updates the heap after the element handled by <computeroutput>handle</computeroutput> has been changed. <emphasis role="bold">Complexity:</emphasis> 2**2*log(log(N)) (amortized).</para><para><emphasis role="bold">Note:</emphasis> The new value is expected to be less than the current one. If this is not called, after a handle has been updated, the behavior of the data structure is undefined! </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1ac0b13bdb74b222d8602a64a74e498d82" name="erase"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Removes the element handled by <computeroutput>handle</computeroutput> from the <link linkend="doxygen.classboost_1_1heap_1_1priority__queue">priority_queue</link>. <emphasis role="bold">Complexity:</emphasis> 2**2*log(log(N)) (amortized). </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1ae7f93a8236a92507a65802abe4929a0b" name="begin" cv="const"><type>iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an iterator to the first element contained in the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1a3cad10159b74bb53da7c22183c62c8ac" name="end" cv="const"><type>iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an iterator to the end of the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1a69e043c17709013e7de9848b79a1b0f1" name="ordered_begin" cv="const"><type>ordered_iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an ordered iterator to the first element contained in the priority queue.</para><para><emphasis role="bold">Note:</emphasis> Ordered iterators traverse the priority queue in heap order.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1a39e2ec344f739c9d7e39d8d9b9d7b9f1" name="ordered_end" cv="const"><type>ordered_iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an ordered iterator to the first element contained in the priority queue.</para><para><emphasis role="bold">Note:</emphasis> Ordered iterators traverse the priority queue in heap order.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1affd86bea3ec679878d13b3e0fe1299d3" name="merge"><type>void</type><parameter name="rhs"><paramtype><classname>pairing_heap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Merge all elements from rhs into this <emphasis role="bold">Complexity:</emphasis> 2**2*log(log(N)) (amortized). </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1a9636d6ef95e057d6cc6d8319c6d6e44b" name="value_comp" cv="const"><type>value_compare const &amp;</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effect:</emphasis> Returns the value_compare object used by the priority queue    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1ae37deb505241372ac1fdcf94367f4182" name="operator&lt;" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1abeb8318441476f9108e81956055d38ad" name="operator&gt;" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1a017d65b0ae584152edd3a45397c2a6ef" name="operator&gt;=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1a1d381b417452fe8e9d1a346930ef0561" name="operator&lt;=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1a169c0e9d644a87015fde328b04a9064d" name="operator==" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><purpose>Equivalent comparison <emphasis role="bold">Returns:</emphasis> True, if both heap data structures are equivalent.    </purpose><description><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1ae215b3863812e6650b99d488db6c742e" name="operator!=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><purpose>Equivalent comparison <emphasis role="bold">Returns:</emphasis> True, if both heap data structures are not equivalent.    </purpose><description><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
</method-group>
<method-group name="public static functions">
<method id="doxygen.classboost_1_1heap_1_1pairing__heap_1ac43d1d76a19bf137b8d88508c8c4e04b" name="s_handle_from_iterator" specifiers="static"><type>handle_type</type><parameter name="it"><paramtype>iterator const &amp;</paramtype></parameter></method>
</method-group>
</class>
</namespace>
</namespace>
</header>
<header id="doxygen.policies_8hpp" name="boost/heap/policies.hpp">
<namespace name="boost">
<namespace name="heap">
<struct id="doxygen.structboost_1_1heap_1_1allocator" name="allocator"><template>
      <template-type-parameter name="T"/>
    </template><purpose>Specifies allocator for the internal memory management. </purpose></struct><struct id="doxygen.structboost_1_1heap_1_1arity" name="arity"><template>
      <template-nontype-parameter name="T"><type>unsigned int</type></template-nontype-parameter>
    </template><purpose>Specify arity. </purpose><description><para>Specifies the arity of a D-ary heap </para></description></struct><struct id="doxygen.structboost_1_1heap_1_1compare" name="compare"><template>
      <template-type-parameter name="T"/>
    </template><purpose>Specifies the predicate for the heap order. </purpose></struct><struct id="doxygen.structboost_1_1heap_1_1constant__time__size" name="constant_time_size"><template>
      <template-nontype-parameter name="T"><type>bool</type></template-nontype-parameter>
    </template><purpose>Configures complexity of <computeroutput> size() </computeroutput> </purpose><description><para>Specifies, whether size() should have linear or constant complexity. </para></description></struct><struct id="doxygen.structboost_1_1heap_1_1mutable__" name="mutable_"><template>
      <template-nontype-parameter name="T"><type>bool</type></template-nontype-parameter>
    </template><purpose>Configure heap as mutable. </purpose><description><para>Certain heaps need to be configured specifically do be mutable. </para></description></struct><struct id="doxygen.structboost_1_1heap_1_1stability__counter__type" name="stability_counter_type"><template>
      <template-type-parameter name="IntType"/>
    </template><purpose>Specifies the type for stability counter. </purpose></struct><struct id="doxygen.structboost_1_1heap_1_1stable" name="stable"><template>
      <template-nontype-parameter name="T"><type>bool</type></template-nontype-parameter>
    </template><purpose>Configure a heap as <emphasis role="bold">stable</emphasis>. </purpose><description><para>A priority queue is stable, if elements with the same priority are popped from the heap, in the same order as they are inserted. </para></description></struct><struct id="doxygen.structboost_1_1heap_1_1store__parent__pointer" name="store_parent_pointer"><template>
      <template-nontype-parameter name="T"><type>bool</type></template-nontype-parameter>
    </template><purpose>Store parent pointer in heap node. </purpose><description><para>Maintaining a parent pointer adds some maintenance and size overhead, but iterating a heap is more efficient. </para></description></struct>
</namespace>
</namespace>
</header>
<header id="doxygen.priority__queue_8hpp" name="boost/heap/priority_queue.hpp">
<namespace name="boost">
<namespace name="heap">
<class id="doxygen.classboost_1_1heap_1_1priority__queue" name="priority_queue"><template>
      <template-type-parameter name="T"/>
      <template-nontype-parameter name="Options"><type>class...</type></template-nontype-parameter>
    </template><purpose>priority queue, based on stl heap functions </purpose><description><para>The <link linkend="doxygen.classboost_1_1heap_1_1priority__queue">priority_queue</link> class is a wrapper for the stl heap functions.<sbr/>
 The template parameter T is the type to be managed by the container. The user can specify additional options and if no options are provided default options are used.</para><para>The container supports the following options:<itemizedlist>
<listitem><para><computeroutput>boost::heap::compare&lt;&gt;</computeroutput>, defaults to <computeroutput>compare&lt;std::less&lt;T&gt;</computeroutput> &gt;</para>
</listitem><listitem><para><computeroutput>boost::heap::stable&lt;&gt;</computeroutput>, defaults to <computeroutput>stable&lt;false&gt;</computeroutput> </para>
</listitem><listitem><para><computeroutput>boost::heap::stability_counter_type&lt;&gt;</computeroutput>, defaults to <computeroutput>stability_counter_type&lt;boost::uintmax_t&gt;</computeroutput> </para>
</listitem><listitem><para><computeroutput>boost::heap::allocator&lt;&gt;</computeroutput>, defaults to <computeroutput>allocator&lt;std::allocator&lt;T&gt;</computeroutput> &gt; </para>
</listitem></itemizedlist>
</para></description><typedef id="doxygen.classboost_1_1heap_1_1priority__queue_1a68a17b6d07988e20f26de9f9ffa026ce" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1priority__queue_1aebcc00a83592d270dcfc25ec1aa7f02e" name="size_type"><type>implementation_defined::size_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1priority__queue_1a9f6e5136d911912f4ce9086c03bf8c8c" name="difference_type"><type>implementation_defined::difference_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1priority__queue_1ac3fee27f418acbda86c5f0cbc7067fb4" name="value_compare"><type>implementation_defined::value_compare</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1priority__queue_1ad9670d349fff1f8eef97cc536f333082" name="allocator_type"><type>implementation_defined::allocator_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1priority__queue_1a0b74bb500e64d91147f0ecc2699ea6a5" name="reference"><type>implementation_defined::reference</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1priority__queue_1afcf2b30b9c8362f7fbab0c71cd85589d" name="const_reference"><type>implementation_defined::const_reference</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1priority__queue_1a90bb9cf7fac5698573a201e43f065d7b" name="pointer"><type>implementation_defined::pointer</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1priority__queue_1a0fcd935edb2c862501f5e326a294d453" name="const_pointer"><type>implementation_defined::const_pointer</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1priority__queue_1a20ce2e7fa828e0b686498088f1d01c69" name="iterator"><description><para><emphasis role="bold">Note:</emphasis> The iterator does not traverse the priority queue in order of the priorities. </para></description><type>implementation_defined::iterator</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1priority__queue_1acaac038b943eb9729bdf76e4dd65892e" name="const_iterator"><type>implementation_defined::const_iterator</type></typedef>
<data-member id="doxygen.classboost_1_1heap_1_1priority__queue_1af9f237281af293cb6bc069725e200eb6" name="constant_time_size" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1priority__queue_1aa9d29fbc8da9a5cc44ca4704a4c5608f" name="has_ordered_iterators" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1priority__queue_1ace56a3b900cce971b0449e1b145f2f59" name="is_mergable" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1priority__queue_1a336986936953f885178d5574946682b5" name="is_stable" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1priority__queue_1a052de35ee43c51f0faf50cb48515dbf3" name="has_reserve" specifiers="static"><type>const bool</type></data-member>
<method-group name="public member functions">
<constructor id="doxygen.classboost_1_1heap_1_1priority__queue_1abe3beb3d489d39ebf0fbc9260d5c41c4" specifiers="explicit"><parameter name="cmp"><paramtype>value_compare const &amp;</paramtype><default>value_compare()</default></parameter><description><para><emphasis role="bold">Effects:</emphasis> constructs an empty priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant. </para></description></constructor>
<constructor id="doxygen.classboost_1_1heap_1_1priority__queue_1a3842e04bf95e261260aa3dedc5ce019e" specifiers="explicit"><parameter name="alloc"><paramtype>allocator_type const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> constructs an empty priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant. </para></description></constructor>
<constructor id="doxygen.classboost_1_1heap_1_1priority__queue_1a62f46d7cc19d697e808e6efc6c4e5e28"><parameter name="rhs"><paramtype><classname>priority_queue</classname> const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> copy-constructs priority queue from rhs.</para><para><emphasis role="bold">Complexity:</emphasis> Linear. </para></description></constructor>
<constructor id="doxygen.classboost_1_1heap_1_1priority__queue_1a69c9996f8ef155dfb021e3f7b97c9e6e"><parameter name="rhs"><paramtype><classname>priority_queue</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> C++11-style move constructor.</para><para><emphasis role="bold">Complexity:</emphasis> Constant. </para></description></constructor>
<copy-assignment id="doxygen.classboost_1_1heap_1_1priority__queue_1ad786cc1c619d4b9aadd26e257a74ab19"><type><classname>priority_queue</classname> &amp;</type><parameter name="rhs"><paramtype><classname>priority_queue</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> C++11-style move assignment.</para><para><emphasis role="bold">Complexity:</emphasis> Constant. </para></description></copy-assignment>
<copy-assignment id="doxygen.classboost_1_1heap_1_1priority__queue_1ae5554e7af33d842d33c1739e76461f17"><type><classname>priority_queue</classname> &amp;</type><parameter name="rhs"><paramtype><classname>priority_queue</classname> const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns priority queue from rhs.</para><para><emphasis role="bold">Complexity:</emphasis> Linear. </para></description></copy-assignment>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1a1ead627e71be721c89cc5670c0ba7bb2" name="empty" cv="const noexcept"><type>bool</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns true, if the priority queue contains no elements.</para><para><emphasis role="bold">Complexity:</emphasis> Constant. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1abc94615ad576b3c99aa26043a5459db4" name="size" cv="const noexcept"><type>size_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns the number of elements contained in the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1a7dfbcacce4e4d24344d570460bdf9c66" name="max_size" cv="const noexcept"><type>size_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns the maximum number of elements the priority queue can contain.</para><para><emphasis role="bold">Complexity:</emphasis> Constant. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1a06a1f6b714db6c2e7d2d788a7b3166d1" name="clear" cv="noexcept"><type>void</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Removes all elements from the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Linear. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1a11f7330460490930c557ce84df029615" name="get_allocator" cv="const"><type>allocator_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns allocator.</para><para><emphasis role="bold">Complexity:</emphasis> Constant. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1a5855c7b3f23da91e57a5baf9f76548a7" name="top" cv="const"><type>const_reference</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns a const_reference to the maximum element.</para><para><emphasis role="bold">Complexity:</emphasis> Constant. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1a78f740a0544f237b16766ed75e89f88d" name="push"><type>void</type><parameter name="v"><paramtype>value_type const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Adds a new element to the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized). Linear (worst case). </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1a82aec034403c15b5b796e148e321e347" name="emplace"><type>void</type><template>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Adds a new element to the priority queue. The element is directly constructed in-place.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized). Linear (worst case). </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1a81af62c9bb0165757ba2d050eea43e77" name="pop"><type>void</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Removes the top element from the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized). Linear (worst case). </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1aa00d3c98a039dd0ae9e36d86763579f0" name="swap"><type>void</type><parameter name="rhs"><paramtype><classname>priority_queue</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Swaps two priority queues.</para><para><emphasis role="bold">Complexity:</emphasis> Constant. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1ad770cb9d1e64e95139ab09817d74987a" name="begin" cv="const noexcept"><type>iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an iterator to the first element contained in the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1abb60431bbb5567fc1e10bd1d352806ef" name="end" cv="const noexcept"><type>iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an iterator to the end of the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1ab1c641c1afc929f259b8dd826043b044" name="reserve"><type>void</type><parameter name="element_count"><paramtype>size_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Reserves memory for element_count elements</para><para><emphasis role="bold">Complexity:</emphasis> Linear.</para><para><emphasis role="bold">Node:</emphasis> Invalidates iterators </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1a6203e045ac596b508be7b62929cb396a" name="value_comp" cv="const"><type>value_compare const &amp;</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effect:</emphasis> Returns the value_compare object used by the priority queue </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1a5e545de2b14d0e99c565eac348b84a91" name="operator&lt;" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1a5254217a8e8763ceba45d48ce9bea95a" name="operator&gt;" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1affa6ff6050324a406dbc9b091d885113" name="operator&gt;=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1a74cea358167795d48b8d42649a2b3086" name="operator&lt;=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1a646cf066ee065361ce415b5123b34724" name="operator==" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><purpose>Equivalent comparison <emphasis role="bold">Returns:</emphasis> True, if both heap data structures are equivalent. </purpose><description><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match. </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1priority__queue_1a7c03677f0fa76b5a53130de077f05821" name="operator!=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><purpose>Equivalent comparison <emphasis role="bold">Returns:</emphasis> True, if both heap data structures are not equivalent. </purpose><description><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match. </para></description></method>
</method-group>
</class>
</namespace>
</namespace>
</header>
<header id="doxygen.skew__heap_8hpp" name="boost/heap/skew_heap.hpp">
<namespace name="boost">
<namespace name="heap">
<class id="doxygen.classboost_1_1heap_1_1skew__heap" name="skew_heap"><template>
      <template-type-parameter name="T"/>
      <template-nontype-parameter name="Options"><type>class...</type></template-nontype-parameter>
    </template><purpose>skew heap </purpose><description><para>The template parameter T is the type to be managed by the container. The user can specify additional options and if no options are provided default options are used.</para><para>The container supports the following options:<itemizedlist>
<listitem><para><computeroutput>boost::heap::compare&lt;&gt;</computeroutput>, defaults to <computeroutput>compare&lt;std::less&lt;T&gt;</computeroutput> &gt;</para>
</listitem><listitem><para><computeroutput>boost::heap::stable&lt;&gt;</computeroutput>, defaults to <computeroutput>stable&lt;false&gt;</computeroutput> </para>
</listitem><listitem><para><computeroutput>boost::heap::stability_counter_type&lt;&gt;</computeroutput>, defaults to <computeroutput>stability_counter_type&lt;boost::uintmax_t&gt;</computeroutput> </para>
</listitem><listitem><para><computeroutput>boost::heap::allocator&lt;&gt;</computeroutput>, defaults to <computeroutput>allocator&lt;std::allocator&lt;T&gt;</computeroutput> &gt;</para>
</listitem><listitem><para><computeroutput>boost::heap::constant_time_size&lt;&gt;</computeroutput>, defaults to <computeroutput>constant_time_size&lt;true&gt;</computeroutput> </para>
</listitem><listitem><para><computeroutput>boost::heap::store_parent_pointer&lt;&gt;</computeroutput>, defaults to <computeroutput>store_parent_pointer&lt;true&gt;</computeroutput>. Maintaining a parent pointer adds some maintenance and size overhead, but iterating a heap is more efficient.</para>
</listitem><listitem><para><computeroutput>boost::heap::mutable&lt;&gt;</computeroutput>, defaults to <computeroutput>mutable&lt;false&gt;</computeroutput>. </para>
</listitem></itemizedlist>
</para></description><struct id="doxygen.structboost_1_1heap_1_1skew__heap_1_1implementation__defined" name="implementation_defined"><typedef id="doxygen.structboost_1_1heap_1_1skew__heap_1_1implementation__defined_1a5902be43bbb71b4b309a2fd53ded107c" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1skew__heap_1_1implementation__defined_1ad864ed8b1bf70b26135705cbd60a654e" name="value_compare"><type>base_maker::compare_argument</type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1skew__heap_1_1implementation__defined_1a2628b48332d1e1f78aff253741dde922" name="allocator_type"><type>base_maker::allocator_type</type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1skew__heap_1_1implementation__defined_1a3b91d931fbd4421062eff17cd9fdba7e" name="node"><type>base_maker::node_type</type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1skew__heap_1_1implementation__defined_1a026b77399ab42f276d6944e14dcbf3cc" name="node_pointer"><type>boost::allocator_pointer&lt; allocator_type &gt;::type</type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1skew__heap_1_1implementation__defined_1a4c4006c2759286597a746fbb18109154" name="const_node_pointer"><type>boost::allocator_const_pointer&lt; allocator_type &gt;::type</type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1skew__heap_1_1implementation__defined_1a832dde17c4f6a9f56e8e773584b01504" name="value_extractor"><type><emphasis>unspecified</emphasis></type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1skew__heap_1_1implementation__defined_1a7aa0a2632c069fb12d817527c16aaebe" name="child_list_type"><type>std::array&lt; node_pointer, 2 &gt;</type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1skew__heap_1_1implementation__defined_1a3f3cfa61d58015633b2d411b784a129f" name="child_list_iterator"><type>child_list_type::iterator</type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1skew__heap_1_1implementation__defined_1a9e67ad47635363d8d19f46bff0e18fe7" name="iterator"><type><emphasis>unspecified</emphasis></type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1skew__heap_1_1implementation__defined_1a0f401e49170e6bfdbf3d82895158b6b7" name="const_iterator"><type>iterator</type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1skew__heap_1_1implementation__defined_1a92a6d95d2b88fe42be301da6f285f84e" name="ordered_iterator"><type><emphasis>unspecified</emphasis></type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1skew__heap_1_1implementation__defined_1a6d1e8b1653116cdd4158e30029a68ef5" name="reference"><type><emphasis>unspecified</emphasis></type></typedef>
<typedef id="doxygen.structboost_1_1heap_1_1skew__heap_1_1implementation__defined_1a0199f970da3b55231f3914e1fe8746e0" name="handle_type"><type><emphasis>unspecified</emphasis></type></typedef>
</struct><typedef id="doxygen.classboost_1_1heap_1_1skew__heap_1ac0c6610d563ab15e30f781213ebc37e1" name="value_type"><type>T</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1skew__heap_1aecafee7d580869adeb43bda226345e93" name="size_type"><type>implementation_defined::size_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1skew__heap_1a50a5a75068d510e00379cb2f95628f12" name="difference_type"><type>implementation_defined::difference_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1skew__heap_1a8e9335a933f937dd74d12053bea34a9d" name="value_compare"><type>implementation_defined::value_compare</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1skew__heap_1a3d34270ba176e792e6b345d98c071917" name="allocator_type"><type>implementation_defined::allocator_type</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1skew__heap_1a863f07986ded5fa62f5368079b56619e" name="reference"><type>implementation_defined::reference</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1skew__heap_1a84d08b34de8d06026a39530982d3866d" name="const_reference"><type>implementation_defined::const_reference</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1skew__heap_1a7b2df8b343aabe5a62c75918293b30fe" name="pointer"><type>implementation_defined::pointer</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1skew__heap_1a191711ff75b98ec8c3af26d462fcc8fc" name="const_pointer"><type>implementation_defined::const_pointer</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1skew__heap_1a2e54a707f2c57333db1b3038fe685dbb" name="iterator"><description><para><emphasis role="bold">Note:</emphasis> The iterator does not traverse the priority queue in order of the priorities.    </para></description><type>implementation_defined::iterator</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1skew__heap_1a3d32bf67bb48a8f4bf7fa81d2c09c6f6" name="const_iterator"><type>implementation_defined::const_iterator</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1skew__heap_1a6a446af3d7b7a23fd456f8ab1db658d2" name="ordered_iterator"><type>implementation_defined::ordered_iterator</type></typedef>
<typedef id="doxygen.classboost_1_1heap_1_1skew__heap_1adad4691088e365681da4ae0f02395b7e" name="handle_type"><type>std::conditional&lt; is_mutable, typenameimplementation_defined::handle_type, void * &gt;::type</type></typedef>
<data-member id="doxygen.classboost_1_1heap_1_1skew__heap_1a640906d43348133668df3c27405df6bd" name="constant_time_size" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1skew__heap_1ae9e1943432763a855555714cc7fcd1b9" name="has_ordered_iterators" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1skew__heap_1a797b6614fd9b6509a06eba3a80e161c3" name="is_mergable" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1skew__heap_1aef3c79c3d8d8e9e333be6582e562d9c8" name="is_stable" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1skew__heap_1ab523780be9b8e5192d7a287ad7266a5f" name="has_reserve" specifiers="static"><type>const bool</type></data-member>
<data-member id="doxygen.classboost_1_1heap_1_1skew__heap_1a296e11e3c8a08551bcf24f371663892c" name="is_mutable" specifiers="static"><type>const bool</type></data-member>
<method-group name="public member functions">
<constructor id="doxygen.classboost_1_1heap_1_1skew__heap_1acfe41e4aee0124558bad73194a24bc5f" specifiers="explicit"><parameter name="cmp"><paramtype>value_compare const &amp;</paramtype><default>value_compare()</default></parameter><description><para><emphasis role="bold">Effects:</emphasis> constructs an empty priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></constructor>
<constructor id="doxygen.classboost_1_1heap_1_1skew__heap_1adcf33f37a0fe740fb15edc1ac8f9488b" specifiers="explicit"><parameter name="alloc"><paramtype>allocator_type const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> constructs an empty priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></constructor>
<constructor id="doxygen.classboost_1_1heap_1_1skew__heap_1ab32c098fd24e6869bee6f4b077deca03"><parameter name="rhs"><paramtype><classname>skew_heap</classname> const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> copy-constructs priority queue from rhs.</para><para><emphasis role="bold">Complexity:</emphasis> Linear.    </para></description></constructor>
<copy-assignment id="doxygen.classboost_1_1heap_1_1skew__heap_1a361c7a360f50ad2dcdf3f24cf061b197"><type><classname>skew_heap</classname> &amp;</type><parameter name="rhs"><paramtype><classname>skew_heap</classname> const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns priority queue from rhs.</para><para><emphasis role="bold">Complexity:</emphasis> Linear.    </para></description></copy-assignment>
<constructor id="doxygen.classboost_1_1heap_1_1skew__heap_1adc9abead98ff0c683b718831e4102f95"><parameter name="rhs"><paramtype><classname>skew_heap</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> C++11-style move constructor.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></constructor>
<copy-assignment id="doxygen.classboost_1_1heap_1_1skew__heap_1abba669c712b36885e1e23fef863497cf"><type><classname>skew_heap</classname> &amp;</type><parameter name="rhs"><paramtype><classname>skew_heap</classname> &amp;&amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> C++11-style move assignment.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></copy-assignment>
<destructor id="doxygen.classboost_1_1heap_1_1skew__heap_1a9cbd32cf21b1a50b8b8711f94d69c63f"><parameter name=""><paramtype>void</paramtype></parameter></destructor>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1aac1a2c9fa02f84376b3cc51a92841608" name="push"><type>std::conditional&lt; is_mutable, handle_type, void &gt;::type</type><parameter name="v"><paramtype>value_type const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Adds a new element to the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized). </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1a4814e35c10e66d66eb0a55a908d3d85f" name="emplace"><type>std::conditional&lt; is_mutable, handle_type, void &gt;::type</type><template>
          <template-nontype-parameter name="Args"><type>typename...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Adds a new element to the priority queue. The element is directly constructed in-place.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized). </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1aebdc6e059d3505c8c688c60e96f9f26e" name="empty" cv="const"><type>bool</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns true, if the priority queue contains no elements.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1a96a37ebad70d7270f8412575008d3010" name="size" cv="const"><type>size_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns the number of elements contained in the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant, if configured with constant_time_size&lt;true&gt;, otherwise linear.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1a92ebccbbaded73f9416b6c8626a5a408" name="max_size" cv="const"><type>size_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns the maximum number of elements the priority queue can contain.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1a67a761c708ecdedd863c27ecae9902b7" name="clear"><type>void</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Removes all elements from the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Linear.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1a76c5705bbcbb07404a4dc2d9644c6efb" name="get_allocator" cv="const"><type>allocator_type</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns allocator.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1a47592c1fb92c8129ab29fadf93cf1551" name="swap"><type>void</type><parameter name="rhs"><paramtype><classname>skew_heap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Swaps two priority queues.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1a7045f6153d278ccfd7436e3231930f9d" name="top" cv="const"><type>const_reference</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns a const_reference to the maximum element.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1ae44ef23cc9e699196b620f99826ac36d" name="pop"><type>void</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Removes the top element from the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized). </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1adb00fa64dd60e3b45a1f5874fae5cc76" name="begin" cv="const"><type>iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an iterator to the first element contained in the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1a2c9e4db58325ddb62c725378593690ee" name="end" cv="const"><type>iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an iterator to the end of the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1adc96834bd5b0415f4d5e377a054960fc" name="ordered_begin" cv="const"><type>ordered_iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an ordered iterator to the first element contained in the priority queue.</para><para><emphasis role="bold">Note:</emphasis> Ordered iterators traverse the priority queue in heap order.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1a1c8f208efe809d4891b8087f5877b3cc" name="ordered_end" cv="const"><type>ordered_iterator</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Returns an ordered iterator to the first element contained in the priority queue.</para><para><emphasis role="bold">Note:</emphasis> Ordered iterators traverse the priority queue in heap order.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1af008756837e3192c5489e8ddc0adb83a" name="merge"><type>void</type><parameter name="rhs"><paramtype><classname>skew_heap</classname> &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Merge all elements from rhs into this</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized). </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1a5fb98c4e1c23fbfb92c1e97df349add6" name="value_comp" cv="const"><type>value_compare const &amp;</type><parameter name=""><paramtype>void</paramtype></parameter><description><para><emphasis role="bold">Effect:</emphasis> Returns the value_compare object used by the priority queue    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1a69d4fe228b5c6e2431e4cf142f2fe79b" name="operator&lt;" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1a9cd8f1faf53afd5893e997aafc95a4a1" name="operator&gt;" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1ae41aaea06e0f8a89caea103533951cf7" name="operator&gt;=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1a3eb8e87f45cb51f7c2ff983e42cefa14" name="operator&lt;=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><description><para><emphasis role="bold">Returns:</emphasis> Element-wise comparison of heap data structures</para><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1a3f79ebaf5a5f1f0ca11a00b65f7f4ec2" name="operator==" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><purpose>Equivalent comparison <emphasis role="bold">Returns:</emphasis> True, if both heap data structures are equivalent.    </purpose><description><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1ad8e6aa847ee32a49bf49fa8cf272495c" name="operator!=" cv="const"><type>bool</type><template>
          <template-type-parameter name="HeapType"/>
        </template><parameter name="rhs"><paramtype>HeapType const &amp;</paramtype></parameter><purpose>Equivalent comparison <emphasis role="bold">Returns:</emphasis> True, if both heap data structures are not equivalent.    </purpose><description><para><emphasis role="bold">Requirement:</emphasis> the <computeroutput>value_compare</computeroutput> object of both heaps must match.    </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1afcb6551a44bb3900e1e249b5885bb4eb" name="erase"><type>void</type><parameter name="object"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Removes the element handled by <computeroutput>handle</computeroutput> from the <link linkend="doxygen.classboost_1_1heap_1_1priority__queue">priority_queue</link>.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized). </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1aa2ddaed08b1219c22ce666b6c0d15c2c" name="update"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><parameter name="v"><paramtype>const_reference</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns <computeroutput>v</computeroutput> to the element handled by <computeroutput>handle</computeroutput> &amp; updates the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized). </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1a92dfff16a1bd9ae18e81eb6117d24c87" name="update"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Updates the heap after the element handled by <computeroutput>handle</computeroutput> has been changed.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized).</para><para><emphasis role="bold">Note:</emphasis> If this is not called, after a handle has been updated, the behavior of the data structure is undefined! </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1ada94f22872b33cb559256ecad77546ec" name="increase"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><parameter name="v"><paramtype>const_reference</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns <computeroutput>v</computeroutput> to the element handled by <computeroutput>handle</computeroutput> &amp; updates the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized).</para><para><emphasis role="bold">Note:</emphasis> The new value is expected to be greater than the current one </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1a17471c10c36105ebe1cf59563555e280" name="increase"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Updates the heap after the element handled by <computeroutput>handle</computeroutput> has been changed.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized).</para><para><emphasis role="bold">Note:</emphasis> If this is not called, after a handle has been updated, the behavior of the data structure is undefined! </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1a1659a274b82f2d3c1cfcf3075831746a" name="decrease"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><parameter name="v"><paramtype>const_reference</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Assigns <computeroutput>v</computeroutput> to the element handled by <computeroutput>handle</computeroutput> &amp; updates the priority queue.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized).</para><para><emphasis role="bold">Note:</emphasis> The new value is expected to be less than the current one </para></description></method>
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1ac8b453a9c4766203082332eb70a7321f" name="decrease"><type>void</type><parameter name="handle"><paramtype>handle_type</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Updates the heap after the element handled by <computeroutput>handle</computeroutput> has been changed.</para><para><emphasis role="bold">Complexity:</emphasis> Logarithmic (amortized).</para><para><emphasis role="bold">Note:</emphasis> The new value is expected to be less than the current one. If this is not called, after a handle has been updated, the behavior of the data structure is undefined! </para></description></method>
</method-group>
<method-group name="public static functions">
<method id="doxygen.classboost_1_1heap_1_1skew__heap_1af8e3130270891cba6b8c9e81e3e1f40c" name="s_handle_from_iterator" specifiers="static"><type>handle_type</type><parameter name="it"><paramtype>iterator const &amp;</paramtype></parameter><description><para><emphasis role="bold">Effects:</emphasis> Casts an iterator to a node handle.</para><para><emphasis role="bold">Complexity:</emphasis> Constant.</para><para><emphasis role="bold">Requirement:</emphasis> data structure must be configured as mutable    </para></description></method>
</method-group>
</class>
</namespace>
</namespace>
</header>
</library-reference>