__GNU_PBDS::DETAIL::BINOMIAL_HEAP_BASE(3cxx)
π __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc > π
okay bestie, welcome to the 3cxx manual page for this template. She's the base class for binomial heap, and she's giving template realness with Value_Type, Cmp_Fn, and _Alloc. slay β¨
πΈ NAME πΈ
__gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc > β Base class for binomial heap. periodt π
β¨ SYNOPSIS β¨
the include is literally:
#include <binomial_heap_base_.hpp>
Inherits __gnu_pbds::detail::left_child_next_sibling_heap< Value_Type, Cmp_Fn, _Alloc::size_type, _Alloc >.
Inherited by __gnu_pbds::detail::binomial_heap< Value_Type, Cmp_Fn, _Alloc >, and __gnu_pbds::detail::rc_binomial_heap< Value_Type, Cmp_Fn, _Alloc >. π«Ά
π«Ά Public Types π«Ά
these are the type aliases, no cap:
typedef _Alloc allocator_typeβ allocator type bestietypedef Cmp_Fn cmp_fnβ comparator typetypedef base_type::const_iterator const_iteratorβ const iterator typetypedef __rebind_v::const_pointer const_pointerβ const pointer typetypedef __rebind_v::const_reference const_referenceβ const reference typetypedef _Alloc::difference_type difference_typeβ difference typetypedef base_type::iterator iteratorβ iterator typetypedef base_type::point_const_iterator point_const_iteratorβ point const iterator typetypedef base_type::point_iterator point_iteratorβ point iterator typetypedef __rebind_v::pointer pointerβ pointer typetypedef __rebind_v::reference referenceβ reference typetypedef _Alloc::size_type size_typeβ size typetypedef Value_Type value_typeβ value type
π Public Member Functions π
every single one, in order, because we don't skip:
iterator begin ()β begin iterator, non-constconst_iterator begin () constβ begin iterator, constvoid clear ()β theclearonebool empty () constβ theemptycheckiterator end ()β end iterator, non-constconst_iterator end () constβ end iterator, constvoid erase (point_iterator)β erase via apoint_iteratortemplate<typename Pred > size_type erase_if (Pred)β erase-if template withPredCmp_Fn & get_cmp_fn ()β grab the comparator, non-constconst Cmp_Fn & get_cmp_fn () constβ grab the comparator, constvoid join (binomial_heap_base< Value_Type, Cmp_Fn, _Alloc > &)β join with anotherbinomial_heap_base< Value_Type, Cmp_Fn, _Alloc > &size_type max_size () constβ themax_sizeonevoid modify (point_iterator, const_reference)β modify withpoint_iteratorandconst_referencevoid pop ()β thepoponepoint_iterator push (const_reference)β push aconst_referencesize_type size () constβ thesizeonetemplate<typename Pred > void split (Pred, binomial_heap_base< Value_Type, Cmp_Fn, _Alloc > &)β split template withPredand anotherbinomial_heap_base< Value_Type, Cmp_Fn, _Alloc > &void swap (left_child_next_sibling_heap< Value_Type, Cmp_Fn, _Alloc::size_type, _Alloc > &)β swap withleft_child_next_sibling_heap< Value_Type, Cmp_Fn, _Alloc::size_type, _Alloc > &const_reference top () constβ peek theconst_referencetop
π Protected Types π
typedef base_type::node nodeβ node typetypedef alloc_traits::allocator_type node_allocatorβ node allocatortypedef base_type::node_const_pointer node_const_pointerβ const node pointertypedef _Alloc::size_type node_metadataβ node metadatatypedef base_type::node_pointer node_pointerβ node pointertypedef std::pair< node_pointer, node_pointer > node_pointer_pairβ pair of node pointers
π§ Protected Member Functions π§
binomial_heap_base (const binomial_heap_base< Value_Type, Cmp_Fn, _Alloc > &)β constructor takingconst binomial_heap_base< Value_Type, Cmp_Fn, _Alloc > &binomial_heap_base (const Cmp_Fn &)β constructor takingconst Cmp_Fn &void actual_erase_node (node_pointer)β theactual_erase_nodeonevoid bubble_to_top (node_pointer)β thebubble_to_toponevoid clear_imp (node_pointer)β theclear_imponetemplate<typename It > void copy_from_range (It, It)β copy-from-range template withItvoid find_max ()β thefind_maxonenode_pointer get_new_node_for_insert (const_reference)β get a new node for insert fromconst_referencenode_pointer prune (Pred)β prune withPredvoid swap (binomial_heap_base< Value_Type, Cmp_Fn, _Alloc > &)β swap withbinomial_heap_base< Value_Type, Cmp_Fn, _Alloc > &void swap_with_parent (node_pointer, node_pointer)β swap with parent using twonode_pointersvoid to_linked_list ()β theto_linked_listonevoid value_swap (left_child_next_sibling_heap &)β value-swap withleft_child_next_sibling_heap &
π Static Protected Member Functions π
static void make_child_of (node_pointer, node_pointer)β staticmake_child_ofhelper with twonode_pointersstatic node_pointer parent (node_pointer)β staticparenthelper withnode_pointer
π Protected Attributes π
node_pointer m_p_maxβ them_p_maxnode pointernode_pointer m_p_rootβ them_p_rootnode pointersize_type m_sizeβ them_sizesize type
π Detailed Description π
the template declaration is literally:
template<typename Value_Type, typename Cmp_Fn, typename _Alloc>
class __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >"Base class for binomial heap.
and the whole mood is: Base class for binomial heap. iconic, honestly.
β¨ Author β¨
Generated automatically by Doxygen for libstdc++ from the source code.
Signed off with forehead kisses π from the 3cxx manual and libstdc++, generated automatically by Doxygen from the source code β date? this page doesn't list one, bestie, so that's the whole footer tea. π«Άβ¨
π¦ 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