Heap-Based
Containers
Collaboration diagram for Heap-Based:

## Modules

| Base and Policy Classes

## Classes

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

## Typedefs

typedef _Alloc | __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::allocator_type
typedef Cmp_Fn | __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::cmp_fn
typedef base_type::const_iterator | __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::const_iterator
typedef __rebind_va::const_pointer | __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::const_pointer
typedef __rebind_va::const_reference | __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::const_reference
typedef Tag | __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::container_category
typedef allocator_type::difference_type | __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::difference_type
typedef base_type::iterator | __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::iterator
typedef base_type::point_const_iterator | __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::point_const_iterator
typedef base_type::point_iterator | __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::point_iterator
typedef __rebind_va::pointer | __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::pointer
typedef __rebind_va::reference | __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::reference
typedef allocator_type::size_type | __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::size_type
typedef _Tv | __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc >::value_type

## Functions

| __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)
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

## Function Documentation

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.

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.

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.