queue.h 707 B

1234567891011121314151617181920
  1. #ifndef QUEUE_H_
  2. #define QUEUE_H_
  3. /**
  4. * The Queue is a pure virtual (abstract) interface of a queue. Queue
  5. * implementations should inherit from and implement this interface.
  6. */
  7. template <typename T>
  8. class Queue {
  9. public:
  10. virtual ~Queue() { }; // An empty virtual destructor.
  11. virtual void enqueue(T item) = 0; // Put an item on the end of the queue.
  12. virtual T dequeue() = 0; // Remove and return front item.
  13. virtual int getSize() = 0; // Returns current number of items.
  14. virtual bool isEmpty() = 0; // Returns true if the queue is empty.
  15. virtual T getFront() = 0; // Returns (but does not remove) front.
  16. };
  17. #endif // QUEUE_H_