<!-- HTML header for doxygen 1.8.8--> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- For Mobile Devices --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta name="generator" content="Doxygen 1.8.12"/> <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script> <title>exml: Ewol XML parser: framework/atria-soft/exml/exml/internal/Node.hpp Source File</title> <!--<link href="tabs.css" rel="stylesheet" type="text/css"/>--> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/searchdata.js"></script> <script type="text/javascript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> <link href="customdoxygen.css" rel="stylesheet" type="text/css"/> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css"> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script> <script type="text/javascript" src="doxy-boot.js"></script> </head> <body> <nav class="navbar navbar-default navbar-fixed-top" role="navigation"> <div class="container"> <div class="navbar-header"> <a class="navbar-brand">exml: Ewol XML parser 0.7.0</a> </div> <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li><a href="index.html">Main Page</a></li> <li><a href="pages.html">Related Pages</a></li> <li><a href="namespaces.html">Namespaces</a></li> <li><a href="annotated.html">Classes</a></li> <li><a href="files.html">Files</a></li> </ul> <ul class="nav navbar-nav navbar-right"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> Link-libs<span class="caret"></span> </a> <ul class="dropdown-menu"> <li><a href="http://HeeroYui.github.io/lutin">lutin</a></li> <li><a href="http://atria-soft.github.io/ewol">ewol</a></li> <li><a href="http://atria-soft.github.io/echrono">echrono</a></li> <li><a href="http://atria-soft.github.io/etk">etk</a></li> <li><a href="http://atria-soft.github.io/ejson">ejson</a></li> <li><a href="http://atria-soft.github.io/exml">exml</a></li> <li><a href="http://atria-soft.github.io/esvg">esvg</a></li> <li><a href="http://atria-soft.github.io/egami">egami</a></li> <li><a href="http://atria-soft.github.io/gale">gale</a></li> <li><a href="http://atria-soft.github.io/ege">ege</a></li> <li><a href="http://atria-soft.github.io/elog">elog</a></li> <li><a href="http://atria-soft.github.io/ememory">ememory</a></li> <li><a href="http://atria-soft.github.io/enet">enet</a></li> <li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li> <li><a href="http://atria-soft.github.io/esignal">esignal</a></li> <li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li> <li><a href="http://atria-soft.github.io/zeus">zeus</a></li> <li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li> <li><a href="http://musicdsp.github.io/audio">audio</a></li> <li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li> <li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li> <li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li> </ul> </li> </ul> <div id="search-box" class="input-group"> <div class="input-group-btn"> <button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> <span class="glyphicon glyphicon-search"></span> <span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a href="#">All</a></li> <li><a href="#">Classes</a></li> <li><a href="#">Namespaces</a></li> <li><a href="#">Files</a></li> <li><a href="#">Functions</a></li> <li><a href="#">Variables</a></li> <li><a href="#">Typedefs</a></li> <li><a href="#">Enumerations</a></li> <li><a href="#">Enumerator</a></li> <li><a href="#">Friends</a></li> <li><a href="#">Macros</a></li> <li><a href="#">Pages</a></li> </ul> </div> <button id="search-close" type="button" class="close" aria-label="Close"> <span aria-hidden="true"></span> </button> <input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text"> </div> </div><!--/.nav-collapse --> </div> </nav> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div class="content" id="content"> <div class="container"> <div class="row"> <div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;"> <div style="margin-bottom: 15px;margin-top: 60px;"> <!-- end header part --> <!-- Generated by Doxygen 1.8.12 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> $(function() { initMenu('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); </script> <div id="main-nav"></div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_644e041c3a6521da7b27eba0e4eb2b95.html">framework</a></li><li class="navelem"><a class="el" href="dir_a094892b17be858f66bf3446bbb755c7.html">atria-soft</a></li><li class="navelem"><a class="el" href="dir_ae358d914b1fb7d675ed883237a889f5.html">exml</a></li><li class="navelem"><a class="el" href="dir_e0e5ae444ddef5927e74f7409f56d38c.html">exml</a></li><li class="navelem"><a class="el" href="dir_aa537408b4b3694bd6c43d048d5a57b8.html">internal</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">Node.hpp</div> </div> </div><!--header--> <div class="contents"> <a href="internal_2_node_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include <<a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/ememory.tag:http://atria-soft.github.io/ememory/" href="http://atria-soft.github.io/ememory/memory__8hpp.html">ememory/memory.hpp</a>></span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#include <<a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/types__8hpp.html">etk/types.hpp</a>></span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include <<a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/__vector2__d__8hpp.html">etk/math/Vector2D.hpp</a>></span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <<a class="code" href="_file_pos_8hpp.html">exml/FilePos.hpp</a>></span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <<a class="code" href="node_type_8hpp.html">exml/nodeType.hpp</a>></span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> </div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="keyword">namespace </span><a class="code" href="namespaceexml.html">exml</a> {</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  <span class="keyword">namespace </span>internal {</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  <span class="comment">//#define ENABLE_DISPLAY_PARSED_ELEMENT</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  <span class="comment">//#define ENABLE_CRITICAL_WHEN_ERROR</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor"> #if 1</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"> #define EXML_PARSE_ELEMENT EXML_VERBOSE</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor"> #else</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor"> #define EXML_PARSE_ELEMENT EXML_DEBUG</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"> #endif</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"> #if 1</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"> #define EXML_PARSE_ATTRIBUTE EXML_VERBOSE</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"> #else</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"> #define EXML_PARSE_ATTRIBUTE EXML_DEBUG</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"> #endif</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keyword">class </span>Document;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keyword">class </span>Attribute;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keyword">class </span>Comment;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keyword">class </span>Declaration;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keyword">class </span>Element;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keyword">class </span>Text;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  </div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classexml_1_1internal_1_1_node.html"> 43</a></span>  <span class="keyword">class </span><a class="code" href="classexml_1_1internal_1_1_node.html">Node</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/ememory.tag:http://atria-soft.github.io/ememory/" href="http://atria-soft.github.io/ememory/classememory_1_1_enable_shared_from_this.html">ememory::EnableSharedFromThis</a><Node>{</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">protected</span>:</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classexml_1_1internal_1_1_node.html#a09354ad634c68aa620d08a88f4e20f98"> 48</a></span>  <a class="code" href="classexml_1_1internal_1_1_node.html#a09354ad634c68aa620d08a88f4e20f98">Node</a>() :</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="classexml_1_1internal_1_1_node.html#aff4c22828c5e24f6890fdb7e646a3046">m_pos</a>(0,0) {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  };</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="classexml_1_1internal_1_1_node.html#a09354ad634c68aa620d08a88f4e20f98">Node</a>(<span class="keyword">const</span> std::string& _value);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">virtual</span> <a class="code" href="classexml_1_1internal_1_1_node.html#a6a305f22e495245e88f092ddeedfbbd3">~Node</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classexml_1_1internal_1_1_node.html#ac767feed551e8543279652865fcb7371">iParse</a>(<span class="keyword">const</span> std::string& _data, int32_t& _pos, <span class="keywordtype">bool</span> _caseSensitive, <a class="code" href="classexml_1_1_file_pos.html">exml::FilePos</a>& _filePos, <a class="code" href="classexml_1_1internal_1_1_document.html">exml::internal::Document</a>& _doc) = 0;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classexml_1_1internal_1_1_node.html#a2a8e61ba97925d0af11cd968d9cee97d">iGenerate</a>(std::string& _data, int32_t _indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keyword">protected</span>:</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classexml_1_1internal_1_1_node.html#aff4c22828c5e24f6890fdb7e646a3046"> 81</a></span>  <a class="code" href="classexml_1_1_file_pos.html">exml::FilePos</a> <a class="code" href="classexml_1_1internal_1_1_node.html#aff4c22828c5e24f6890fdb7e646a3046">m_pos</a>; </div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keyword">const</span> <a class="code" href="classexml_1_1_file_pos.html">exml::FilePos</a>& <a class="code" href="classexml_1_1internal_1_1_node.html#add2df6a9be11b5d1697c7b3caf05e37c">getPos</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keyword">protected</span>:</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classexml_1_1internal_1_1_node.html#a4665d683223dd60ed293471627b8659b"> 89</a></span>  std::string <a class="code" href="classexml_1_1internal_1_1_node.html#a4665d683223dd60ed293471627b8659b">m_value</a>; </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classexml_1_1internal_1_1_node.html#a8fd06290a36e1798d3dd969512fb2ee8">setValue</a>(std::string _value);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> std::string& <a class="code" href="classexml_1_1internal_1_1_node.html#a1ae0e54963e780ba5f478194ae1e3a2b">getValue</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keyword">virtual</span> <span class="keyword">enum</span> <a class="code" href="namespaceexml.html#a49be10c1d94fea7f1fe579e5ec041e55">nodeType</a> <a class="code" href="classexml_1_1internal_1_1_node.html#ac30ff036da7e29dc862bae2d1ae7c441">getType</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keyword">protected</span>:</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordtype">void</span> <a class="code" href="classexml_1_1internal_1_1_node.html#a753a9c172b9a498fb8abceeac81d6a8e">addIndent</a>(std::string& _data, int32_t _indent) <span class="keyword">const</span>;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordtype">void</span> <a class="code" href="classexml_1_1internal_1_1_node.html#a8f35cba4f6c01fa544315139032fb39a">drawElementParsed</a>(char32_t _val, <span class="keyword">const</span> <a class="code" href="classexml_1_1_file_pos.html">exml::FilePos</a>& _filePos) <span class="keyword">const</span>;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordtype">bool</span> <a class="code" href="classexml_1_1internal_1_1_node.html#abe0e26e310c7451cfcb225cff88cacb1">checkAvaillable</a>(char32_t _val, <span class="keywordtype">bool</span> _firstChar) <span class="keyword">const</span>;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  int32_t <a class="code" href="classexml_1_1internal_1_1_node.html#abe664dd6d896dddc12edc7026aa24c24">countWhiteChar</a>(<span class="keyword">const</span> std::string& _data, int32_t _pos, <a class="code" href="classexml_1_1_file_pos.html">exml::FilePos</a>& _filePos) <span class="keyword">const</span>;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keyword">virtual</span> <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/ememory.tag:http://atria-soft.github.io/ememory/" href="http://atria-soft.github.io/ememory/classememory_1_1_shared_ptr.html">ememory::SharedPtr<exml::internal::Document></a> <a class="code" href="classexml_1_1internal_1_1_node.html#a64e44dc0bd6febbcde144b4a2481389a">toDocument</a>();</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/ememory.tag:http://atria-soft.github.io/ememory/" href="http://atria-soft.github.io/ememory/classememory_1_1_shared_ptr.html">ememory::SharedPtr<exml::internal::Document></a> <a class="code" href="classexml_1_1internal_1_1_node.html#a64e44dc0bd6febbcde144b4a2481389a">toDocument</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keyword">virtual</span> <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/ememory.tag:http://atria-soft.github.io/ememory/" href="http://atria-soft.github.io/ememory/classememory_1_1_shared_ptr.html">ememory::SharedPtr<exml::internal::Attribute></a> <a class="code" href="classexml_1_1internal_1_1_node.html#a445a08afd2353d9486e2c3beafbc83cc">toAttribute</a>();</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/ememory.tag:http://atria-soft.github.io/ememory/" href="http://atria-soft.github.io/ememory/classememory_1_1_shared_ptr.html">ememory::SharedPtr<exml::internal::Attribute></a> <a class="code" href="classexml_1_1internal_1_1_node.html#a445a08afd2353d9486e2c3beafbc83cc">toAttribute</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keyword">virtual</span> <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/ememory.tag:http://atria-soft.github.io/ememory/" href="http://atria-soft.github.io/ememory/classememory_1_1_shared_ptr.html">ememory::SharedPtr<exml::internal::Comment></a> <a class="code" href="classexml_1_1internal_1_1_node.html#af2b2c9ff93a1f0a0a58088636c8b6549">toComment</a>();</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/ememory.tag:http://atria-soft.github.io/ememory/" href="http://atria-soft.github.io/ememory/classememory_1_1_shared_ptr.html">ememory::SharedPtr<exml::internal::Comment></a> <a class="code" href="classexml_1_1internal_1_1_node.html#af2b2c9ff93a1f0a0a58088636c8b6549">toComment</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">virtual</span> <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/ememory.tag:http://atria-soft.github.io/ememory/" href="http://atria-soft.github.io/ememory/classememory_1_1_shared_ptr.html">ememory::SharedPtr<exml::internal::Declaration></a> <a class="code" href="classexml_1_1internal_1_1_node.html#a6170cc3fdab1527305792b22e59a13c9">toDeclaration</a>();</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/ememory.tag:http://atria-soft.github.io/ememory/" href="http://atria-soft.github.io/ememory/classememory_1_1_shared_ptr.html">ememory::SharedPtr<exml::internal::Declaration></a> <a class="code" href="classexml_1_1internal_1_1_node.html#a6170cc3fdab1527305792b22e59a13c9">toDeclaration</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keyword">virtual</span> <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/ememory.tag:http://atria-soft.github.io/ememory/" href="http://atria-soft.github.io/ememory/classememory_1_1_shared_ptr.html">ememory::SharedPtr<exml::internal::Element></a> <a class="code" href="classexml_1_1internal_1_1_node.html#afad6cd619259363f3f60fb36753c504a">toElement</a>();</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/ememory.tag:http://atria-soft.github.io/ememory/" href="http://atria-soft.github.io/ememory/classememory_1_1_shared_ptr.html">ememory::SharedPtr<exml::internal::Element></a> <a class="code" href="classexml_1_1internal_1_1_node.html#afad6cd619259363f3f60fb36753c504a">toElement</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keyword">virtual</span> <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/ememory.tag:http://atria-soft.github.io/ememory/" href="http://atria-soft.github.io/ememory/classememory_1_1_shared_ptr.html">ememory::SharedPtr<exml::internal::Text></a> <a class="code" href="classexml_1_1internal_1_1_node.html#a5489504a07661cdf86ca754cf6ccfa46">toText</a>();</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/ememory.tag:http://atria-soft.github.io/ememory/" href="http://atria-soft.github.io/ememory/classememory_1_1_shared_ptr.html">ememory::SharedPtr<exml::internal::Text></a> <a class="code" href="classexml_1_1internal_1_1_node.html#a5489504a07661cdf86ca754cf6ccfa46">toText</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  </div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordtype">bool</span> <a class="code" href="classexml_1_1internal_1_1_node.html#a785e97b8b4ed169486cfaaad9f6e4cdb">isDocument</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordtype">bool</span> <a class="code" href="classexml_1_1internal_1_1_node.html#a79a6a4f90a4e848f58be568acdeaf4f9">isAttribute</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordtype">bool</span> <a class="code" href="classexml_1_1internal_1_1_node.html#af83b4078765454c8dc88cada81a592c7">isComment</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordtype">bool</span> <a class="code" href="classexml_1_1internal_1_1_node.html#aaaa9bdd0a14d1fd69bb37b18932ceecd">isDeclaration</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordtype">bool</span> <a class="code" href="classexml_1_1internal_1_1_node.html#a5ca69f3db29e6f92c139583fd629804d">isElement</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordtype">bool</span> <a class="code" href="classexml_1_1internal_1_1_node.html#a05ab1958d2487777e45150ce9fae91e2">isText</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  </div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classexml_1_1internal_1_1_node.html#a70cd10854610d69cec5d35cf43443fc6">clear</a>();</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  };</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  }</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span> }</div><div class="ttc" id="classexml_1_1internal_1_1_node_html_a05ab1958d2487777e45150ce9fae91e2"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#a05ab1958d2487777e45150ce9fae91e2">exml::internal::Node::isText</a></div><div class="ttdeci">bool isText() const</div><div class="ttdoc">check if the node is a exml::internal::Text </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_aaaa9bdd0a14d1fd69bb37b18932ceecd"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#aaaa9bdd0a14d1fd69bb37b18932ceecd">exml::internal::Node::isDeclaration</a></div><div class="ttdeci">bool isDeclaration() const</div><div class="ttdoc">check if the node is a exml::internal::Declaration </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_af83b4078765454c8dc88cada81a592c7"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#af83b4078765454c8dc88cada81a592c7">exml::internal::Node::isComment</a></div><div class="ttdeci">bool isComment() const</div><div class="ttdoc">check if the node is a exml::internal::Comment </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_a6170cc3fdab1527305792b22e59a13c9"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#a6170cc3fdab1527305792b22e59a13c9">exml::internal::Node::toDeclaration</a></div><div class="ttdeci">virtual ememory::SharedPtr< exml::internal::Declaration > toDeclaration()</div><div class="ttdoc">Cast the element in a Declaration if it is possible. </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_add2df6a9be11b5d1697c7b3caf05e37c"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#add2df6a9be11b5d1697c7b3caf05e37c">exml::internal::Node::getPos</a></div><div class="ttdeci">const exml::FilePos & getPos() const</div><div class="ttdoc">get the current position where the element is in the file </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_a70cd10854610d69cec5d35cf43443fc6"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#a70cd10854610d69cec5d35cf43443fc6">exml::internal::Node::clear</a></div><div class="ttdeci">virtual void clear()</div><div class="ttdoc">clear the Node </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_abe0e26e310c7451cfcb225cff88cacb1"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#abe0e26e310c7451cfcb225cff88cacb1">exml::internal::Node::checkAvaillable</a></div><div class="ttdeci">bool checkAvaillable(char32_t _val, bool _firstChar) const</div><div class="ttdoc">check if an element or attribute is availlable (not : !"#$%&&#39;()*+,/;<=>?@[]^`{|}~ \n\t\r and for firs...</div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_af2b2c9ff93a1f0a0a58088636c8b6549"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#af2b2c9ff93a1f0a0a58088636c8b6549">exml::internal::Node::toComment</a></div><div class="ttdeci">virtual ememory::SharedPtr< exml::internal::Comment > toComment()</div><div class="ttdoc">Cast the element in a Comment if it is possible. </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_a753a9c172b9a498fb8abceeac81d6a8e"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#a753a9c172b9a498fb8abceeac81d6a8e">exml::internal::Node::addIndent</a></div><div class="ttdeci">void addIndent(std::string &_data, int32_t _indent) const</div><div class="ttdoc">add indentation of the string input. </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_ac30ff036da7e29dc862bae2d1ae7c441"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#ac30ff036da7e29dc862bae2d1ae7c441">exml::internal::Node::getType</a></div><div class="ttdeci">virtual enum nodeType getType() const</div><div class="ttdoc">get the node type. </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_a09354ad634c68aa620d08a88f4e20f98"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#a09354ad634c68aa620d08a88f4e20f98">exml::internal::Node::Node</a></div><div class="ttdeci">Node()</div><div class="ttdoc">basic element of a xml structure </div><div class="ttdef"><b>Definition:</b> Node.hpp:48</div></div> <div class="ttc" id="__vector2__d__8hpp_html"><div class="ttname"><a href="http://atria-soft.github.io/etk/__vector2__d__8hpp.html">Vector2D.hpp</a></div></div> <div class="ttc" id="node_type_8hpp_html"><div class="ttname"><a href="node_type_8hpp.html">nodeType.hpp</a></div></div> <div class="ttc" id="types__8hpp_html"><div class="ttname"><a href="http://atria-soft.github.io/etk/types__8hpp.html">types.hpp</a></div></div> <div class="ttc" id="namespaceexml_html"><div class="ttname"><a href="namespaceexml.html">exml</a></div><div class="ttdoc">exml namespace containing all function for XML interpretor </div><div class="ttdef"><b>Definition:</b> Attribute.hpp:11</div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_afad6cd619259363f3f60fb36753c504a"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#afad6cd619259363f3f60fb36753c504a">exml::internal::Node::toElement</a></div><div class="ttdeci">virtual ememory::SharedPtr< exml::internal::Element > toElement()</div><div class="ttdoc">Cast the element in a Element if it is possible. </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_a445a08afd2353d9486e2c3beafbc83cc"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#a445a08afd2353d9486e2c3beafbc83cc">exml::internal::Node::toAttribute</a></div><div class="ttdeci">virtual ememory::SharedPtr< exml::internal::Attribute > toAttribute()</div><div class="ttdoc">Cast the element in a Attribute if it is possible. </div></div> <div class="ttc" id="classememory_1_1_enable_shared_from_this_html"><div class="ttname"><a href="http://atria-soft.github.io/ememory/classememory_1_1_enable_shared_from_this.html">ememory::EnableSharedFromThis</a></div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_aff4c22828c5e24f6890fdb7e646a3046"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#aff4c22828c5e24f6890fdb7e646a3046">exml::internal::Node::m_pos</a></div><div class="ttdeci">exml::FilePos m_pos</div><div class="ttdoc">position in the readed file == > not correct when the file is generated </div><div class="ttdef"><b>Definition:</b> Node.hpp:81</div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_a1ae0e54963e780ba5f478194ae1e3a2b"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#a1ae0e54963e780ba5f478194ae1e3a2b">exml::internal::Node::getValue</a></div><div class="ttdeci">virtual const std::string & getValue() const</div><div class="ttdoc">get the current element Value. </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_a5489504a07661cdf86ca754cf6ccfa46"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#a5489504a07661cdf86ca754cf6ccfa46">exml::internal::Node::toText</a></div><div class="ttdeci">virtual ememory::SharedPtr< exml::internal::Text > toText()</div><div class="ttdoc">Cast the element in a Text if it is possible. </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_a5ca69f3db29e6f92c139583fd629804d"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#a5ca69f3db29e6f92c139583fd629804d">exml::internal::Node::isElement</a></div><div class="ttdeci">bool isElement() const</div><div class="ttdoc">check if the node is a exml::internal::Element </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_a2a8e61ba97925d0af11cd968d9cee97d"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#a2a8e61ba97925d0af11cd968d9cee97d">exml::internal::Node::iGenerate</a></div><div class="ttdeci">virtual bool iGenerate(std::string &_data, int32_t _indent) const</div><div class="ttdoc">generate a string with the tree of the xml </div></div> <div class="ttc" id="classexml_1_1internal_1_1_document_html"><div class="ttname"><a href="classexml_1_1internal_1_1_document.html">exml::internal::Document</a></div><div class="ttdoc">Basic document element of a document. </div><div class="ttdef"><b>Definition:</b> Document.hpp:16</div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_a785e97b8b4ed169486cfaaad9f6e4cdb"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#a785e97b8b4ed169486cfaaad9f6e4cdb">exml::internal::Node::isDocument</a></div><div class="ttdeci">bool isDocument() const</div><div class="ttdoc">check if the node is a exml::internal::Document </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_a79a6a4f90a4e848f58be568acdeaf4f9"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#a79a6a4f90a4e848f58be568acdeaf4f9">exml::internal::Node::isAttribute</a></div><div class="ttdeci">bool isAttribute() const</div><div class="ttdoc">check if the node is a exml::internal::Attribute </div></div> <div class="ttc" id="classexml_1_1_file_pos_html"><div class="ttname"><a href="classexml_1_1_file_pos.html">exml::FilePos</a></div><div class="ttdoc">Position in the file of the original data. </div><div class="ttdef"><b>Definition:</b> FilePos.hpp:14</div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_a6a305f22e495245e88f092ddeedfbbd3"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#a6a305f22e495245e88f092ddeedfbbd3">exml::internal::Node::~Node</a></div><div class="ttdeci">virtual ~Node()=default</div><div class="ttdoc">Virtualize destructor. </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html">exml::internal::Node</a></div><div class="ttdoc">Basic main object of all xml elements. </div><div class="ttdef"><b>Definition:</b> Node.hpp:43</div></div> <div class="ttc" id="_file_pos_8hpp_html"><div class="ttname"><a href="_file_pos_8hpp.html">FilePos.hpp</a></div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_a64e44dc0bd6febbcde144b4a2481389a"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#a64e44dc0bd6febbcde144b4a2481389a">exml::internal::Node::toDocument</a></div><div class="ttdeci">virtual ememory::SharedPtr< exml::internal::Document > toDocument()</div><div class="ttdoc">Cast the element in a Document if it is possible. </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_abe664dd6d896dddc12edc7026aa24c24"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#abe664dd6d896dddc12edc7026aa24c24">exml::internal::Node::countWhiteChar</a></div><div class="ttdeci">int32_t countWhiteChar(const std::string &_data, int32_t _pos, exml::FilePos &_filePos) const</div><div class="ttdoc">count the number of white char in the string from the specify position (stop at the first element tha...</div></div> <div class="ttc" id="classememory_1_1_shared_ptr_html"><div class="ttname"><a href="http://atria-soft.github.io/ememory/classememory_1_1_shared_ptr.html">ememory::SharedPtr</a></div></div> <div class="ttc" id="namespaceexml_html_a49be10c1d94fea7f1fe579e5ec041e55"><div class="ttname"><a href="namespaceexml.html#a49be10c1d94fea7f1fe579e5ec041e55">exml::nodeType</a></div><div class="ttdeci">nodeType</div><div class="ttdoc">Type of the XML elements. </div><div class="ttdef"><b>Definition:</b> nodeType.hpp:17</div></div> <div class="ttc" id="memory__8hpp_html"><div class="ttname"><a href="http://atria-soft.github.io/ememory/memory__8hpp.html">memory.hpp</a></div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_a4665d683223dd60ed293471627b8659b"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#a4665d683223dd60ed293471627b8659b">exml::internal::Node::m_value</a></div><div class="ttdeci">std::string m_value</div><div class="ttdoc">value of the node (for element this is the name, for text it is the inside text ...) </div><div class="ttdef"><b>Definition:</b> Node.hpp:89</div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_ac767feed551e8543279652865fcb7371"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#ac767feed551e8543279652865fcb7371">exml::internal::Node::iParse</a></div><div class="ttdeci">virtual bool iParse(const std::string &_data, int32_t &_pos, bool _caseSensitive, exml::FilePos &_filePos, exml::internal::Document &_doc)=0</div><div class="ttdoc">parse the Current node [pure VIRUAL] </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_a8f35cba4f6c01fa544315139032fb39a"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#a8f35cba4f6c01fa544315139032fb39a">exml::internal::Node::drawElementParsed</a></div><div class="ttdeci">void drawElementParsed(char32_t _val, const exml::FilePos &_filePos) const</div><div class="ttdoc">Display the cuurent element that is curently parse. </div></div> <div class="ttc" id="classexml_1_1internal_1_1_node_html_a8fd06290a36e1798d3dd969512fb2ee8"><div class="ttname"><a href="classexml_1_1internal_1_1_node.html#a8fd06290a36e1798d3dd969512fb2ee8">exml::internal::Node::setValue</a></div><div class="ttdeci">virtual void setValue(std::string _value)</div><div class="ttdoc">set the value of the node. </div></div> </div><!-- fragment --></div><!-- contents --> <!-- HTML footer for doxygen 1.8.8--> <!-- start footer part --> </div> </div> </div> </div> </div> <hr class="footer"/><address class="footer"><small> Generated on Mon Oct 24 2016 15:35:49 for exml: Ewol XML parser by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.12 </small></address> </body> </html>