Contains an implementation class for a binary heap. More...
#include <queue>
#include <algorithm>
#include <ext/pb_ds/detail/cond_dealtor.hpp>
#include <ext/pb_ds/detail/type_utils.hpp>
#include <ext/pb_ds/detail/binary_heap_/entry_cmp.hpp>
#include <ext/pb_ds/detail/binary_heap_/entry_pred.hpp>
#include <ext/pb_ds/detail/binary_heap_/resize_policy.hpp>
#include <ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp>
#include <ext/pb_ds/detail/binary_heap_/const_iterator.hpp>
#include <debug/debug.h>
#include <ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp>
#include <ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp>
#include <ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp>
#include <ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp>
#include <ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp>
#include <ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp>
#include <ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp>
#include <ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp>
#include <ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp>
#include <ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp>
Classes | |
class | __gnu_pbds::detail::binary_heap< Value_Type, Cmp_Fn, _Alloc > |
Binary heaps composed of resize and compare policies. More... | |
Namespaces | |
__gnu_pbds | |
GNU extensions for policy-based data structures for public use. | |
__gnu_pbds::detail | |
Macros | |
#define | PB_DS_ASSERT_VALID(X) _GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);) |
#define | PB_DS_CLASS_C_DEC binary_heap<Value_Type, Cmp_Fn, _Alloc> |
#define | PB_DS_CLASS_T_DEC template<typename Value_Type, typename Cmp_Fn, typename _Alloc> |
#define | PB_DS_DEBUG_VERIFY(_Cond) |
#define | PB_DS_ENTRY_CMP_DEC entry_cmp<Value_Type, Cmp_Fn, _Alloc, is_simple<Value_Type>::value>::type |
#define | PB_DS_RESIZE_POLICY_DEC __gnu_pbds::detail::resize_policy<typename _Alloc::size_type> |
Contains an implementation class for a binary heap.
#define PB_DS_ASSERT_VALID | ( | X | ) | _GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);) |
Referenced by __gnu_pbds::detail::rc< _Node, _Alloc >::clear(), __gnu_pbds::detail::rc< _Node, _Alloc >::empty(), __gnu_pbds::detail::PB_DS_OV_TREE_NAME< Key, Mapped, Cmp_Fn, Node_And_It_Traits, _Alloc >::find(), __gnu_pbds::detail::PB_DS_OV_TREE_NAME< Key, Mapped, Cmp_Fn, Node_And_It_Traits, _Alloc >::insert(), __gnu_pbds::detail::PB_DS_OV_TREE_NAME< Key, Mapped, Cmp_Fn, Node_And_It_Traits, _Alloc >::insert_new_val(), __gnu_pbds::detail::resize_policy< _Tp >::notify_arbitrary(), __gnu_pbds::detail::resize_policy< _Tp >::notify_grow_resize(), __gnu_pbds::detail::resize_policy< _Tp >::notify_shrink_resize(), __gnu_pbds::detail::PB_DS_OV_TREE_NAME< Key, Mapped, Cmp_Fn, Node_And_It_Traits, _Alloc >::operator[](), __gnu_pbds::detail::rc< _Node, _Alloc >::pop(), __gnu_pbds::detail::rc< _Node, _Alloc >::push(), __gnu_pbds::detail::rc< _Node, _Alloc >::rc(), __gnu_pbds::detail::resize_policy< _Alloc::size_type >::resize_policy(), __gnu_pbds::detail::rc< _Node, _Alloc >::swap(), and __gnu_pbds::detail::rc< _Node, _Alloc >::top().
#define PB_DS_CLASS_C_DEC binary_heap<Value_Type, Cmp_Fn, _Alloc> |
#define PB_DS_CLASS_T_DEC template<typename Value_Type, typename Cmp_Fn, typename _Alloc> |
#define PB_DS_DEBUG_VERIFY | ( | _Cond | ) |
#define PB_DS_ENTRY_CMP_DEC entry_cmp<Value_Type, Cmp_Fn, _Alloc, is_simple<Value_Type>::value>::type |
#define PB_DS_RESIZE_POLICY_DEC __gnu_pbds::detail::resize_policy<typename _Alloc::size_type> |