//---------------------------------------------------------------------------

#ifndef NodeH
#define NodeH
   
class Connection;

class Node {
  friend class Network;
  protected:
	  PLA data;					// the PLA
	  vector<Connection*> fanin;	// fan-in nodes
	  vector<Connection*> fanout;	// fan-out nodes
	  unsigned int index;		// index of the node, if the network is indexed

  public:
	  Node( PLA &_pla );
	  Node( SoPLA &_pla );
	  ~Node();

	  // getters & setters
	  PLA *GetData(void) { return &data; };
};






//---------------------------------------------------------------------------
#endif
