1: // Created by Frank M. Carrano and Tim Henry. 2: // Copyright (c) 2013 __Pearson Education__. All rights reserved. 4: /** ADT queue: ADT list implementation. 5: Listing 14-2. 6: @file ListQueue.cpp */ 8: #include "ListQueue.h" // header file 10: template<class ItemType> 11: ListQueue<ItemType>::ListQueue() 12: { 13: listPtr = new LinkedList<ItemType>(); 14: } // end default constructor 16: template<class ItemType> 17: ListQueue<ItemType>::ListQueue(const ListQueue& aQueue) : listPtr(aQueue.listPtr) 18: { 19: } // end copy constructor 21: template<class ItemType> 22: ListQueue<ItemType>::~ListQueue() 23: { 24: } // end destructor 26: template<class ItemType> 27: bool ListQueue<ItemType>::isEmpty() const 28: { 29: return listPtr->isEmpty(); 30: } // end isEmpty 32: template<class ItemType> 33: bool ListQueue<ItemType>::enqueue(const ItemType& newEntry) 34: { 35: return listPtr->insert(listPtr->getLength() + 1, newEntry); 36: } // end enqueue 38: template<class ItemType> 39: bool ListQueue<ItemType>::dequeue() 40: { 41: return listPtr->remove(1); 42: } // end dequeue 44: template<class ItemType> 45: ItemType ListQueue<ItemType>::peekFront() const throw(PrecondViolatedExcep) 46: { 47: if (isEmpty()) 48: throw PrecondViolatedExcep("peekFront() called with empty queue."); 50: // Queue is not empty; return front 51: return listPtr->getEntry(1); 52: } // end peekFront 53: // End of implementation file.