<?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?>
<doxygen version="1.2.14">
  <compounddef id="Functions_8h" kind="file">
    <compoundname>Functions.h</compoundname>
    <includes id="misc_8h" local="yes">misc.h</includes>
    <includes local="yes">extern/compose.hpp</includes>
    <includes local="no">functional</includes>
    <includes local="yes">Functions.cpp</includes>
    <incdepgraph>
      <node id="217">
        <label>Functions.cpp</label>
      </node>
      <node id="216">
        <label>functional</label>
      </node>
      <node id="214">
        <label>DefaultTraits.h</label>
        <link id="DefaultTraits_8h"/>
        <childnode id="211" relation="public-inheritance">
        </childnode>
      </node>
      <node id="209">
        <label>Functions.h</label>
        <link id="Functions.h"/>
        <childnode id="210" relation="public-inheritance">
        </childnode>
        <childnode id="215" relation="public-inheritance">
        </childnode>
        <childnode id="216" relation="public-inheritance">
        </childnode>
        <childnode id="217" relation="public-inheritance">
        </childnode>
      </node>
      <node id="213">
        <label>string</label>
      </node>
      <node id="211">
        <label>classes.h</label>
        <link id="classes_8h"/>
        <childnode id="212" relation="public-inheritance">
        </childnode>
        <childnode id="213" relation="public-inheritance">
        </childnode>
      </node>
      <node id="210">
        <label>misc.h</label>
        <link id="misc_8h"/>
        <childnode id="211" relation="public-inheritance">
        </childnode>
        <childnode id="214" relation="public-inheritance">
        </childnode>
      </node>
      <node id="215">
        <label>extern/compose.hpp</label>
      </node>
      <node id="212">
        <label>config.h</label>
        <link id="config_8h"/>
      </node>
    </incdepgraph>
    <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><highlight class="preprocessor">#ifndef MIX_FUNCTIONS_H_</highlight></codeline>
