Basic priority queue.
Defined in: priority_queue.hpp
| Parameter | Description | Default Value | 
| typename Value_Type | Value type. | - | 
| class Cmp_Fn | Comparison functor. | std::less<Value_Type> | 
| class Tag | Data-structure tag. | pairing_heap_tag | 
| class Allocator | Allocator type. | std::allocator<char> | 
| Type | Definition | Description | 
| size_type | typename Allocator::size_type | Size type. | 
| difference_type | typename Allocator::difference_type | Difference type. | 
| Type | Definition | Description | 
| container_category | Tag | The underlying mapped-structure tag of the container. This is one of: | 
| Type | Definition | Description | 
| cmp_fn | Cmp_Fn | Comparison functor type. | 
| allocator | Allocator | Allocator type. | 
| Type | Definition | Description | 
| value_type | Value_Type | Value type. | 
| reference | typename allocator::template rebind< value_type>::other::reference | Value reference type. | 
| const_reference | typename allocator::template rebind< value_type>::other::const_reference | Const value reference type. | 
| pointer | typename allocator::template rebind< value_type>::other::pointer | Value pointer type. | 
| const_pointer | typename allocator::template rebind< value_type>::other::const_pointer | Const Value pointer type. | 
| Type | Definition | Description | 
| const_point_iterator | Const point-type iterator. | Const point-type iterator. | 
| point_iterator | Point-type iterator. | Point-type iterator. | 
| const_iterator | Const range-type iterator. | Const range-type iterator. | 
| iterator | Range-type iterator. | Range-type iterator. | 
| Method | Description | 
| priority_queue () | Default constructor. | 
| priority_queue (const cmp_fn &r_cmp_fn) | Constructor taking some policy objects. r_cmp_fn will be copied by the Cmp_Fn object of the container object. | 
| 
template<
    class It>
  priority_queue
  (It first_it, 
    It last_it)
 | 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. | 
| 
template<
    class It>
  priority_queue
  (It first_it, 
    It last_it,
    const cmp_fn &r_cmp_fn)
 | 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. | 
| 
  priority_queue
  (const priority_queue &other)
 | Copy constructor. | 
| virtual ~priority_queue () | Destructor. | 
| priority_queue & operator= (const priority_queue &other) | Assignment operator. | 
| 
void
  swap
  (priority_queue &other)
 | Swaps content. | 
| Method | Description | 
| inline size_type size () const | Returns the number of distinct value_type objects the container object is storing. | 
| inline size_type max_size () const | Returns an upper bound on the number of distinct value_type objects this container can store. | 
| inline bool empty () const | Returns whether the container object is not storing any value_type objects. | 
| Method | Description | 
| inline point_iterator push (const_reference r_val) | Inserts a value_type object. returns a point_iterator object associated with the new pushed r_val. | 
| Method | Description | 
| inline const_reference top () const | Returns the const_reference of the largest value_type in the container object, i.e., a value_type v_max for which any other value_type v in the container object will satisfy !cmp_fn()(v_max, v). | 
| Method | Description | 
| inline void modify (point_iterator it, const_reference r_new_val) | Modifies the value_type associated with the point_iterator it into r_new_val. To use this method, value_type must be assignable. | 
| Method | Description | 
| inline void pop () | Pops the largest value_type. If the container object is empty, results are undefined. | 
| inline void erase (point_iterator it) | Erases the value_type associated with the point_iterator it. | 
| template< class Pred> inline size_type erase_if (Pred prd) | Erases any value_type satisfying the predicate prd; returns the number of value_types erased. | 
| void clear () | Clears the container object. | 
| Method | Description | 
| 
void 
  join
  (priority_queue &other)
 | Joins two container objects. When this function returns, other will be empty. When calling this method, other's policies must be equivalent to this object's policies. | 
| 
template<
  class Pred>
inline void
  split
  (Pred prd,
    priority_queue &other)
 | Splits into two container objects. When this function returns, other will be contain only values v for which prd(v) is true. When calling this method, other's policies must be equivalent to this object's policies. | 
| Method | Description | 
| inline iterator begin () | Returns an iterator corresponding to the first value_type in the container. | 
| inline const_iterator begin () const | Returns a const_iterator corresponding to the first value_type in the container. | 
| inline iterator end () | Returns an iterator corresponding to the just-after-last value_type in the container. | 
| inline const_iterator end () const | Returns a const_iterator corresponding to the just-after-last value_type in the container. |