/**********************
 * Node.h
 * *******************/
 #ifndef _NODE_H_
 #define _NODE_H_
 
 template< class Container >
 class Node
 {
 private:
 
 	Container configuration;
 	
 public:	
 	template< class Container >
 	friend ostream& operator<<( ostream& out, const Node< Container >& node );
 };
 
 #endif
 
 /***************************
  * Node.cpp
  * ************************/
  
  #include "Node.h"
  
  //explicit instantiation
  template Node< StringContainer >;
  template Node< IntegerContainer >;
  
  template< class Container >
  friend ostream& operator<<( ostream& out, const Node< Container >& node )
  {
  	
  	out << node.configuration;
  	
  	return out;
  }