メインページ   名前空間リスト   クラス階層   データ構造リスト   ファイルリスト   名前空間メンバ   データ構造メンバ   ファイルメンバ  

Tokenizer.h

このファイルの解説を見る。
00001 // -*- mode: c++ -*-
00002 
00003 #ifndef MIX_TOKENIZER_H_
00004 #define MIX_TOKENIZER_H_
00005 
00006 
00007 #include "classes.h"
00008 #include "misc.h"
00009 #include "XMLToken.h"
00010 
00011 #include <stack>
00012 #include <string>
00013 
00014 namespace MiX{
00023   template <class Char,class Traits,class XMLTraits>
00024   class Tokenizer{
00025   public:
00026     MiX_Template_Typedef(Char,Traits,XMLTraits);
00027     typedef Tokenizer<Char,Traits,XMLTraits> this_type;
00028     typedef XMLToken<Char,Traits,XMLTraits> token_type;
00029   private:
00030     const Char* data_;
00031     const Char* start_;
00032     const Char* current_;
00033     long len_;
00034     static const Char tokens_[];//m_pTokens[];
00035     MiX_STD::stack<token_type> stack_;
00036     static TokenType isToken(Char);
00037   public:
00039     Tokenizer(){ };
00041     bool injectString(const Char* text)
00042       { current_ = start_ = data_ = text; return true; };
00044     bool ejectToken(XMLToken<Char,Traits,XMLTraits>& dest);
00046     void pushToken(const XMLToken<Char,Traits,XMLTraits>& tok){
00047       stack_.push(tok);
00048     }
00049   };
00050 
00051 }
00052 
00053 #ifndef MIX_TOKENIZER_CPP_
00054 #include "Tokenizer.cpp"
00055 #endif
00056 
00057 #endif

MiXに対してFri Jun 28 05:13:59 2002に生成されました。 doxygen1.2.11.1 の開発者: Dimitri van Heesch, © 1997-2001