Loading...
Searching...
No Matches
ASSA::PriorityQueue_Impl< T, Compare > Class Template Referenceabstract

Class PriorityQueue_Impl. More...

`#include <PriorityQueue_Impl.h>`

Inheritance diagram for ASSA::PriorityQueue_Impl< 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 | ( |  | ) |

inline virtual

Definition at line 68 of file PriorityQueue_Impl.h.

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

## Member Function Documentation

## insert()

template<class T, class Compare>

virtual void ASSA::PriorityQueue_Impl< T, Compare >::insert | ( | const T & |  | ) |

pure virtual

Implemented in ASSA::PriorityQueue_Heap< T, Compare >, and ASSA::PriorityQueue_STLPQ< T, Compare >.

## operator[]()

template<class T, class Compare>

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

pure virtual

Implemented in ASSA::PriorityQueue_Heap< T, Compare >.

## pop()

template<class T, class Compare>

virtual T ASSA::PriorityQueue_Impl< T, Compare >::pop | ( |  | ) |

pure virtual

Implemented in ASSA::PriorityQueue_Heap< T, Compare >, and ASSA::PriorityQueue_STLPQ< T, Compare >.

## remove()

template<class T, class Compare>

virtual bool ASSA::PriorityQueue_Impl< T, Compare >::remove | ( | T |  | ) |

pure virtual

Implemented in ASSA::PriorityQueue_Heap< T, Compare >.

## size()

template<class T, class Compare>

virtual size_t ASSA::PriorityQueue_Impl< T, Compare >::size | ( |  | ) |

pure virtual

Implemented in ASSA::PriorityQueue_Heap< T, Compare >, and ASSA::PriorityQueue_STLPQ< T, Compare >.

## top()

template<class T, class Compare>

virtual const T & ASSA::PriorityQueue_Impl< T, Compare >::top | ( |  | ) | const

pure virtual

Implemented in ASSA::PriorityQueue_Heap< T, Compare >, and ASSA::PriorityQueue_STLPQ< T, Compare >.

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

- PriorityQueue.h
- PriorityQueue_Impl.h