__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 β€” the allocator_type typedef, periodt.
  • typedef Cmp_Fn cmp_fn β€” yep, cmp_fn.
  • typedef base_type::const_iterator const_iterator β€” the const_iterator typedef.
  • typedef __rebind_a::const_pointer const_pointer β€” const_pointer, exactly as written.
  • typedef __rebind_a::const_reference const_reference β€” the const_reference typedef.
  • typedef _Alloc::difference_type difference_type β€” difference_type, lowkey iconic.
  • typedef base_type::iterator iterator β€” the iterator typedef.
  • 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 β€” the point_iterator typedef.
  • typedef __rebind_a::pointer pointer β€” pointer, slay.
  • typedef __rebind_a::reference reference β€” the reference typedef.
  • typedef _Alloc::size_type size_type β€” size_type, fr fr.
  • typedef Value_Type value_type β€” and value_type, obviously.

πŸ’– Public Member Functions πŸ’–

  • pairing_heap (const Cmp_Fn &) β€” the constructor that takes const Cmp_Fn &.
  • pairing_heap (const pairing_heap &) β€” the copy constructor, copy constructor.
  • iterator begin () β€” the non-const begin ().
  • const_iterator begin () const β€” the const begin () const.
  • void clear () β€” clear (), exactly.
  • bool empty () const β€” empty () const, a whole mood.
  • iterator end () β€” the non-const end ().
  • const_iterator end () const β€” the const end () const.
  • void erase (point_iterator) β€” erase (point_iterator).
  • template<typename Pred > size_type erase_if (Pred) β€” the template erase_if (Pred), with size_type on the return.
  • Cmp_Fn & get_cmp_fn () β€” the non-const get_cmp_fn ().
  • const Cmp_Fn & get_cmp_fn () const β€” the const get_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 template split (Pred, pairing_heap &).
  • void swap (left_child_next_sibling_heap< Value_Type, Cmp_Fn, null_type, _Alloc > &) β€” the swap that takes a left_child_next_sibling_heap< Value_Type, Cmp_Fn, null_type, _Alloc > &.
  • void swap (pairing_heap &) β€” the swap that takes a pairing_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 whole std::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 template copy_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 β€” the m_p_root attribute.
  • size_type m_size β€” and m_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