Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-15 10:30:41

0001 #ifndef ATOOLS_Org_Node_H
0002 #define ATOOLS_Org_Node_H
0003 
0004 #include <vector>
0005 
0006 namespace ATOOLS {
0007 
0008   template <class Node_Type>
0009   class Node: public std::vector<Node_Type> {
0010   private:
0011     
0012     std::vector<Node<Node_Type>*> *p_next;
0013 
0014     Node<Node_Type> *p_previous; 
0015 
0016     Node();
0017     
0018   public:
0019 
0020     // constructor
0021     Node(const Node_Type &node,const bool create=false);
0022     
0023     // destructor
0024     ~Node();
0025     
0026     // member functions
0027     std::vector<Node<Node_Type>*> *operator->();
0028     std::vector<Node<Node_Type>*> &operator()();
0029 
0030     void operator<<(Node<Node_Type> *const prev);
0031 
0032     Node<Node_Type>* operator--() const;
0033 
0034   };// end of class Node
0035 
0036 }// end of namespace ATOOLS
0037 
0038 #include "ATOOLS/Org/Node.C"
0039 
0040 #endif