メインページ   名前空間一覧   クラス階層   構成   ファイル一覧   名前空間メンバ   構成メンバ   ファイルメンバ  

Node.h

解説を見る。
00001 // -*- mode: c++ -*-
00002 
00003 #ifndef MIX_NODE_H_
00004 #define MIX_NODE_H_
00005 
00006 #include "classes.h"
00007 #include "misc.h"
00008 #include "DefaultXMLTraits.h"
00009 
00010 namespace MiX{
00011 
00012   template <class charT,class char_traits,class xml_traits>
00013   class Node{
00014   public:
00015     MiX_Template_Typedef(charT,char_traits,xml_traits);
00016     typedef typename nodelist_type::iterator nodelist_iter; 
00017     typedef NamedNode<charT,char_traits,xml_traits> this_type;
00018   private:
00019     NodeContainer<charT,char_traits,xml_traits>* parent_;
00020   protected:
00026     Node(const this_type& src){ };
00028     Node(){ parent_ = 0; };
00030     void setParent(nodecontainer_type& parent){ parent_ = &parent; };
00031   public:
00033     virtual ~Node()throw();
00035     virtual void destroy()throw() { delete this; } ;
00037     const nodecontainer_type& getParent() const;
00039     nodecontainer_type& getParent();
00041     virtual NodeType getType() const = 0;
00051     virtual string_type toString(bool indent=false,const string_type& idt=xml_traits::indent() ,int indent_off=0)const = 0;
00053     virtual node_type& clone(nodecontainer_type& parent,const nodelist_iter& it) const=0;
00054     friend class DOM_Parser<charT,char_traits,xml_traits>;
00055     friend class NodeContainer<charT,char_traits,xml_traits>;
00056   };
00057 }
00058 
00059 #ifndef MIX_NODE_CPP_
00060 #include "Node.cpp"
00061 #endif
00062 
00063 #endif

MiXに対してThu Sep 4 05:11:11 2003に生成されました。 doxygen1.2.18