Text.h Source File

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

# Text.h

解説を見る。

    00001 // -*- mode: c++ -*-
    00002
    00003 #ifndef MiX_TEXT_H_
    00004 #define MiX_TEXT_H_
    00005
    00006 #include "classes.h"
    00007 #include "misc.h"
    00008 #include "XMLString.h"
    00009 #include "NodeList.h"
    00010 #include "extern/noncopyable.hpp"
    00011
    00012 namespace MiX{
    00013   template <class charT,class char_traits,class xml_traits>
    00014   class Text : boost::noncopyable,
    00015                public Value<charT,char_traits,xml_traits>{
    00016   public:
    00017     MiX_Template_Typedef(charT,char_traits,xml_traits);
    00018     typedef Text<charT,char_traits,xml_traits> this_type;
    00019     typedef NodeContainer<charT,char_traits,xml_traits> nodecontainer_type;
    00020     typedef typename nodelist_type::iterator nodelist_iter;
    00021   protected:
    00022     const static typename NodeList<charT,char_traits,xml_traits>::iterator dmy_it;
    00029     Text(const string_type& val) : Value<charT,char_traits,xml_traits>(val){ };
    00030   public:
    00032     virtual ~Text()throw(){ };
    00034     virtual NodeType getType()const{ return Node_Text; };
    00040     static NodeType type(){ return Node_Text; };
    00047     virtual string_type toString(bool indent=false,int indent_off=0)const;
    00054     node_type& clone(nodecontainer_type& parent,const nodelist_iter& it = dmy_it) const
    00055       { return create(getValue(),dynamic_cast<element_type&>(parent),it); }
    00056
    00064     static this_type& create(const string_type& str,element_type& parent,const typename nodelist_type::iterator& it = dmy_it);
    00065
    00066     friend class DOM_Parser<charT,char_traits,xml_traits>;
    00067   };
    00068 }
    00069
    00070 #ifndef MiX_TEXT_CPP_
    00071 #include "Text.cpp"
    00072 #endif
    00073
    00074 #endif