<?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?>
<doxygen version="1.2.14">
  <compounddef id="NodeContainer_8h" kind="file">
    <compoundname>NodeContainer.h</compoundname>
    <includes id="NodeList_8h" local="yes">NodeList.h</includes>
    <includes id="Node_8h" local="yes">Node.h</includes>
    <includes local="yes">NodeContainer.cpp</includes>
    <includedby id="Element_8h" local="yes">Element.h</includedby>
    <includedby id="MiX_8h" local="yes">MiX.h</includedby>
    <incdepgraph>
      <node id="327">
        <label>list</label>
      </node>
      <node id="334">
        <label>NodeContainer.cpp</label>
      </node>
      <node id="323">
        <label>NodeList.h</label>
        <link id="NodeList_8h"/>
        <childnode id="324" relation="public-inheritance">
        </childnode>
        <childnode id="327" relation="public-inheritance">
        </childnode>
      </node>
      <node id="331">
        <label>DefaultXMLTraits.h</label>
        <link id="DefaultXMLTraits_8h"/>
        <childnode id="326" relation="public-inheritance">
        </childnode>
        <childnode id="325" relation="public-inheritance">
        </childnode>
        <childnode id="332" relation="public-inheritance">
        </childnode>
      </node>
      <node id="330">
        <label>DefaultTraits.h</label>
        <link id="DefaultTraits_8h"/>
        <childnode id="324" relation="public-inheritance">
        </childnode>
      </node>
      <node id="326">
        <label>string</label>
      </node>
      <node id="322">
        <label>NodeContainer.h</label>
        <link id="NodeContainer.h"/>
        <childnode id="323" relation="public-inheritance">
        </childnode>
        <childnode id="328" relation="public-inheritance">
        </childnode>
        <childnode id="334" relation="public-inheritance">
        </childnode>
      </node>
      <node id="324">
        <label>classes.h</label>
        <link id="classes_8h"/>
        <childnode id="325" relation="public-inheritance">
        </childnode>
        <childnode id="326" relation="public-inheritance">
        </childnode>
      </node>
      <node id="332">
        <label>DefaultXMLTraits.cpp</label>
      </node>
      <node id="329">
        <label>misc.h</label>
        <link id="misc_8h"/>
        <childnode id="324" relation="public-inheritance">
        </childnode>
        <childnode id="330" relation="public-inheritance">
        </childnode>
      </node>
      <node id="328">
        <label>Node.h</label>
        <link id="Node_8h"/>
        <childnode id="324" relation="public-inheritance">
        </childnode>
        <childnode id="329" relation="public-inheritance">
        </childnode>
        <childnode id="331" relation="public-inheritance">
        </childnode>
        <childnode id="333" relation="public-inheritance">
        </childnode>
      </node>
      <node id="333">
        <label>Node.cpp</label>
      </node>
      <node id="325">
        <label>config.h</label>
        <link id="config_8h"/>
      </node>
    </incdepgraph>
    <invincdepgraph>
      <node id="335">
        <label>NodeContainer.h</label>
        <link id="NodeContainer.h"/>
        <childnode id="336" relation="public-inheritance">
        </childnode>
        <childnode id="337" relation="public-inheritance">
        </childnode>
      </node>
      <node id="337">
        <label>MiX.h</label>
        <link id="MiX_8h"/>
      </node>
      <node id="336">
        <label>Element.h</label>
        <link id="Element_8h"/>
        <childnode id="337" 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_NODECONTAINER_H_</highlight></codeline>
