14 #ifndef PRIORITY_QUEUE_STLPQ_H
15 #define PRIORITY_QUEUE_STLPQ_H
32 template<
class T,
class Compare >
39 void insert (
const T&);
41 const T& top ()
const;
42 bool remove (
const int);
48 priority_queue<T*, deque<T*>, Compare>
m_queue;
51 template<
class T,
class Compare>
56 trace(
"PriorityQueue_STLPQ::~PriorityQueue_STLPQ");
58 while ( m_queue.size () ) {
59 delete m_queue.top ();
64 template<
class T,
class Compare>
69 trace(
"PriorityQueue_STLPQ::insert");
73 template<
class T,
class Compare>
78 trace(
"PriorityQueue_STLPQ::pop");
85 template<
class T,
class Compare>
90 trace(
"PriorityQueue_STLPQ::top");
91 return (
const T&) m_queue.top ();
103 template<
class T,
class Compare>
108 trace(
"PriorityQueue_STLPQ::remove");
111 register Timer* t_ptr = 0;
112 register int cnt = 0;
114 while (m_queue.size () > 0) {
115 t_ptr = m_queue.top ();
121 t_list.push_back (t_ptr);
127 list<Timer*>::iterator i;
129 for (i = t_list.begin (); i != t_list.end (); i++) {
136 template<
class T,
class Compare>
141 return m_queue.
size ();
144 template<
class T,
class Compare>
149 trace(
"PriorityQueue_STLPQ::dump");
152 register Timer* t_ptr = 0;
153 DL((
TRACE,
"======TimerQueue start=======\n"));
154 while (m_queue.size () > 0) {
155 t_ptr = m_queue.top ();
157 t_list.push_back (t_ptr);
159 DL((
TRACE,
"======TimerQueue end=========\n"));
160 list<Timer*>::iterator i;
162 for (i = t_list.begin (); i != t_list.end (); i++) {
#define trace(s)
trace() is used to trace function call chain in C++ program.
#define DL(X)
A macro for writing debug message to the Logger.
Timer class represents tuple that is stored in TimerQueue.
Class PriorityQueue_Impl.
priority_queue< T *, deque< T * >, Compare > m_queue
EventHandler * getHandler() const
Get EventHandler pointer.
void dump(void)
Dump contents to logfile.
@ TRACE
Function call trace