List.h 530 Bytes
#ifndef __List__
#define __List__


class Node 
{
  public:
    Node        *next;
    Node        *prev;                                 
    void        *data;

    Node();
};


class List 
{
  public:    
    Node        *head;
    Node        *tail;
    int         count;    

    List();
    
    Node*  Append(void *data);  // creates a node
    Node*  Prepend(void *data); // creates a node
    void   Remove(Node *node);  // deletes the node
    void   Unhook(Node *node);  // leaves node intact

};


#endif // __List__