<linenumber line="3"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define MIX_FUNCTIONS_H_</highlight></codeline>
<linenumber line="4"/><codeline><highlight class="preprocessor"></highlight></codeline>
<linenumber line="5"/><codeline><highlight class="preprocessor">#include &quot;<ref refid="misc_8h" kindref="compound">misc.h</ref>&quot;</highlight></codeline>
<linenumber line="6"/><codeline><highlight class="preprocessor">#include &quot;extern/compose.hpp&quot;</highlight></codeline>
<linenumber line="7"/><codeline></codeline>
<linenumber line="8"/><codeline><highlight class="preprocessor">#include &lt;functional&gt;</highlight></codeline>
<linenumber line="9"/><codeline></codeline>
<linenumber line="14"/><codeline><highlight class="keyword">namespace </highlight>MiX{</codeline>
<linenumber line="15"/><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="16" refid="classMiX_1_1NodeTypeChecker" kindref="compound"/><codeline>  <highlight class="keyword">class </highlight>NodeTypeChecker</codeline>
<linenumber line="17"/><codeline>    : <highlight class="keyword">public</highlight> std::unary_function&lt;const Node&lt;charT,char_traits,xml_traits&gt;*,bool&gt;{</codeline>
<linenumber line="18"/><codeline>  <highlight class="keyword">public</highlight>:</codeline>
<linenumber line="19"/><codeline>    <ref refid="classMiX_1_1NodeTypeChecker_1a0" kindref="member">MiX_Template_Typedef</ref>(charT,char_traits,xml_traits);</codeline>
<linenumber line="20" refid="classMiX_1_1NodeTypeChecker_1s0" kindref="member"/><codeline>    <highlight class="keyword">typedef</highlight> <highlight class="keyword">const</highlight> Node&lt;charT,char_traits,xml_traits&gt;* <ref refid="classMiX_1_1NodeTypeChecker_1s0" kindref="member">argument_type</ref>;</codeline>
<linenumber line="21" refid="classMiX_1_1NodeTypeChecker_1s1" kindref="member"/><codeline>    <highlight class="keyword">typedef</highlight> <highlight class="keywordtype">bool</highlight> <ref refid="classMiX_1_1NodeTypeChecker_1s1" kindref="member">result_type</ref>; </codeline>
<linenumber line="22"/><codeline>  <highlight class="keyword">private</highlight>:</codeline>
<linenumber line="23"/><codeline>    <ref refid="namespaceMiX_1a37" kindref="member">NodeType</ref> type_;</codeline>
<linenumber line="24"/><codeline>  <highlight class="keyword">public</highlight>:</codeline>
<linenumber line="26" refid="classMiX_1_1NodeTypeChecker_1a1" kindref="member"/><codeline>    <ref refid="classMiX_1_1NodeTypeChecker_1a1" kindref="member">NodeTypeChecker</ref>(<ref refid="namespaceMiX_1a37" kindref="member">NodeType</ref> t) : type_(t){ };</codeline>
<linenumber line="28" refid="classMiX_1_1NodeTypeChecker_1a2" kindref="member"/><codeline>    <ref refid="classMiX_1_1NodeTypeChecker_1s1" kindref="member">result_type</ref> <ref refid="classMiX_1_1NodeTypeChecker_1a2" kindref="member">operator()</ref>(<ref refid="classMiX_1_1NodeTypeChecker_1s0" kindref="member">argument_type</ref> node)<highlight class="keyword">const</highlight>{</codeline>
<linenumber line="29"/><codeline>      <highlight class="keywordflow">return</highlight> (node-&gt;getType()==type_);</codeline>
<linenumber line="30"/><codeline>    };</codeline>
<linenumber line="31"/><codeline>  };</codeline>
<linenumber line="32"/><codeline></codeline>
<linenumber line="33"/><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="34" refid="classMiX_1_1NodeNameChecker" kindref="compound"/><codeline>  <highlight class="keyword">class </highlight>NodeNameChecker</codeline>
<linenumber line="35"/><codeline>    : <highlight class="keyword">public</highlight> std::unary_function&lt;const Node&lt;charT,char_traits,xml_traits&gt;*,bool&gt;{</codeline>
<linenumber line="36"/><codeline>  <highlight class="keyword">public</highlight>:</codeline>
<linenumber line="37"/><codeline>    <ref refid="classMiX_1_1NodeNameChecker_1a0" kindref="member">MiX_Template_Typedef</ref>(charT,char_traits,xml_traits);</codeline>
<linenumber line="38" refid="classMiX_1_1NodeNameChecker_1s0" kindref="member"/><codeline>    <highlight class="keyword">typedef</highlight> <highlight class="keyword">const</highlight> node_type* <ref refid="classMiX_1_1NodeNameChecker_1s0" kindref="member">argument_type</ref>;</codeline>
<linenumber line="39" refid="classMiX_1_1NodeNameChecker_1s1" kindref="member"/><codeline>    <highlight class="keyword">typedef</highlight> <highlight class="keywordtype">bool</highlight> <ref refid="classMiX_1_1NodeNameChecker_1s1" kindref="member">result_type</ref>; </codeline>
<linenumber line="40"/><codeline>  <highlight class="keyword">private</highlight>:</codeline>
<linenumber line="41"/><codeline>    string_type name_,ns_;</codeline>
<linenumber line="42"/><codeline>  <highlight class="keyword">public</highlight>:</codeline>
<linenumber line="44" refid="classMiX_1_1NodeNameChecker_1a1" kindref="member"/><codeline>    <ref refid="classMiX_1_1NodeNameChecker_1a1" kindref="member">NodeNameChecker</ref>(<highlight class="keyword">const</highlight> string_type&amp; name,string_type ns = string_type())</codeline>
<linenumber line="45"/><codeline>      : name_(name), ns_(ns) { };</codeline>
<linenumber line="47"/><codeline>    <ref refid="classMiX_1_1NodeNameChecker_1s1" kindref="member">result_type</ref> <ref refid="classMiX_1_1NodeNameChecker_1a2" kindref="member">operator()</ref>(<ref refid="classMiX_1_1NodeNameChecker_1s0" kindref="member">argument_type</ref> node)<highlight class="keyword">const</highlight>;</codeline>
<linenumber line="48"/><codeline>  };</codeline>
<linenumber line="49"/><codeline></codeline>
<linenumber line="50"/><codeline>  <highlight class="keyword">template</highlight> &lt;<highlight class="keyword">class</highlight> nodeT&gt;</codeline>
<linenumber line="51" refid="classMiX_1_1NamedNodeFinder" kindref="compound"/><codeline>  <highlight class="keyword">class </highlight>NamedNodeFinder</codeline>
<linenumber line="52"/><codeline>    : <highlight class="keyword">public</highlight> std::unary_function&lt;bool,Node&lt;typename nodeT::char_type,</codeline>
<linenumber line="53"/><codeline>					   typename nodeT::char_traits_type,</codeline>
<linenumber line="54"/><codeline>					   typename nodeT::xml_traits_type&gt;*&gt; {</codeline>
<linenumber line="55"/><codeline>  <highlight class="keyword">public</highlight>:</codeline>
<linenumber line="56" refid="classMiX_1_1NamedNodeFinder_1s0" kindref="member"/><codeline>    <highlight class="keyword">typedef</highlight> <highlight class="keyword">typename</highlight> nodeT::char_type <ref refid="classMiX_1_1NamedNodeFinder_1s0" kindref="member">charT</ref>;</codeline>
<linenumber line="57" refid="classMiX_1_1NamedNodeFinder_1s1" kindref="member"/><codeline>    <highlight class="keyword">typedef</highlight> <highlight class="keyword">typename</highlight> nodeT::char_traits_type <ref refid="classMiX_1_1NamedNodeFinder_1s1" kindref="member">char_traits</ref>;</codeline>
<linenumber line="58" refid="classMiX_1_1NamedNodeFinder_1s2" kindref="member"/><codeline>    <highlight class="keyword">typedef</highlight> <highlight class="keyword">typename</highlight> nodeT::xml_traits_type <ref refid="classMiX_1_1NamedNodeFinder_1s2" kindref="member">xml_traits</ref>;</codeline>
<linenumber line="59"/><codeline></codeline>
<linenumber line="60"/><codeline>    <ref refid="classMiX_1_1NamedNodeFinder_1a0" kindref="member">MiX_Template_Typedef</ref>(<ref refid="classMiX_1_1NamedNodeFinder_1s0" kindref="member">charT</ref>,<ref refid="classMiX_1_1NamedNodeFinder_1s1" kindref="member">char_traits</ref>,<ref refid="classMiX_1_1NamedNodeFinder_1s2" kindref="member">xml_traits</ref>);</codeline>
<linenumber line="61" refid="classMiX_1_1NamedNodeFinder_1s3" kindref="member"/><codeline>    <highlight class="keyword">typedef</highlight> <highlight class="keyword">const</highlight> node_type* <ref refid="classMiX_1_1NamedNodeFinder_1s3" kindref="member">argument_type</ref>;</codeline>
<linenumber line="62" refid="classMiX_1_1NamedNodeFinder_1s4" kindref="member"/><codeline>    <highlight class="keyword">typedef</highlight> <highlight class="keywordtype">bool</highlight> <ref refid="classMiX_1_1NamedNodeFinder_1s4" kindref="member">result_type</ref>; </codeline>
<linenumber line="63" refid="classMiX_1_1NamedNodeFinder_1m0" kindref="member"/><codeline>    <highlight class="keywordtype">bool</highlight> <ref refid="classMiX_1_1NamedNodeFinder_1m0" kindref="member">use_ns_</ref>;</codeline>
<linenumber line="64" refid="classMiX_1_1NamedNodeFinder_1m2" kindref="member"/><codeline>    string_type <ref refid="classMiX_1_1NamedNodeFinder_1m1" kindref="member">name_</ref>,<ref refid="classMiX_1_1NamedNodeFinder_1m2" kindref="member">url_</ref>;</codeline>
<linenumber line="65"/><codeline>    </codeline>
<linenumber line="66"/><codeline>  <highlight class="keyword">public</highlight>:</codeline>
<linenumber line="74" refid="classMiX_1_1NamedNodeFinder_1a1" kindref="member"/><codeline>    <ref refid="classMiX_1_1NamedNodeFinder_1a1" kindref="member">NamedNodeFinder</ref>(<highlight class="keyword">const</highlight> string_type&amp; name,<highlight class="keyword">const</highlight> string_type&amp; ns)</codeline>
<linenumber line="75"/><codeline>      { <ref refid="classMiX_1_1NamedNodeFinder_1m1" kindref="member">name_</ref> = name;   <ref refid="classMiX_1_1NamedNodeFinder_1m2" kindref="member">url_</ref> = ns; <ref refid="classMiX_1_1NamedNodeFinder_1m0" kindref="member">use_ns_</ref> = <highlight class="keyword">true</highlight>; }</codeline>
<linenumber line="76"/><codeline>    </codeline>
<linenumber line="83" refid="classMiX_1_1NamedNodeFinder_1a2" kindref="member"/><codeline>    <ref refid="classMiX_1_1NamedNodeFinder_1a1" kindref="member">NamedNodeFinder</ref>(<highlight class="keyword">const</highlight> string_type&amp; name) { <ref refid="classMiX_1_1NamedNodeFinder_1m1" kindref="member">name_</ref> = name; <ref refid="classMiX_1_1NamedNodeFinder_1m0" kindref="member">use_ns_</ref> = <highlight class="keyword">false</highlight>; }</codeline>
<linenumber line="84"/><codeline>    </codeline>
<linenumber line="86" refid="classMiX_1_1NamedNodeFinder_1a3" kindref="member"/><codeline>    <highlight class="keywordtype">bool</highlight> <ref refid="classMiX_1_1NamedNodeFinder_1a3" kindref="member">operator()</ref>(<ref refid="classMiX_1_1NamedNodeFinder_1s3" kindref="member">argument_type</ref> node){</codeline>
<linenumber line="87"/><codeline>      <highlight class="keywordflow">if</highlight>( node-&gt;getType()==nodeT::type() ) {</codeline>
<linenumber line="88"/><codeline>	<highlight class="keyword">const</highlight> namednode_type* named=dynamic_cast&lt;const namednode_type*&gt;(node);</codeline>
<linenumber line="89"/><codeline>	<highlight class="keywordflow">if</highlight>( !named ) <highlight class="keywordflow">return</highlight> <highlight class="keyword">false</highlight>;</codeline>
<linenumber line="90"/><codeline>	<highlight class="keywordflow">if</highlight>( use_ns_ ) {</codeline>
<linenumber line="91"/><codeline>	  <highlight class="keywordflow">if</highlight>( named-&gt;getName()==<ref refid="classMiX_1_1NamedNodeFinder_1m1" kindref="member">name_</ref> &amp;&amp; named-&gt;getURL()==<ref refid="classMiX_1_1NamedNodeFinder_1m2" kindref="member">url_</ref> ) <highlight class="keywordflow">return</highlight> <highlight class="keyword">true</highlight>;</codeline>
<linenumber line="92"/><codeline>	} <highlight class="keywordflow">else</highlight> {</codeline>
<linenumber line="93"/><codeline>	  <highlight class="keywordflow">if</highlight>( named-&gt;getFullName()==<ref refid="classMiX_1_1NamedNodeFinder_1m1" kindref="member">name_</ref> ) <highlight class="keywordflow">return</highlight> <highlight class="keyword">true</highlight>;</codeline>
<linenumber line="94"/><codeline>	}</codeline>
<linenumber line="95"/><codeline>      }</codeline>
<linenumber line="96"/><codeline>      <highlight class="keywordflow">return</highlight> <highlight class="keyword">false</highlight>;</codeline>
<linenumber line="97"/><codeline>    }</codeline>
<linenumber line="98"/><codeline>  };</codeline>
<linenumber line="99"/><codeline>}</codeline>
<linenumber line="100"/><codeline></codeline>
<linenumber line="101"/><codeline><highlight class="preprocessor">#ifndef MIX_FUNCTIONS_CPP_</highlight></codeline>
<linenumber line="102"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include &quot;Functions.cpp&quot;</highlight></codeline>
<linenumber line="103"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
<linenumber line="104"/><codeline><highlight class="preprocessor"></highlight></codeline>
<linenumber line="105"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
    </programlisting>
    <location file="/home/yotaro/prog/MiX-0.5.0/src/MiX/Functions.h"/>
  </compounddef>
</doxygen>
