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

Attribute.h

解説を見る。
00001 // -*- mode: c++ -*-
00002 #ifndef MiX_ATTRIBUTE_H_
00003 #define MiX_ATTRIBUTE_H_
00004 
00005 #include "classes.h"
00006 #include "misc.h"
00007 #include "XMLString.h"
00008 #include "NamedNode.h"
00009 #include "Value.h"
00010 #include "extern/noncopyable.hpp"
00011 
00012 namespace MiX{
00013 
00014   template <class charT,class char_traits,class xml_traits>
00015   class Attribute : boost::noncopyable,
00016                     public Value<charT,char_traits,xml_traits> ,
00017                     public NamedNode<charT,char_traits,xml_traits>{
00018   public:
00019     MiX_Template_Typedef(charT,char_traits,xml_traits);
00020     typedef Attribute<charT,char_traits,xml_traits> this_type;
00021     typedef typename nodelist_type::iterator nodelist_iter; 
00022   private:
00023     const static typename nodelist_type::iterator dmy_it;
00024   protected:
00031     Attribute(const string_type& name,const string_type ns,const string_type& val)
00032       : Value<charT,char_traits,xml_traits>(val),
00033         NamedNode<charT,char_traits,xml_traits>(name,ns){ };
00034     Attribute(const string_type& name,const string_type& val)
00035       : Value<charT,char_traits,xml_traits>(val),
00036         NamedNode<charT,char_traits,xml_traits>(name){ };
00037   public:
00039     virtual ~Attribute()throw() { };
00041     virtual NodeType getType()const { return Node_Attribute; };
00047     static NodeType type(){ return Node_Attribute; };
00048 
00049     string_type getFullName() const;
00055     virtual string_type toString(bool dmy=false,int dmy2=0)const;
00056 
00062     node_type& clone(nodecontainer_type& parent,const nodelist_iter& it=dmy_it) const
00063       { return create(getName(),getURL(),getValue(),parent); };
00064 
00072     static this_type& create(const string_type& key,const string_type& val,nodecontainer_type& parent) 
00073       { return this_type::create(key,string_type(),val,parent); }
00082     static this_type& create(const string_type& key,const string_type& ns,const string_type& val,nodecontainer_type& parent);
00083     
00084     friend class DOM_Parser<charT,char_traits,xml_traits>;
00085   };
00086 }
00087 
00088 #ifndef MiX_ATTRIBUTE_CPP_
00089 #include "Attribute.cpp"
00090 #endif
00091 
00092 #endif

MiXに対してMon Nov 18 03:48:27 2002に生成されました。 doxygen1.2.14 作者 Dimitri van Heesch, © 1997-2002