00001 00007 #pragma once 00008 00009 #include "attribute.hpp" 00010 00015 class agls_API INode 00016 : public IObject 00017 { 00018 public: 00022 virtual ~INode(void) { ; } 00023 }; 00024 00029 template<typename TN> 00030 class agls_API TNode 00031 : public TObject<TN> 00032 { 00033 typedef std::vector<TAttribute<IAttribute>*> VecAttributePtr; 00034 00035 public: 00039 TNode(void) 00040 { 00041 this->m_vecAttributePtrAttr.clear(); 00042 } 00043 00047 virtual ~TNode(void) { ; } 00048 00049 private: 00050 VecAttributePtr m_vecAttributePtrAttr; 00051 }; 00052 00057 class agls_API CNode 00058 : public TNode<INode> 00059 { 00060 public: 00064 CNode(void); 00065 00069 virtual ~CNode(void); 00070 };