// Created by Frank M. Carrano and Tim Henry. // Copyright (c) 2013 __Pearson Education__. All rights reserved. /** ADT queue: ADT list implementation. Listing 14-2. @file ListQueue.cpp */ #include "ListQueue.h" // header file template ListQueue::ListQueue() { listPtr = new LinkedList(); } // end default constructor template ListQueue::ListQueue(const ListQueue& aQueue) : listPtr(aQueue.listPtr) { } // end copy constructor template ListQueue::~ListQueue() { } // end destructor template bool ListQueue::isEmpty() const { return listPtr->isEmpty(); } // end isEmpty template bool ListQueue::enqueue(const ItemType& newEntry) { return listPtr->insert(listPtr->getLength() + 1, newEntry); } // end enqueue template bool ListQueue::dequeue() { return listPtr->remove(1); } // end dequeue template ItemType ListQueue::peekFront() const throw(PrecondViolatedExcep) { if (isEmpty()) throw PrecondViolatedExcep("peekFront() called with empty queue."); // Queue is not empty; return front return listPtr->getEntry(1); } // end peekFront // End of implementation file.