Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

priority_queue Class Template Reference

#include <stl_queue.h>

Collaboration diagram for priority_queue:

Collaboration graph
[legend]
List of all members.

Public Types

typedef Sequence::value_type value_type
typedef Sequence::size_type size_type
typedef Sequence::reference reference
typedef Sequence::const_reference const_reference

Public Methods

 priority_queue ()
 priority_queue (const Compare &x)
 priority_queue (const value_type *first, const value_type *last, const Compare &x)
 priority_queue (const value_type *first, const value_type *last)
bool empty () const
size_type size () const
const_reference top () const
void push (const value_type &x)
void pop ()

Protected Attributes

Sequence c
Compare comp

template<class T, class Sequence = vector<T>, class Compare = less<typename Sequence::value_type>>
class priority_queue< T, Sequence, Compare >


Member Typedef Documentation

template<class T, class Sequence = vector<T>, class Compare = less<typename Sequence::value_type>>
typedef Sequence::const_reference priority_queue::const_reference
 

Definition at line 83 of file stl_queue.h.

Referenced by top.

template<class T, class Sequence = vector<T>, class Compare = less<typename Sequence::value_type>>
typedef Sequence::reference priority_queue::reference
 

Definition at line 82 of file stl_queue.h.

template<class T, class Sequence = vector<T>, class Compare = less<typename Sequence::value_type>>
typedef Sequence::size_type priority_queue::size_type
 

Definition at line 81 of file stl_queue.h.

Referenced by size.

template<class T, class Sequence = vector<T>, class Compare = less<typename Sequence::value_type>>
typedef Sequence::value_type priority_queue::value_type
 

Definition at line 80 of file stl_queue.h.

Referenced by priority_queue, and push.


Constructor & Destructor Documentation

template<class T, class Sequence = vector<T>, class Compare = less<typename Sequence::value_type>>
priority_queue< T, Sequence, Compare >::priority_queue   [inline]
 

Definition at line 88 of file stl_queue.h.

References c.

00088 : c() {}

template<class T, class Sequence = vector<T>, class Compare = less<typename Sequence::value_type>>
priority_queue< T, Sequence, Compare >::priority_queue const Compare &    x [inline, explicit]
 

Definition at line 89 of file stl_queue.h.

References c, and comp.

00089 :  c(), comp(x) {}

template<class T, class Sequence = vector<T>, class Compare = less<typename Sequence::value_type>>
priority_queue< T, Sequence, Compare >::priority_queue const value_type   first,
const value_type   last,
const Compare &    x
[inline]
 

Definition at line 99 of file stl_queue.h.

References c, comp, make_heap, and value_type.

00100                                    : c(first, last), comp(x) {
00101     make_heap(c.begin(), c.end(), comp);
00102   }

template<class T, class Sequence = vector<T>, class Compare = less<typename Sequence::value_type>>
priority_queue< T, Sequence, Compare >::priority_queue const value_type   first,
const value_type   last
[inline]
 

Definition at line 103 of file stl_queue.h.

References c, comp, make_heap, and value_type.

00104     : c(first, last) { make_heap(c.begin(), c.end(), comp); }


Member Function Documentation

template<class T, class Sequence = vector<T>, class Compare = less<typename Sequence::value_type>>
bool priority_queue< T, Sequence, Compare >::empty   const [inline]
 

Definition at line 107 of file stl_queue.h.

References c.

00107 { return c.empty(); }

template<class T, class Sequence = vector<T>, class Compare = less<typename Sequence::value_type>>
void priority_queue< T, Sequence, Compare >::pop   [inline]
 

Definition at line 117 of file stl_queue.h.

References __STL_TRY, __STL_UNWIND, c, comp, and pop_heap.

00117              {
00118     __STL_TRY {
00119       pop_heap(c.begin(), c.end(), comp);
00120       c.pop_back();
00121     }
00122     __STL_UNWIND(c.clear());
00123   }

template<class T, class Sequence = vector<T>, class Compare = less<typename Sequence::value_type>>
void priority_queue< T, Sequence, Compare >::push const value_type   x [inline]
 

Definition at line 110 of file stl_queue.h.

References __STL_TRY, __STL_UNWIND, c, comp, push_heap, and value_type.

00110                                  {
00111     __STL_TRY {
00112       c.push_back(x); 
00113       push_heap(c.begin(), c.end(), comp);
00114     }
00115     __STL_UNWIND(c.clear());
00116   }

template<class T, class Sequence = vector<T>, class Compare = less<typename Sequence::value_type>>
size_type priority_queue< T, Sequence, Compare >::size   const [inline]
 

Definition at line 108 of file stl_queue.h.

References c, and size_type.

00108 { return c.size(); }

template<class T, class Sequence = vector<T>, class Compare = less<typename Sequence::value_type>>
const_reference priority_queue< T, Sequence, Compare >::top   const [inline]
 

Definition at line 109 of file stl_queue.h.

References c, and const_reference.

00109 { return c.front(); }


Member Data Documentation

template<class T, class Sequence = vector<T>, class Compare = less<typename Sequence::value_type>>
Sequence priority_queue::c [protected]
 

Definition at line 85 of file stl_queue.h.

Referenced by empty, pop, priority_queue, push, size, and top.

template<class T, class Sequence = vector<T>, class Compare = less<typename Sequence::value_type>>
Compare priority_queue::comp [protected]
 

Definition at line 86 of file stl_queue.h.

Referenced by pop, priority_queue, and push.


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

Documentation generated on Thu May 2 15:03:39 2002

Generated with doxygen 1.2.12 by Dimitri van Heesch ,   1997-2001