libstdc++
__gnu_pbds::detail::binary_heap< Value_Type, Cmp_Fn, _Alloc > Class Template Reference
Inheritance diagram for __gnu_pbds::detail::binary_heap< Value_Type, Cmp_Fn, _Alloc >:

Public Types

typedef _Alloc allocator_type
 
typedef Cmp_Fn cmp_fn
 
typedef cond_dealtor
< value_type, _Alloc > 
cond_dealtor_t
 
typedef
binary_heap_const_iterator_
< value_type, entry,
simple_value, _Alloc > 
const_iterator
 
typedef
value_allocator::const_pointer 
const_pointer
 
typedef
value_allocator::const_reference 
const_reference
 
typedef _Alloc::difference_type difference_type
 
typedef __conditional_type
< simple_value, value_type,
pointer >::__type 
entry
 
typedef _Alloc::template
rebind< entry >::other 
entry_allocator
 
typedef entry_cmp< Value_Type,
Cmp_Fn, _Alloc, is_simple
< Value_Type >::value >::type 
entry_cmp
 
typedef entry_allocator::pointer entry_pointer
 
typedef const_iterator iterator
 
typedef
binary_heap_point_const_iterator_
< value_type, entry,
simple_value, _Alloc > 
point_const_iterator
 
typedef point_const_iterator point_iterator
 
typedef value_allocator::pointer pointer
 
typedef value_allocator::reference reference
 
typedef
__gnu_pbds::detail::resize_policy
< typename _Alloc::size_type > 
resize_policy
 
typedef _Alloc::size_type size_type
 
typedef Value_Type value_type
 

Public Member Functions

 binary_heap (const cmp_fn &)
 
 binary_heap (const binary_heap &)
 
iterator begin ()
 
const_iterator begin () const
 
void clear ()
 
bool empty () const
 
iterator end ()
 
const_iterator end () const
 
void erase (point_iterator)
 
void erase_at (entry_pointer, size_type, false_type)
 
void erase_at (entry_pointer, size_type, true_type)
 
template<typename Pred >
binary_heap< Value_Type,
Cmp_Fn, _Alloc >::size_type 
erase_if (Pred pred)
 
template<typename Pred >
size_type erase_if (Pred)
 
Cmp_Fn & get_cmp_fn ()
 
const Cmp_Fn & get_cmp_fn () const
 
size_type get_new_size_for_arbitrary (size_type) const
 
size_type get_new_size_for_grow () const
 
size_type get_new_size_for_shrink () const
 
bool grow_needed (size_type) const
 
void join (binary_heap &)
 
size_type max_size () const
 
void modify (point_iterator, const_reference)
 
void notify_arbitrary (size_type)
 
void notify_grow_resize ()
 
void notify_shrink_resize ()
 
template<typename Pred >
binary_heap< Value_Type,
Cmp_Fn, _Alloc >::size_type 
partition (Pred pred)
 
void pop ()
 
point_iterator push (const_reference)
 
bool resize_needed_for_grow (size_type) const
 
bool resize_needed_for_shrink (size_type) const
 
bool shrink_needed (size_type) const
 
size_type size () const
 
template<typename Pred >
void split (Pred, binary_heap &)
 
void swap (resize_policy< _Alloc::size_type > &)
 
void swap (binary_heap &)
 
const_reference top () const
 

Static Public Attributes

static const _Alloc::size_type min_size
 

Protected Member Functions

template<typename It >
void copy_from_range (It, It)
 

Detailed Description

template<typename Value_Type, typename Cmp_Fn, typename _Alloc>
class __gnu_pbds::detail::binary_heap< Value_Type, Cmp_Fn, _Alloc >

Binary heaps composed of resize and compare policies.

Based on CLRS.

Definition at line 84 of file binary_heap_.hpp.


The documentation for this class was generated from the following file: