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.