// NodeI.h -- A class that represents an element in a doubly linked list
//            of integers.
//            The class is a helper class for the ListI class.
// Note: It should be noted that all of the members of this class (including
//  the constructors) are private.
// Author: taylor@msoe.edu
// Date: 10-26-2001

#ifndef NODEI_H
#define NODEI_H

// Dummy declartions of the ListI and IteratorLI classes.  This is needed
//  because they are referenced below (making them friends).
class ListI;
class IteratorLI;

class NodeI {
private:
  NodeI(int val=0, NodeI* back=0, NodeI* forward=0);
  NodeI(const NodeI& org);
  ~NodeI();
  NodeI& operator=(const NodeI& rhs);
  int value;
  NodeI* prev;
  NodeI* next;
  friend ListI;
  friend IteratorLI;
};

#endif
