#include "Stack.H"

Stack::Stack()
  {
  youngest = nil;
  }

void Stack::operator<<(Poly x)
  {
  youngest = cons(x, youngest);
  }

int Stack::operator>>(Poly & x)
  {
  if( youngest.isEmpty() )
    {
    return 0;
    }

  x = youngest.first();
  youngest = youngest.rest();
  return 1;
  }