#include <PriorityQueue.h>
Public Member Functions | |
PriorityQueue (size_t max_=20) | |
PriorityQueue (size_t max_, const Compare &) | |
virtual | ~PriorityQueue () |
virtual void | insert (const T &) |
virtual T | pop () |
virtual const T & | top () const |
virtual bool | remove (T &) |
virtual size_t | size () |
virtual T & | operator[] (int) |
virtual void | setHeapImpl (size_t, const Compare &) |
Protected Member Functions | |
const PriorityQueue_Impl< T, Compare > * | getPriorityQueueImpl () const |
PriorityQueue (const PriorityQueue &) | |
PriorityQueue & | operator= (const PriorityQueue &) |
Protected Attributes | |
Compare | m_comp |
Private Attributes | |
PriorityQueue_Impl< T, Compare > * | m_impl |
Definition at line 34 of file PriorityQueue.h.
ASSA::PriorityQueue< T, Compare >::PriorityQueue | ( | size_t | max_ = 20 |
) | [inline] |
Definition at line 69 of file PriorityQueue.h.
References ASSA::PriorityQueue< T, Compare >::m_comp, and ASSA::PriorityQueue< T, Compare >::setHeapImpl().
00070 : m_impl (0) 00071 { 00072 // This is a perfect place for using Factory to decide which 00073 // implementation to use 00074 // const char self[]="PriorityQueue::PriorityQueue(maxsz)"; trace(); 00075 00076 setHeapImpl (maxsz_, m_comp); 00077 }
ASSA::PriorityQueue< T, Compare >::PriorityQueue | ( | size_t | max_, | |
const Compare & | ||||
) | [inline] |
Definition at line 82 of file PriorityQueue.h.
References ASSA::PriorityQueue< T, Compare >::m_comp, and ASSA::PriorityQueue< T, Compare >::setHeapImpl().
00083 : m_comp (x_), m_impl (0) 00084 { 00085 // This is perfect place for using Factory to decide which 00086 // implementation to use 00087 setHeapImpl (maxsz_, m_comp); 00088 }
ASSA::PriorityQueue< T, Compare >::~PriorityQueue | ( | ) | [inline, virtual] |
Definition at line 108 of file PriorityQueue.h.
References ASSA::PriorityQueue< T, Compare >::m_impl.
00109 { 00110 delete m_impl; 00111 }
ASSA::PriorityQueue< T, Compare >::PriorityQueue | ( | const PriorityQueue< T, Compare > & | ) | [protected] |
const PriorityQueue_Impl< T, Compare > * ASSA::PriorityQueue< T, Compare >::getPriorityQueueImpl | ( | ) | const [inline, protected] |
Definition at line 156 of file PriorityQueue.h.
References ASSA::PriorityQueue< T, Compare >::m_impl.
00157 { 00158 return (const PriorityQueue_Impl<T, Compare>*) m_impl; 00159 }
void ASSA::PriorityQueue< T, Compare >::insert | ( | const T & | ) | [inline, virtual] |
Definition at line 116 of file PriorityQueue.h.
References ASSA::PriorityQueue< T, Compare >::m_impl.
00117 { 00118 m_impl->insert (el_); 00119 }
PriorityQueue& ASSA::PriorityQueue< T, Compare >::operator= | ( | const PriorityQueue< T, Compare > & | ) | [protected] |
T & ASSA::PriorityQueue< T, Compare >::operator[] | ( | int | ) | [inline, virtual] |
Definition at line 164 of file PriorityQueue.h.
References ASSA::PriorityQueue< T, Compare >::m_impl.
00165 { 00166 return (*m_impl)[idx]; 00167 }
T ASSA::PriorityQueue< T, Compare >::pop | ( | ) | [inline, virtual] |
Definition at line 124 of file PriorityQueue.h.
References ASSA::PriorityQueue< T, Compare >::m_impl.
00125 { 00126 return m_impl->pop (); 00127 }
bool ASSA::PriorityQueue< T, Compare >::remove | ( | T & | ) | [inline, virtual] |
Definition at line 140 of file PriorityQueue.h.
References ASSA::PriorityQueue< T, Compare >::m_impl.
00141 { 00142 return m_impl->remove (t_); 00143 }
void ASSA::PriorityQueue< T, Compare >::setHeapImpl | ( | size_t | , | |
const Compare & | ||||
) | [inline, virtual] |
Definition at line 93 of file PriorityQueue.h.
References ASSA::PriorityQueue< T, Compare >::m_impl.
Referenced by ASSA::PriorityQueue< T, Compare >::PriorityQueue().
00094 { 00095 // Maybe here you would want to copy contents of the old 00096 // implementation to the new one? 00097 // 00098 00099 if (m_impl != 0) 00100 delete m_impl; 00101 00102 m_impl = new PriorityQueue_Heap<T, Compare> (maxsz_, x_); 00103 }
size_t ASSA::PriorityQueue< T, Compare >::size | ( | ) | [inline, virtual] |
Definition at line 148 of file PriorityQueue.h.
References ASSA::PriorityQueue< T, Compare >::m_impl.
00149 { 00150 return m_impl->size (); 00151 }
const T & ASSA::PriorityQueue< T, Compare >::top | ( | ) | const [inline, virtual] |
Definition at line 132 of file PriorityQueue.h.
References ASSA::PriorityQueue< T, Compare >::m_impl.
00133 { 00134 return m_impl->top (); 00135 }
Compare ASSA::PriorityQueue< T, Compare >::m_comp [protected] |
Definition at line 53 of file PriorityQueue.h.
Referenced by ASSA::PriorityQueue< T, Compare >::PriorityQueue().
PriorityQueue_Impl< T, Compare >* ASSA::PriorityQueue< T, Compare >::m_impl [private] |
Definition at line 59 of file PriorityQueue.h.
Referenced by ASSA::PriorityQueue< T, Compare >::getPriorityQueueImpl(), ASSA::PriorityQueue< T, Compare >::insert(), ASSA::PriorityQueue< T, Compare >::operator[](), ASSA::PriorityQueue< T, Compare >::pop(), ASSA::PriorityQueue< T, Compare >::remove(), ASSA::PriorityQueue< T, Compare >::setHeapImpl(), ASSA::PriorityQueue< T, Compare >::size(), ASSA::PriorityQueue< T, Compare >::top(), and ASSA::PriorityQueue< T, Compare >::~PriorityQueue().