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

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     typedef NodeContainer<charT,char_traits,xml_traits> nodecontainer_type;
00019   private:
00020     NodeContainer<charT,char_traits,xml_traits>* parent_;
00021   protected:
00027     Node(const this_type& src){ };
00029     Node(){ parent_ = 0; };
00031     void setParent(nodecontainer_type& parent){ parent_ = &parent; };
00032   public:
00034     virtual ~Node()throw();
00036     virtual void destroy()throw() { delete this; } ;
00038     const nodecontainer_type& getParent() const;
00040     nodecontainer_type& getParent();
00042     virtual NodeType getType() const = 0;
00044     virtual string_type toString(bool indent=false,int indent_off=0)const = 0;
00046     virtual node_type& clone(nodecontainer_type& parent,const nodelist_iter& it) const=0;
00047     friend class DOM_Parser<charT,char_traits,xml_traits>;
00048     friend class NodeContainer<charT,char_traits,xml_traits>;
00049   };
00050 }
00051 
00052 #ifndef MIX_NODE_CPP_
00053 #include "Node.cpp"
00054 #endif
00055 
00056 #endif

MiXに対してSun Nov 17 01:28:36 2002に生成されました。 doxygen1.2.14 作者 Dimitri van Heesch, © 1997-2002