libassa  3.5.1
Public Member Functions | List of all members
ASSA::PriorityQueue_Impl< T, Compare > Class Template Referenceabstract

Class PriorityQueue_Impl. More...

#include <PriorityQueue_Impl.h>

Inheritance diagram for ASSA::PriorityQueue_Impl< T, Compare >:
ASSA::PriorityQueue_Heap< T, Compare > ASSA::PriorityQueue_STLPQ< T, Compare >

Public Member Functions

virtual ~PriorityQueue_Impl ()
 
virtual void insert (const T &)=0
 
virtual T pop ()=0
 
virtual const T & top () const =0
 
virtual bool remove (T)=0
 
virtual size_t size ()=0
 
virtual T & operator[] (int)=0
 

Detailed Description

template<class T, class Compare>
class ASSA::PriorityQueue_Impl< T, Compare >

Class PriorityQueue_Impl.

Interface class that defines Implementor of the Bridge pattern. Derived classes provide concrete implementations of PriorityQueue.

Definition at line 53 of file PriorityQueue_Impl.h.

Constructor & Destructor Documentation

◆ ~PriorityQueue_Impl()

template<class T , class Compare >
ASSA::PriorityQueue_Impl< T, Compare >::~PriorityQueue_Impl
inlinevirtual

Definition at line 68 of file PriorityQueue_Impl.h.

70 {
71  // Here is the twist: we must provide a definition for the virtual
72  // destructor. We need the definition here because the way virtual
73  // destructors work. Most derived class's destructor is called first,
74  // then the destructor of each base class is called. That means that
75  // the compiler will generate a call to ~PriorityQueue_Impl, even
76  // though the class is abstract - that's why we need body here.
77 
78  /* no-op */
79 }

Member Function Documentation

◆ insert()

template<class T , class Compare >
virtual void ASSA::PriorityQueue_Impl< T, Compare >::insert ( const T &  )
pure virtual

◆ operator[]()

template<class T , class Compare >
virtual T& ASSA::PriorityQueue_Impl< T, Compare >::operator[] ( int  )
pure virtual

◆ pop()

template<class T , class Compare >
virtual T ASSA::PriorityQueue_Impl< T, Compare >::pop ( )
pure virtual

◆ remove()

template<class T , class Compare >
virtual bool ASSA::PriorityQueue_Impl< T, Compare >::remove ( )
pure virtual

◆ size()

template<class T , class Compare >
virtual size_t ASSA::PriorityQueue_Impl< T, Compare >::size ( )
pure virtual

◆ top()

template<class T , class Compare >
virtual const T& ASSA::PriorityQueue_Impl< T, Compare >::top ( ) const
pure virtual

The documentation for this class was generated from the following files: