Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 10:31:57

0001 #ifndef Node_C
0002 #define Node_C
0003 
0004 namespace ATOOLS {
0005 
0006   template <class Node_Type>
0007   Node<Node_Type>::Node(const Node_Type &node,const bool create): 
0008     std::vector<Node_Type>(1,node), 
0009     p_next(NULL),
0010     p_previous(NULL)
0011   {
0012     if (create) p_next = new std::vector<Node<Node_Type>*>();
0013   }
0014   
0015   template <class Node_Type>
0016   Node<Node_Type>::~Node() 
0017   {
0018     if (p_next!=NULL) {
0019       for (typename std::vector<Node<Node_Type>*>::iterator nit=p_next->begin();
0020        nit!=p_next->end();++nit) {
0021     delete (*nit);
0022       }
0023       delete p_next;
0024     }
0025   }
0026   
0027   template <class Node_Type>
0028   std::vector<Node<Node_Type>*> *Node<Node_Type>::operator->() 
0029   { 
0030     return p_next; 
0031   }
0032   
0033   template <class Node_Type>
0034   std::vector<Node<Node_Type>*> &Node<Node_Type>::operator()() 
0035   { 
0036     return *p_next; 
0037   }
0038   
0039   template <class Node_Type>
0040   void Node<Node_Type>::operator<<(Node<Node_Type> *const prev) 
0041   { 
0042     p_previous=prev; 
0043   }
0044 
0045   template <class Node_Type>
0046   Node<Node_Type>* Node<Node_Type>::operator--() const 
0047   { 
0048     return p_previous; 
0049   }
0050 
0051 }// end of namespace ATOOLS
0052 
0053 #endif