SOURCE FILE:  stackL.cpp 
// *********************************************************
// Implementation file StackL.cpp for the ADT stack.
// ADT list implementation.
// *********************************************************
#include "StackL.h"    // header file
stackClass::stackClass()
{
}  // end default constructor
stackClass::stackClass(const stackClass& S): L(S.L)
{
}  // end copy constructor
stackClass::~stackClass()
{
}  // end destructor
bool stackClass::StackIsEmpty() const
{
   return bool(L.ListLength() == 0);
}  // end StackIsEmpty
void stackClass::Push(stackItemType NewItem, 
                      bool& Success)
{
   L.ListInsert(1, NewItem, Success);
}  // end Push
void stackClass::Pop(bool& Success)
{
   L.ListDelete(1, Success);
// Assertion: If list was empty at entry, Success is false.
}  // end Pop
void stackClass::Pop(stackItemType& StackTop, bool& Success)
{
   L.ListRetrieve(1, StackTop, Success);
   L.ListDelete(1, Success);
// Assertion: If list was empty at entry, Success is false.
}  // end Pop
void stackClass::GetStackTop(stackItemType& StackTop, 
                             bool& Success) const
{
   L.ListRetrieve(1, StackTop, Success);
// Assertion: If list was empty at entry, Success is false.
}  // end GetStackTop
// End of implementation file.