#ifndef __QUEUE_H__
#define __QUEUE_H__

#include "coord.h"

typedef Coordinate ItemType;

class Queue
{
public:
  Queue();

  bool isFull() const;
  bool isEmpty() const;
  
  void makeEmpty();
  void enqueue(const ItemType& toAdd);
  void dequeue(ItemType& dequeued);

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

  Node *first; // we don't need no stinkin' tail
};

#endif

