12#ifndef PRIORITY_QUEUE_H
13#define PRIORITY_QUEUE_H
31template<
class T,
class Compare>
class PriorityQueue_Impl;
33template<
class T,
class Compare >
44 virtual const T&
top ()
const;
66template <
class T,
class Compare>
79template <
class T,
class Compare>
83 : m_comp (
x_), m_impl (0)
90template <
class T,
class Compare>
105template <
class T,
class Compare>
113template <
class T,
class Compare>
void
118 m_impl->insert (
el_);
121template <
class T,
class Compare>
T
126 return m_impl->pop ();
129template <
class T,
class Compare>
134 return m_impl->top ();
137template <
class T,
class Compare>
142 return m_impl->remove (
t_);
145template <
class T,
class Compare>
150 return m_impl->size ();
153template <
class T,
class Compare>
161template <
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.
A wrapper class to provide AutoPtr with reference semantics.
PriorityQueue & operator=(const PriorityQueue &)
virtual T & operator[](int)
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