#ifndef __STACK_H__
#define __STACK_H__

#include "coord.h"

typedef Coordinate ItemType;

class Stack
{
public:
  Stack();

  bool isFull() const;
  bool isEmpty() const;
  
  void makeEmpty();
  void pop(ItemType& popped);
  void push(const ItemType& toAdd);

private:
  struct Node
  {
    ItemType info;
    Node* next;
  };

  Node* head;
};

#endif

