STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Modules | Classes | Typedefs | Functions
Heap-Based

Modules

 Base and Policy Classes
 

Classes

class  __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >
 

Typedefs

typedef _Tv __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::value_type
 
typedef Cmp_Fn __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::cmp_fn
 
typedef Tag __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::container_category
 
typedef _Alloc __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::allocator_type
 
typedef allocator_type::size_type __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::size_type
 
typedef
allocator_type::difference_type 
__gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::difference_type
 
typedef
detail::container_base_dispatch
< _Tv, Cmp_Fn, _Alloc, Tag >
::type 
__gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::base_type
 
typedef _Alloc::template
rebind< _Tv > 
__gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::__rebind_v
 
typedef __rebind_v::other __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::__rebind_va
 
typedef __rebind_va::reference __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::reference
 
typedef
__rebind_va::const_reference 
__gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::const_reference
 
typedef __rebind_va::pointer __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::pointer
 
typedef __rebind_va::const_pointer __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::const_pointer
 
typedef base_type::point_iterator __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::point_iterator
 
typedef
base_type::point_const_iterator 
__gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::point_const_iterator
 
typedef base_type::iterator __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::iterator
 
typedef base_type::const_iterator __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::const_iterator
 

Functions

 __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::priority_queue ()
 
 __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::priority_queue (const cmp_fn &r_cmp_fn)
 
template<typename It >
 __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::priority_queue (It first_it, It last_it)
 
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)
 
 __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::priority_queue (const priority_queue &other)
 
virtual __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::~priority_queue ()
 
priority_queue & __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::operator= (const priority_queue &other)
 
void __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::swap (priority_queue &other)
 

Detailed Description

Typedef Documentation

template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
typedef _Alloc::template rebind<_Tv> __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::__rebind_v
private
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
typedef __rebind_v::other __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::__rebind_va
private
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
typedef _Alloc __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::allocator_type
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
typedef detail::container_base_dispatch<_Tv, Cmp_Fn, _Alloc, Tag>::type __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::base_type
private
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
typedef Cmp_Fn __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::cmp_fn
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
typedef base_type::const_iterator __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::const_iterator
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
typedef __rebind_va::const_pointer __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::const_pointer
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
typedef __rebind_va::const_reference __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::const_reference
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
typedef Tag __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::container_category
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
typedef allocator_type::difference_type __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::difference_type
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
typedef base_type::iterator __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::iterator
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
typedef base_type::point_const_iterator __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::point_const_iterator
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
typedef base_type::point_iterator __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::point_iterator
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
typedef __rebind_va::pointer __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::pointer
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
typedef __rebind_va::reference __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::reference
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
typedef allocator_type::size_type __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::size_type
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
typedef _Tv __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::value_type

Function Documentation

template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
priority_queue& __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::operator= ( const priority_queue< _Tv, Cmp_Fn, Tag, _Alloc > &  other)
inline
142  {
143  if (this != &other)
144  {
145  priority_queue tmp(other);
146  swap(tmp);
147  }
148  return *this;
149  }
priority_queue()
Definition: priority_queue.hpp:112
void swap(priority_queue &other)
Definition: priority_queue.hpp:152
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 ( )
inline
112 { }
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.

116 : base_type(r_cmp_fn) { }
detail::container_base_dispatch< _Tv, Cmp_Fn, _Alloc, Tag >::type base_type
Definition: priority_queue.hpp:97
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.

123  { base_type::copy_from_range(first_it, last_it); }
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.

131  : base_type(r_cmp_fn)
132  { base_type::copy_from_range(first_it, last_it); }
detail::container_base_dispatch< _Tv, Cmp_Fn, _Alloc, Tag >::type base_type
Definition: priority_queue.hpp:97
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 priority_queue< _Tv, Cmp_Fn, Tag, _Alloc > &  other)
inline
135  : base_type((const base_type& )other) { }
detail::container_base_dispatch< _Tv, Cmp_Fn, _Alloc, Tag >::type base_type
Definition: priority_queue.hpp:97
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
void __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::swap ( priority_queue< _Tv, Cmp_Fn, Tag, _Alloc > &  other)
inline
153  { base_type::swap(other); }
void swap(exception_ptr &__lhs, exception_ptr &__rhs)
Definition: exception_ptr.h:160
template<typename _Tv , typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>>
virtual __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::~priority_queue ( )
inlinevirtual
138 { }