__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 bestie
  • typedef Cmp_Fn cmp_fn β€” comparator type
  • typedef base_type::const_iterator const_iterator β€” const iterator type
  • typedef __rebind_v::const_pointer const_pointer β€” const pointer type
  • typedef __rebind_v::const_reference const_reference β€” const reference type
  • typedef _Alloc::difference_type difference_type β€” difference type
  • typedef base_type::iterator iterator β€” iterator type
  • typedef base_type::point_const_iterator point_const_iterator β€” point const iterator type
  • typedef base_type::point_iterator point_iterator β€” point iterator type
  • typedef __rebind_v::pointer pointer β€” pointer type
  • typedef __rebind_v::reference reference β€” reference type
  • typedef _Alloc::size_type size_type β€” size type
  • typedef Value_Type value_type β€” value type

πŸ’… Public Member Functions πŸ’…

every single one, in order, because we don't skip:

  • iterator begin () β€” begin iterator, non-const
  • const_iterator begin () const β€” begin iterator, const
  • void clear () β€” the clear one
  • bool empty () const β€” the empty check
  • iterator end () β€” end iterator, non-const
  • const_iterator end () const β€” end iterator, const
  • void erase (point_iterator) β€” erase via a point_iterator
  • template<typename Pred > size_type erase_if (Pred) β€” erase-if template with Pred
  • Cmp_Fn & get_cmp_fn () β€” grab the comparator, non-const
  • const Cmp_Fn & get_cmp_fn () const β€” grab the comparator, const
  • void join (binomial_heap_base< Value_Type, Cmp_Fn, _Alloc > &) β€” join with another binomial_heap_base< Value_Type, Cmp_Fn, _Alloc > &
  • size_type max_size () const β€” the max_size one
  • void modify (point_iterator, const_reference) β€” modify with point_iterator and const_reference
  • void pop () β€” the pop one
  • point_iterator push (const_reference) β€” push a const_reference
  • size_type size () const β€” the size one
  • template<typename Pred > void split (Pred, binomial_heap_base< Value_Type, Cmp_Fn, _Alloc > &) β€” split template with Pred and another binomial_heap_base< Value_Type, Cmp_Fn, _Alloc > &
  • void swap (left_child_next_sibling_heap< Value_Type, Cmp_Fn, _Alloc::size_type, _Alloc > &) β€” swap with left_child_next_sibling_heap< Value_Type, Cmp_Fn, _Alloc::size_type, _Alloc > &
  • const_reference top () const β€” peek the const_reference top

πŸŽ€ Protected Types πŸŽ€

  • typedef base_type::node node β€” node type
  • typedef alloc_traits::allocator_type node_allocator β€” node allocator
  • typedef base_type::node_const_pointer node_const_pointer β€” const node pointer
  • typedef _Alloc::size_type node_metadata β€” node metadata
  • typedef base_type::node_pointer node_pointer β€” node pointer
  • typedef 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 taking const binomial_heap_base< Value_Type, Cmp_Fn, _Alloc > &
  • binomial_heap_base (const Cmp_Fn &) β€” constructor taking const Cmp_Fn &
  • void actual_erase_node (node_pointer) β€” the actual_erase_node one
  • void bubble_to_top (node_pointer) β€” the bubble_to_top one
  • void clear_imp (node_pointer) β€” the clear_imp one
  • template<typename It > void copy_from_range (It, It) β€” copy-from-range template with It
  • void find_max () β€” the find_max one
  • node_pointer get_new_node_for_insert (const_reference) β€” get a new node for insert from const_reference
  • node_pointer prune (Pred) β€” prune with Pred
  • void swap (binomial_heap_base< Value_Type, Cmp_Fn, _Alloc > &) β€” swap with binomial_heap_base< Value_Type, Cmp_Fn, _Alloc > &
  • void swap_with_parent (node_pointer, node_pointer) β€” swap with parent using two node_pointers
  • void to_linked_list () β€” the to_linked_list one
  • void value_swap (left_child_next_sibling_heap &) β€” value-swap with left_child_next_sibling_heap &

🌈 Static Protected Member Functions 🌈

  • static void make_child_of (node_pointer, node_pointer) β€” static make_child_of helper with two node_pointers
  • static node_pointer parent (node_pointer) β€” static parent helper with node_pointer

πŸ“ Protected Attributes πŸ“

  • node_pointer m_p_max β€” the m_p_max node pointer
  • node_pointer m_p_root β€” the m_p_root node pointer
  • size_type m_size β€” the m_size size 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