SOURCE FILE: QueueL.cpp


// ********************************************************
// Implementation file QueueL.cpp for the ADT queue.
// ADT list implementation.
// ********************************************************
#include "QueueL.h"  // header file

queueClass::queueClass()
{
}  // end default constructor

queueClass::queueClass(const queueClass& Q): L(Q.L)
{
}  // end copy constructor

queueClass::~queueClass()
{
}  // end destructor

bool queueClass::QueueIsEmpty() const
{
   return bool(L.ListLength() == 0);
}  // end QueueIsEmpty

void queueClass::QueueInsert(queueItemType NewItem, 
                             bool& Success)
{
   L.ListInsert(L.ListLength()+1, NewItem, Success);
}  // end QueueInsert

void queueClass::QueueDelete(bool& Success)
{
   L.ListDelete(1, Success);
   // Assertion: If list was empty at entry, Success 
   // is false.
}  // end QueueDelete

void queueClass::QueueDelete(queueItemType& QueueFront, 
                             bool& Success)
{
   L.ListRetrieve(1, QueueFront, Success);
   if (Success)
      L.ListDelete(1, Success);
   // Assertion: If list was empty at entry, Success 
   // is false.
}  // end QueueDelete

void queueClass::GetQueueFront(queueItemType& QueueFront,
                               bool& Success) const
{
   L.ListRetrieve(1, QueueFront, Success);
   // Assertion: If list was empty at entry, Success 
   // is false.
}  // end GetQueueFront
// End of implementation file.