libstdc++
__gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc > Class Template Reference

Inherits detail::container_base_dispatch::type.

Public Types

typedef _Alloc allocator_type
 
typedef Cmp_Fn cmp_fn
 
typedef base_type::const_iterator const_iterator
 
typedef __rebind_va::const_pointer const_pointer
 
typedef __rebind_va::const_reference const_reference
 
typedef Tag container_category
 
typedef allocator_type::difference_type difference_type
 
typedef base_type::iterator iterator
 
typedef base_type::point_const_iterator point_const_iterator
 
typedef base_type::point_iterator point_iterator
 
typedef __rebind_va::pointer pointer
 
typedef __rebind_va::reference reference
 
typedef allocator_type::size_type size_type
 
typedef _Tv value_type
 

Public Member Functions

 priority_queue (const cmp_fn &r_cmp_fn)
 
 priority_queue (const priority_queue &other)
 
template<typename It >
 priority_queue (It first_it, It last_it)
 
template<typename It >
 priority_queue (It first_it, It last_it, const cmp_fn &r_cmp_fn)
 
priority_queueoperator= (const priority_queue &other)
 
void swap (priority_queue &other)
 

Detailed Description

template<typename _Tv, typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
class __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >

A priority queue composed of one specific heap policy.

Template Parameters
_TvValue type.
Cmp_FnComparison functor.
TagInstantiating data structure type, see container_tag.
_AllocAllocator type.

Base is dispatched at compile time via Tag, from the following choices: binary_heap_tag, binomial_heap_tag, pairing_heap_tag, rc_binomial_heap_tag, thin_heap_tag

Base choices are: detail::binary_heap, detail::binomial_heap, detail::pairing_heap, detail::rc_binomial_heap, detail::thin_heap.

Definition at line 84 of file priority_queue.hpp.

Constructor & Destructor Documentation

◆ priority_queue() [1/3]

template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
__gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::priority_queue ( const cmp_fn &  r_cmp_fn)
inline

Constructor taking some policy objects. r_cmp_fn will be copied by the Cmp_Fn object of the container object.

Definition at line 116 of file priority_queue.hpp.

◆ priority_queue() [2/3]

template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
template<typename It >
__gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::priority_queue ( It  first_it,
It  last_it 
)
inline

Constructor taking __iterators to a range of value_types. The value_types between first_it and last_it will be inserted into the container object.

Definition at line 122 of file priority_queue.hpp.

◆ priority_queue() [3/3]

template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
template<typename It >
__gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::priority_queue ( It  first_it,
It  last_it,
const cmp_fn &  r_cmp_fn 
)
inline

Constructor taking __iterators to a range of value_types and some policy objects The value_types between first_it and last_it will be inserted into the container object. r_cmp_fn will be copied by the cmp_fn object of the container object.

Definition at line 130 of file priority_queue.hpp.


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