__GNU_PBDS::DETAIL::PAIRING_HEAP(3cxx)
bestie, you've pulled up the libstdc++ manual page for __gnu_pbds::detail::pairing_heap< Value_Type, Cmp_Fn, _Alloc > β manual section 3cxx, and yes it's exactly as niche as it sounds. π
β¨ NAME β¨
__gnu_pbds::detail::pairing_heap< Value_Type, Cmp_Fn, _Alloc > β that's the whole name, no cap. π«Ά
πΈ SYNOPSIS πΈ
#include <pairing_heap_.hpp>
This class Inherits __gnu_pbds::detail::left_child_next_sibling_heap< Value_Type, Cmp_Fn, null_type, _Alloc >.
π Public Types π
typedef _Alloc allocator_typeβ theallocator_typetypedef, periodt.typedef Cmp_Fn cmp_fnβ yep,cmp_fn.typedef base_type::const_iterator const_iteratorβ theconst_iteratortypedef.typedef __rebind_a::const_pointer const_pointerβconst_pointer, exactly as written.typedef __rebind_a::const_reference const_referenceβ theconst_referencetypedef.typedef _Alloc::difference_type difference_typeβdifference_type, lowkey iconic.typedef base_type::iterator iteratorβ theiteratortypedef.typedef left_child_next_sibling_heap_node_< Value_Type, null_type, _Alloc > nodeβ long name, big energy:node.typedef base_type::point_const_iterator point_const_iteratorβpoint_const_iterator, bestie.typedef base_type::point_iterator point_iteratorβ thepoint_iteratortypedef.typedef __rebind_a::pointer pointerβpointer, slay.typedef __rebind_a::reference referenceβ thereferencetypedef.typedef _Alloc::size_type size_typeβsize_type, fr fr.typedef Value_Type value_typeβ andvalue_type, obviously.
π Public Member Functions π
pairing_heap (const Cmp_Fn &)β the constructor that takesconst Cmp_Fn &.pairing_heap (const pairing_heap &)β the copy constructor, copy constructor.iterator begin ()β the non-constbegin ().const_iterator begin () constβ the constbegin () const.void clear ()βclear (), exactly.bool empty () constβempty () const, a whole mood.iterator end ()β the non-constend ().const_iterator end () constβ the constend () const.void erase (point_iterator)βerase (point_iterator).template<typename Pred > size_type erase_if (Pred)β the templateerase_if (Pred), withsize_typeon the return.Cmp_Fn & get_cmp_fn ()β the non-constget_cmp_fn ().const Cmp_Fn & get_cmp_fn () constβ the constget_cmp_fn () const.void join (pairing_heap &)βjoin (pairing_heap &).size_type max_size () constβmax_size () const.void modify (point_iterator, const_reference)βmodify (point_iterator, const_reference).void pop ()βpop (), no notes, just vibes.point_iterator push (const_reference)βpush (const_reference).size_type size () constβsize () const.template<typename Pred > void split (Pred, pairing_heap &)β the templatesplit (Pred, pairing_heap &).void swap (left_child_next_sibling_heap< Value_Type, Cmp_Fn, null_type, _Alloc > &)β theswapthat takes aleft_child_next_sibling_heap< Value_Type, Cmp_Fn, null_type, _Alloc > &.void swap (pairing_heap &)β theswapthat takes apairing_heap &.const_reference top () constβtop () const, and that's the list. π
π¦ Protected Types π¦
typedef alloc_traits::allocator_type node_allocatorβnode_allocator.typedef alloc_traits::const_pointer node_const_pointerβnode_const_pointer.typedef null_type node_metadataβnode_metadata, important little detail.typedef std::pair< node_pointer, node_pointer > node_pointer_pairβnode_pointer_pair, a wholestd::pair< node_pointer, node_pointer >.
π Protected Member Functions π
void actual_erase_node (node_pointer)βactual_erase_node (node_pointer).void bubble_to_top (node_pointer)βbubble_to_top (node_pointer).void clear_imp (node_pointer)βclear_imp (node_pointer).template<typename It > void copy_from_range (It, It)β the templatecopy_from_range (It, It).node_pointer get_new_node_for_insert (const_reference)βget_new_node_for_insert (const_reference).node_pointer prune (Pred)βprune (Pred).void swap_with_parent (node_pointer, node_pointer)βswap_with_parent (node_pointer, node_pointer).void to_linked_list ()βto_linked_list ().void value_swap (left_child_next_sibling_heap &)βvalue_swap (left_child_next_sibling_heap &).
β Static Protected Member Functions β
static void make_child_of (node_pointer, node_pointer)βmake_child_of (node_pointer, node_pointer), static and protected.static node_pointer parent (node_pointer)βparent (node_pointer), also static and protected.
π Protected Attributes π
node_pointer m_p_rootβ them_p_rootattribute.size_type m_sizeβ andm_size, bestie.
π Detailed Description π
template<typename Value_Type, typename Cmp_Fn, typename _Alloc>
class __gnu_pbds::detail::pairing_heap< Value_Type, Cmp_Fn, _Alloc
>"Pairing heap.
That's the whole detailed description β "Pairing heap. and all. Yes, the quote is literally in there, iykyk. π
π Author π
Generated automatically by Doxygen for libstdc++ from the source code.
okay that's the whole page, bestie! source/version: libstdc++; footer/manual: 3cxx; date: not shown on this page, so here's your cute sign-off from the source code. π«Άπ
π¦ where this page comes from
- ubuntu noble: libstdc++-14-doc 14-20240412-0ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms