<?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?>
<doxygen version="1.2.14">
  <compounddef id="Tokenizer_8h" kind="file">
    <compoundname>Tokenizer.h</compoundname>
    <includes id="classes_8h" local="yes">classes.h</includes>
    <includes id="misc_8h" local="yes">misc.h</includes>
    <includes id="XMLToken_8h" local="yes">XMLToken.h</includes>
    <includes local="no">stack</includes>
    <includes local="no">string</includes>
    <includes local="yes">Tokenizer.cpp</includes>
    <includedby id="SAX__Parser_8h" local="yes">SAX_Parser.h</includedby>
    <includedby id="SAX__EventHandler_8h" local="yes">SAX_EventHandler.h</includedby>
    <includedby id="MiX_8h" local="yes">MiX.h</includedby>
    <incdepgraph>
      <node id="425">
        <label>XMLToken.h</label>
        <link id="XMLToken_8h"/>
        <childnode id="420" relation="public-inheritance">
        </childnode>
        <childnode id="423" relation="public-inheritance">
        </childnode>
        <childnode id="426" relation="public-inheritance">
        </childnode>
        <childnode id="428" relation="public-inheritance">
        </childnode>
      </node>
      <node id="424">
        <label>DefaultTraits.h</label>
        <link id="DefaultTraits_8h"/>
        <childnode id="420" relation="public-inheritance">
        </childnode>
      </node>
      <node id="428">
        <label>XMLToken.cpp</label>
      </node>
      <node id="422">
        <label>string</label>
      </node>
      <node id="419">
        <label>Tokenizer.h</label>
        <link id="Tokenizer.h"/>
        <childnode id="420" relation="public-inheritance">
        </childnode>
        <childnode id="423" relation="public-inheritance">
        </childnode>
        <childnode id="425" relation="public-inheritance">
        </childnode>
        <childnode id="429" relation="public-inheritance">
        </childnode>
        <childnode id="422" relation="public-inheritance">
        </childnode>
        <childnode id="430" relation="public-inheritance">
        </childnode>
      </node>
      <node id="426">
        <label>XMLString.h</label>
        <link id="XMLString_8h"/>
        <childnode id="422" relation="public-inheritance">
        </childnode>
        <childnode id="427" relation="public-inheritance">
        </childnode>
        <childnode id="421" relation="public-inheritance">
        </childnode>
      </node>
      <node id="420">
        <label>classes.h</label>
        <link id="classes_8h"/>
        <childnode id="421" relation="public-inheritance">
        </childnode>
        <childnode id="422" relation="public-inheritance">
        </childnode>
      </node>
      <node id="430">
        <label>Tokenizer.cpp</label>
      </node>
      <node id="429">
        <label>stack</label>
      </node>
      <node id="423">
        <label>misc.h</label>
        <link id="misc_8h"/>
        <childnode id="420" relation="public-inheritance">
        </childnode>
        <childnode id="424" relation="public-inheritance">
        </childnode>
      </node>
      <node id="427">
        <label>iostream</label>
      </node>
      <node id="421">
        <label>config.h</label>
        <link id="config_8h"/>
      </node>
    </incdepgraph>
    <invincdepgraph>
      <node id="433">
        <label>DOM_Parser.h</label>
        <link id="DOM__Parser_8h"/>
        <childnode id="434" relation="public-inheritance">
        </childnode>
      </node>
      <node id="431">
        <label>Tokenizer.h</label>
        <link id="Tokenizer.h"/>
        <childnode id="432" relation="public-inheritance">
        </childnode>
        <childnode id="435" relation="public-inheritance">
        </childnode>
        <childnode id="434" relation="public-inheritance">
        </childnode>
      </node>
      <node id="432">
        <label>SAX_Parser.h</label>
        <link id="SAX__Parser_8h"/>
        <childnode id="433" relation="public-inheritance">
        </childnode>
        <childnode id="434" relation="public-inheritance">
        </childnode>
      </node>
      <node id="434">
        <label>MiX.h</label>
        <link id="MiX_8h"/>
      </node>
      <node id="435">
        <label>SAX_EventHandler.h</label>
        <link id="SAX__EventHandler_8h"/>
        <childnode id="432" relation="public-inheritance">
        </childnode>
      </node>
    </invincdepgraph>
    <innernamespace refid="namespaceMiX">MiX</innernamespace>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <programlisting>
