12 #ifndef PRIORITY_QUEUE_H
13 #define PRIORITY_QUEUE_H
31 template<
class T,
class Compare>
class PriorityQueue_Impl;
33 template<
class T,
class Compare >
44 virtual const T&
top ()
const;
66 template <
class T,
class Compare>
79 template <
class T,
class Compare>
83 : m_comp (x_), m_impl (0)
90 template <
class T,
class Compare>
105 template <
class T,
class Compare>
113 template <
class T,
class Compare>
void
118 m_impl->insert (el_);
121 template <
class T,
class Compare> T
126 return m_impl->pop ();
129 template <
class T,
class Compare>
134 return m_impl->top ();
137 template <
class T,
class Compare>
142 return m_impl->remove (t_);
145 template <
class T,
class Compare>
150 return m_impl->size ();
153 template <
class T,
class Compare>
161 template <
class T,
class Compare>
166 return (*m_impl)[idx];
A collection of assert function wrappers.
Heap-based implementation of PriorityQueue algorithm based on Robert Sedgewick's "Algorithms in C++",...
Interface class that defines Implementor of the Bridge pattern.
Class PriorityQueue_Impl.
virtual T & operator[](int)
PriorityQueue & operator=(const PriorityQueue &)
PriorityQueue(size_t max_=20)
PriorityQueue(const PriorityQueue &)
virtual void insert(const T &)
virtual const T & top() const
virtual void setHeapImpl(size_t, const Compare &)
const PriorityQueue_Impl< T, Compare > * getPriorityQueueImpl() const
PriorityQueue(size_t max_, const Compare &)
PriorityQueue_Impl< T, Compare > * m_impl