<linenumber line="4"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define MiX_NODECONTAINER_H_</highlight></codeline>
<linenumber line="5"/><codeline><highlight class="preprocessor"></highlight></codeline>
<linenumber line="6"/><codeline><highlight class="preprocessor">#include &quot;<ref refid="NodeList_8h" kindref="compound">NodeList.h</ref>&quot;</highlight></codeline>
<linenumber line="7"/><codeline><highlight class="preprocessor">#include &quot;<ref refid="Node_8h" kindref="compound">Node.h</ref>&quot;</highlight></codeline>
<linenumber line="8"/><codeline></codeline>
<linenumber line="9"/><codeline><highlight class="keyword">namespace </highlight>MiX{</codeline>
<linenumber line="10"/><codeline></codeline>
<linenumber line="11"/><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="12" refid="classMiX_1_1NodeContainer" kindref="compound"/><codeline>  <highlight class="keyword">class </highlight>NodeContainer : <highlight class="keyword">virtual</highlight> <highlight class="keyword">public</highlight> Node&lt;charT,char_traits,xml_traits&gt;{</codeline>
<linenumber line="13"/><codeline>  <highlight class="keyword">public</highlight>:</codeline>
<linenumber line="14"/><codeline>    <ref refid="classMiX_1_1NodeContainer_1a0" kindref="member">MiX_Template_Typedef</ref>(charT,char_traits,xml_traits);</codeline>
<linenumber line="15" refid="classMiX_1_1NodeContainer_1s0" kindref="member"/><codeline>    <highlight class="keyword">typedef</highlight> NodeContainer&lt;charT,char_traits,xml_traits&gt; <ref refid="classMiX_1_1NodeContainer_1s0" kindref="member">this_type</ref>;</codeline>
<linenumber line="16"/><codeline>  <highlight class="keyword">protected</highlight>:</codeline>
<linenumber line="17" refid="classMiX_1_1NodeContainer_1n0" kindref="member"/><codeline>    nodelist_type <ref refid="classMiX_1_1NodeContainer_1n0" kindref="member">children_</ref>;</codeline>
<linenumber line="18"/><codeline>    <highlight class="keywordtype">void</highlight> <ref refid="classMiX_1_1NodeContainer_1b0" kindref="member">addChild</ref>(node_type* node);</codeline>
<linenumber line="19"/><codeline></codeline>
<linenumber line="20" refid="classMiX_1_1NodeContainer_1n1" kindref="member"/><codeline>    std::map&lt;string_type,string_type&gt; <ref refid="classMiX_1_1NodeContainer_1n1" kindref="member">name_to_url_</ref>;</codeline>
<linenumber line="21"/><codeline></codeline>
<linenumber line="22" refid="classMiX_1_1NodeContainer_1b1" kindref="member"/><codeline>    <highlight class="keywordtype">void</highlight> <ref refid="classMiX_1_1NodeContainer_1b1" kindref="member">cloneChildren</ref>(this_type&amp; dest)<highlight class="keyword"> const</highlight>{</codeline>
<linenumber line="23"/><codeline>      <highlight class="keyword">typename</highlight> nodelist_type::const_iterator it = <ref refid="classMiX_1_1NodeContainer_1a2" kindref="member">getChildren</ref>().begin();</codeline>
<linenumber line="24"/><codeline>      <highlight class="keyword">typename</highlight> nodelist_type::const_iterator last = <ref refid="classMiX_1_1NodeContainer_1a2" kindref="member">getChildren</ref>().end();</codeline>
<linenumber line="25"/><codeline>      <highlight class="keywordflow">for</highlight>( ; it!=last ; ++it ){</codeline>
<linenumber line="26"/><codeline>	(*it)-&gt;clone(dest,dest.getChildren().end());</codeline>
<linenumber line="27"/><codeline>      }</codeline>
<linenumber line="28"/><codeline>    }</codeline>
<linenumber line="29"/><codeline></codeline>
<linenumber line="30"/><codeline>  <highlight class="keyword">protected</highlight>:</codeline>
<linenumber line="32" refid="classMiX_1_1NodeContainer_1b2" kindref="member"/><codeline>    <ref refid="classMiX_1_1NodeContainer_1b2" kindref="member">NodeContainer</ref>() : node_type(),<ref refid="classMiX_1_1NodeContainer_1n0" kindref="member">children_</ref>() { };</codeline>
<linenumber line="38" refid="classMiX_1_1NodeContainer_1b3" kindref="member"/><codeline>    <ref refid="classMiX_1_1NodeContainer_1b2" kindref="member">NodeContainer</ref>(<highlight class="keyword">const</highlight> this_type&amp; src){ };</codeline>
<linenumber line="40"/><codeline>    <highlight class="keyword">template</highlight> &lt;<highlight class="keyword">class</highlight> Pred&gt;</codeline>
<linenumber line="41" refid="classMiX_1_1NodeContainer_1b4" kindref="member"/><codeline>    <highlight class="keyword">typename</highlight> nodelist_type::iterator <ref refid="classMiX_1_1NodeContainer_1b4" kindref="member">search</ref>(Pred pred,<highlight class="keywordtype">int</highlight> index){</codeline>
<linenumber line="42"/><codeline>      <highlight class="keywordtype">int</highlight> i = 0;</codeline>
<linenumber line="43"/><codeline>      <highlight class="keyword">typename</highlight> nodelist_type::iterator it,first,last=<ref refid="classMiX_1_1NodeContainer_1a2" kindref="member">getChildren</ref>().end();</codeline>
<linenumber line="44"/><codeline>      <highlight class="keywordflow">for</highlight> ( first=<ref refid="classMiX_1_1NodeContainer_1a2" kindref="member">getChildren</ref>().begin(); it!=last ; first=++it,++i ){</codeline>
<linenumber line="45"/><codeline>	it = std::find_if(first,last,pred);</codeline>
<linenumber line="46"/><codeline>	<highlight class="keywordflow">if</highlight>( i==index ) <highlight class="keywordflow">break</highlight>;</codeline>
<linenumber line="47"/><codeline>      }</codeline>
<linenumber line="48"/><codeline>      <highlight class="keywordflow">return</highlight> it;</codeline>
<linenumber line="49"/><codeline>    }</codeline>
<linenumber line="50"/><codeline>  <highlight class="keyword">public</highlight>:</codeline>
<linenumber line="52"/><codeline>    <highlight class="keyword">virtual</highlight> <ref refid="classMiX_1_1NodeContainer_1a1" kindref="member">~NodeContainer</ref>() <highlight class="keywordflow">throw</highlight>();</codeline>
<linenumber line="54" refid="classMiX_1_1NodeContainer_1a2" kindref="member"/><codeline>    nodelist_type&amp; <ref refid="classMiX_1_1NodeContainer_1a2" kindref="member">getChildren</ref>(){ <highlight class="keywordflow">return</highlight> <ref refid="classMiX_1_1NodeContainer_1n0" kindref="member">children_</ref>; };</codeline>
<linenumber line="56" refid="classMiX_1_1NodeContainer_1a3" kindref="member"/><codeline>    <highlight class="keyword">const</highlight> nodelist_type&amp; <ref refid="classMiX_1_1NodeContainer_1a2" kindref="member">getChildren</ref>()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> <ref refid="classMiX_1_1NodeContainer_1n0" kindref="member">children_</ref>; };</codeline>
<linenumber line="57"/><codeline></codeline>
<linenumber line="59"/><codeline>    <highlight class="keywordtype">bool</highlight> <ref refid="classMiX_1_1NodeContainer_1a4" kindref="member">hasAttribute</ref>(<highlight class="keyword">const</highlight> string_type&amp; nm);</codeline>
<linenumber line="61"/><codeline>    <highlight class="keywordtype">bool</highlight> <ref refid="classMiX_1_1NodeContainer_1a4" kindref="member">hasAttribute</ref>(<highlight class="keyword">const</highlight> string_type&amp; nm,<highlight class="keyword">const</highlight> string_type&amp; ns);</codeline>
<linenumber line="63"/><codeline>    attribute_type&amp; <ref refid="classMiX_1_1NodeContainer_1a6" kindref="member">getAttribute</ref>(<highlight class="keyword">const</highlight> string_type&amp; nm,<highlight class="keyword">const</highlight> string_type&amp; ns);</codeline>
<linenumber line="65"/><codeline>   attribute_type&amp; <ref refid="classMiX_1_1NodeContainer_1a6" kindref="member">getAttribute</ref>(<highlight class="keyword">const</highlight> string_type&amp; nm);</codeline>
<linenumber line="67"/><codeline>    element_type&amp; <ref refid="classMiX_1_1NodeContainer_1a8" kindref="member">getElement</ref>(<highlight class="keyword">const</highlight> string_type&amp; name,<highlight class="keywordtype">int</highlight> index);</codeline>
<linenumber line="69"/><codeline>    element_type&amp; <ref refid="classMiX_1_1NodeContainer_1a8" kindref="member">getElement</ref>(<highlight class="keyword">const</highlight> string_type&amp; name,<highlight class="keyword">const</highlight> string_type&amp; ns,<highlight class="keywordtype">int</highlight> index);</codeline>
<linenumber line="70"/><codeline>    </codeline>
<linenumber line="76"/><codeline>    nodelist_type <ref refid="classMiX_1_1NodeContainer_1a10" kindref="member">getElementsByTagName</ref>(<highlight class="keyword">const</highlight> string_type&amp; tagname,<highlight class="keyword">const</highlight> string_type&amp; ns = string_type() );</codeline>
<linenumber line="77"/><codeline></codeline>
<linenumber line="79" refid="classMiX_1_1NodeContainer_1a11" kindref="member"/><codeline>    <highlight class="keywordtype">void</highlight> <ref refid="classMiX_1_1NodeContainer_1a11" kindref="member">addNSName</ref>(<highlight class="keyword">const</highlight> string_type&amp; name,<highlight class="keyword">const</highlight> string_type&amp; url) {</codeline>
<linenumber line="80"/><codeline>      <ref refid="classMiX_1_1NodeContainer_1n1" kindref="member">name_to_url_</ref>.insert(make_pair(name,url));</codeline>
<linenumber line="81"/><codeline>    }</codeline>
<linenumber line="83"/><codeline>    string_type <ref refid="classMiX_1_1NodeContainer_1a12" kindref="member">queryURL</ref>(<highlight class="keyword">const</highlight> string_type&amp; name) <highlight class="keyword">const</highlight>;</codeline>
<linenumber line="85"/><codeline>    string_type <ref refid="classMiX_1_1NodeContainer_1a13" kindref="member">queryNSName</ref>(<highlight class="keyword">const</highlight> string_type&amp; url) <highlight class="keyword">const</highlight>;</codeline>
<linenumber line="86"/><codeline>    </codeline>
<linenumber line="87" refid="classMiX_1_1NodeContainer_1l0" kindref="member"/><codeline>    <highlight class="keyword">friend</highlight> <highlight class="keyword">class </highlight>DOM_Parser&lt;charT,char_traits,xml_traits&gt;;</codeline>
<linenumber line="88"/><codeline>  };</codeline>
<linenumber line="89"/><codeline>}</codeline>
<linenumber line="90"/><codeline></codeline>
<linenumber line="91"/><codeline><highlight class="preprocessor">#ifndef MiX_NODECONTAINER_CPP_</highlight></codeline>
<linenumber line="92"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include &quot;NodeContainer.cpp&quot;</highlight></codeline>
<linenumber line="93"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
<linenumber line="94"/><codeline><highlight class="preprocessor"></highlight></codeline>
<linenumber line="95"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
    </programlisting>
    <location file="/home/yotaro/prog/MiX-0.5.0/src/MiX/NodeContainer.h"/>
  </compounddef>
</doxygen>