<linenumber line="1"/><codeline><highlight class="comment">// -*- mode: c++ -*-</highlight></codeline>
<linenumber line="2"/><codeline></codeline>
<linenumber line="3"/><codeline><highlight class="preprocessor">#ifndef MIX_TOKENIZER_H_</highlight></codeline>
<linenumber line="4"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define MIX_TOKENIZER_H_</highlight></codeline>
<linenumber line="5"/><codeline><highlight class="preprocessor"></highlight></codeline>
<linenumber line="6"/><codeline></codeline>
<linenumber line="7"/><codeline><highlight class="preprocessor">#include &quot;<ref refid="classes_8h" kindref="compound">classes.h</ref>&quot;</highlight></codeline>
<linenumber line="8"/><codeline><highlight class="preprocessor">#include &quot;<ref refid="misc_8h" kindref="compound">misc.h</ref>&quot;</highlight></codeline>
<linenumber line="9"/><codeline><highlight class="preprocessor">#include &quot;<ref refid="XMLToken_8h" kindref="compound">XMLToken.h</ref>&quot;</highlight></codeline>
<linenumber line="10"/><codeline></codeline>
<linenumber line="11"/><codeline><highlight class="preprocessor">#include &lt;stack&gt;</highlight></codeline>
<linenumber line="12"/><codeline><highlight class="preprocessor">#include &lt;string&gt;</highlight></codeline>
<linenumber line="13"/><codeline></codeline>
<linenumber line="14"/><codeline><highlight class="keyword">namespace </highlight>MiX{</codeline>
<linenumber line="15"/><codeline></codeline>
<linenumber line="16"/><codeline>  <highlight class="keyword">template</highlight> &lt;<highlight class="keyword">class</highlight> <highlight class="keywordtype">char</highlight>T,<highlight class="keyword">class</highlight> <highlight class="keywordtype">char</highlight>_traits,<highlight class="keyword">class</highlight> xml_traits&gt;</codeline>
<linenumber line="17" refid="classMiX_1_1Tokenizer" kindref="compound"/><codeline>  <highlight class="keyword">class </highlight>Tokenizer{</codeline>
<linenumber line="18"/><codeline>  <highlight class="keyword">public</highlight>:</codeline>
<linenumber line="19"/><codeline>    <ref refid="classMiX_1_1Tokenizer_1a0" kindref="member">MiX_Template_Typedef</ref>(charT,char_traits,xml_traits);</codeline>
<linenumber line="20" refid="classMiX_1_1Tokenizer_1s0" kindref="member"/><codeline>    <highlight class="keyword">typedef</highlight> Tokenizer&lt;charT,char_traits,xml_traits&gt; <ref refid="classMiX_1_1Tokenizer_1s0" kindref="member">this_type</ref>;</codeline>
<linenumber line="21" refid="classMiX_1_1Tokenizer_1s1" kindref="member"/><codeline>    <highlight class="keyword">typedef</highlight> XMLToken&lt;charT,char_traits,xml_traits&gt; <ref refid="classMiX_1_1Tokenizer_1s1" kindref="member">token_type</ref>;</codeline>
<linenumber line="22"/><codeline>  <highlight class="keyword">private</highlight>:</codeline>
<linenumber line="23"/><codeline>    <highlight class="keyword">const</highlight> charT* data_;</codeline>
<linenumber line="24"/><codeline>    <highlight class="keyword">const</highlight> charT* start_;</codeline>
<linenumber line="25"/><codeline>    <highlight class="keyword">const</highlight> charT* current_;</codeline>
<linenumber line="31"/><codeline>    charT* line_;</codeline>
<linenumber line="32"/><codeline>    <highlight class="keywordtype">long</highlight> len_;</codeline>
<linenumber line="33"/><codeline>    <highlight class="keyword">static</highlight> <highlight class="keyword">const</highlight> charT tokens_[15];</codeline>
<linenumber line="34"/><codeline>    std::stack&lt;token_type&gt; stack_;</codeline>
<linenumber line="35"/><codeline>    <highlight class="keyword">static</highlight> <ref refid="namespaceMiX_1a39" kindref="member">TokenType</ref> isToken(charT);</codeline>
<linenumber line="36"/><codeline></codeline>
<linenumber line="37"/><codeline>    std::basic_istream&lt;charT, char_traits&gt;* is_;</codeline>
<linenumber line="38"/><codeline></codeline>
<linenumber line="39"/><codeline>    <highlight class="keywordtype">bool</highlight> injectStringFromBuffer(<highlight class="keyword">const</highlight> charT* text)</codeline>
<linenumber line="40"/><codeline>      { current_ = start_ = data_ = text; <highlight class="keywordflow">return</highlight> <highlight class="keyword">true</highlight>; }</codeline>
<linenumber line="41"/><codeline></codeline>
<linenumber line="42"/><codeline>    <highlight class="keywordtype">bool</highlight> fillUpBuffer();</codeline>
<linenumber line="43"/><codeline>  <highlight class="keyword">public</highlight>:</codeline>
<linenumber line="45" refid="classMiX_1_1Tokenizer_1a1" kindref="member"/><codeline>    <ref refid="classMiX_1_1Tokenizer_1a1" kindref="member">Tokenizer</ref>() : is_(0),line_(0) { }</codeline>
<linenumber line="47" refid="classMiX_1_1Tokenizer_1a2" kindref="member"/><codeline>    <ref refid="classMiX_1_1Tokenizer_1a2" kindref="member">~Tokenizer</ref>(){ <highlight class="keywordflow">if</highlight>(line_) <highlight class="keyword">delete</highlight> line_; }</codeline>
<linenumber line="49" refid="classMiX_1_1Tokenizer_1a3" kindref="member"/><codeline>    <highlight class="keywordtype">bool</highlight> <ref refid="classMiX_1_1Tokenizer_1a3" kindref="member">injectString</ref>(<highlight class="keyword">const</highlight> charT* text)</codeline>
<linenumber line="50"/><codeline>      { current_ = start_ = data_ = text; <highlight class="keywordflow">return</highlight> <highlight class="keyword">true</highlight>; }</codeline>
<linenumber line="52"/><codeline>    <highlight class="keywordtype">bool</highlight> <ref refid="classMiX_1_1Tokenizer_1a4" kindref="member">ejectToken</ref>(<ref refid="classMiX_1_1Tokenizer_1s1" kindref="member">token_type</ref>&amp; dest);</codeline>
<linenumber line="54" refid="classMiX_1_1Tokenizer_1a5" kindref="member"/><codeline>    <highlight class="keywordtype">void</highlight> <ref refid="classMiX_1_1Tokenizer_1a5" kindref="member">pushToken</ref>(<highlight class="keyword">const</highlight> <ref refid="classMiX_1_1Tokenizer_1s1" kindref="member">token_type</ref>&amp; tok){</codeline>
<linenumber line="55"/><codeline>      stack_.push(tok);</codeline>
<linenumber line="56"/><codeline>    }</codeline>
<linenumber line="57"/><codeline></codeline>
<linenumber line="58" refid="classMiX_1_1Tokenizer_1a6" kindref="member"/><codeline>    <highlight class="keywordtype">bool</highlight> <ref refid="classMiX_1_1Tokenizer_1a6" kindref="member">injectStream</ref>(std::basic_istream&lt;charT, char_traits&gt;&amp; is)</codeline>
<linenumber line="59"/><codeline>      { is_ = &amp;is; fillUpBuffer(); <highlight class="keywordflow">return</highlight> <highlight class="keyword">true</highlight>; }</codeline>
<linenumber line="60"/><codeline>  </codeline>
<linenumber line="61"/><codeline>  };</codeline>
<linenumber line="62"/><codeline></codeline>
<linenumber line="63"/><codeline>}</codeline>
<linenumber line="64"/><codeline></codeline>
<linenumber line="65"/><codeline><highlight class="preprocessor">#ifndef MIX_TOKENIZER_CPP_</highlight></codeline>
<linenumber line="66"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include &quot;Tokenizer.cpp&quot;</highlight></codeline>
<linenumber line="67"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
<linenumber line="68"/><codeline><highlight class="preprocessor"></highlight></codeline>
<linenumber line="69"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
    </programlisting>
    <location file="/home/yotaro/prog/MiX-0.5.0/src/MiX/Tokenizer.h"/>
  </compounddef>
</doxygen>
