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

DefaultXMLTraits.h

解説を見る。
00001 // -*- mode: c++ -*-
00002 #ifndef MiX_DEFAULTXMLTRAITS_H_
00003 #define MiX_DEFAULTXMLTRAITS_H_
00004 
00005 // Adlib/DefaultXMLTraits.h
00006 // (C) Copyright KUBO,Yotaro.
00007 // [o[W]
00008 // 0.4.7
00009 //   - DefaultXMLTraits.cppIncludeGuard}NX
00010 #include <string>
00011 #include <cctype>
00012 #include "config.h"
00013 
00014 namespace MiX{
00015 
00016   template <class charT,class char_traits>
00017   class DefaultXMLTraits{
00018   public:
00019     typedef std::basic_string<charT,char_traits> basic_string_type;
00020   private:
00021     static basic_string_type makeString(const char* szSrc);
00022 
00023   public:
00025     static charT null(){ return static_cast<charT>('\0'); }
00027     static charT crlf(){ return static_cast<charT>('\n'); }
00029     static charT sp(){ return static_cast<charT>(' '); }
00031     static charT tab(){ return static_cast<charT>('\t'); }
00032 
00034     static charT lt(){ return static_cast<charT>('<'); }
00036     static charT eq(){ return static_cast<charT>('='); }
00038     static charT gt(){ return static_cast<charT>('>'); }
00039 
00041     static charT slash(){ return static_cast<charT>('/'); }
00043     static charT hyphen(){ return static_cast<charT>('-'); }
00045     static charT colon() { return static_cast<charT>(':'); }
00047     static charT semicolon(){ return static_cast<charT>(';'); }
00048 
00050     static charT exclamation(){ return static_cast<charT>('!'); }
00052     static charT question(){ return static_cast<charT>('?'); }
00054     static charT amp(){ return static_cast<charT>('&'); }
00055 
00057     static charT dblquote() { return static_cast<charT>('\"'); }
00059     static charT quote() { return static_cast<charT>('\''); }
00060 
00061     //
00062     //XMLgB
00064     static basic_string_type xml(){ 
00065       return makeString("xml");
00066     }
00068     static basic_string_type cdata(){
00069       return makeString("CDATA");
00070     }
00072     static basic_string_type str_lt(){
00073       return makeString("lt");
00074     }
00076     static basic_string_type str_gt(){
00077       return makeString("gt");
00078     }
00080     static basic_string_type str_amp(){
00081       return makeString("amp");
00082     }
00084     static basic_string_type str_quot(){
00085       return makeString("quot");
00086     }
00088     static basic_string_type str_apos(){
00089       return makeString("apos");
00090     }
00091 
00093     static basic_string_type str_xmlns(){ 
00094       return makeString("xmlns");
00095     }
00096 
00105     static int ci_compare(const charT* s1,const charT* s2,size_t n){
00106       for(size_t i=0;i<n;i++){
00107         int c1,c2;
00108         c1 = std::tolower(static_cast<int>(s1[i]));
00109         c2 = std::tolower(static_cast<int>(s2[i]));
00110         if(c1>c2) return 1;
00111         if(c1<c2) return -1;
00112       }
00113       return 0;
00114     }
00115     
00116   };
00117 }
00118 
00119 #ifndef MiX_DEFAULTXMLTRAITS_CPP_
00120 #include "DefaultXMLTraits.cpp"
00121 #endif
00122 
00123 #endif

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