<!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="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <title>edelib: edelib/TiXml.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">edelib  <span id="projectnumber">2.0.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- Generated by Doxygen 1.7.6.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> </ul> </div> </div> <div class="header"> <div class="headertitle"> <div class="title">edelib/TiXml.h</div> </div> </div><!--header--> <div class="contents"> <div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> <a name="l00002"></a>00002 <span class="comment">www.sourceforge.net/projects/tinyxml</span> <a name="l00003"></a>00003 <span class="comment">Original code (2.0 and earlier )copyright (c) 2000-2006 Lee Thomason (www.grinninglizard.com)</span> <a name="l00004"></a>00004 <span class="comment"></span> <a name="l00005"></a>00005 <span class="comment">This software is provided 'as-is', without any express or implied</span> <a name="l00006"></a>00006 <span class="comment">warranty. In no event will the authors be held liable for any</span> <a name="l00007"></a>00007 <span class="comment">damages arising from the use of this software.</span> <a name="l00008"></a>00008 <span class="comment"></span> <a name="l00009"></a>00009 <span class="comment">Permission is granted to anyone to use this software for any</span> <a name="l00010"></a>00010 <span class="comment">purpose, including commercial applications, and to alter it and</span> <a name="l00011"></a>00011 <span class="comment">redistribute it freely, subject to the following restrictions:</span> <a name="l00012"></a>00012 <span class="comment"></span> <a name="l00013"></a>00013 <span class="comment">1. The origin of this software must not be misrepresented; you must</span> <a name="l00014"></a>00014 <span class="comment">not claim that you wrote the original software. If you use this</span> <a name="l00015"></a>00015 <span class="comment">software in a product, an acknowledgment in the product documentation</span> <a name="l00016"></a>00016 <span class="comment">would be appreciated but is not required.</span> <a name="l00017"></a>00017 <span class="comment"></span> <a name="l00018"></a>00018 <span class="comment">2. Altered source versions must be plainly marked as such, and</span> <a name="l00019"></a>00019 <span class="comment">must not be misrepresented as being the original software.</span> <a name="l00020"></a>00020 <span class="comment"></span> <a name="l00021"></a>00021 <span class="comment">3. This notice may not be removed or altered from any source</span> <a name="l00022"></a>00022 <span class="comment">distribution.</span> <a name="l00023"></a>00023 <span class="comment">*/</span> <a name="l00024"></a>00024 <a name="l00025"></a>00025 <a name="l00026"></a>00026 <span class="preprocessor">#ifndef __EDELIB_TIXML_H__</span> <a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define __EDELIB_TIXML_H__</span> <a name="l00028"></a>00028 <span class="preprocessor"></span> <a name="l00029"></a>00029 <span class="preprocessor">#include <ctype.h></span> <a name="l00030"></a>00030 <span class="preprocessor">#include <stdio.h></span> <a name="l00031"></a>00031 <span class="preprocessor">#include <stdlib.h></span> <a name="l00032"></a>00032 <span class="preprocessor">#include <string.h></span> <a name="l00033"></a>00033 <span class="preprocessor">#include <assert.h></span> <a name="l00034"></a>00034 <a name="l00035"></a>00035 <span class="comment">// Help out windows:</span> <a name="l00036"></a>00036 <span class="preprocessor">#if defined( _DEBUG ) && !defined( DEBUG )</span> <a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define DEBUG</span> <a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#endif</span> <a name="l00039"></a>00039 <span class="preprocessor"></span> <a name="l00040"></a>00040 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor"> #include <string></span> <a name="l00042"></a>00042 <span class="preprocessor"> #include <iostream></span> <a name="l00043"></a>00043 <span class="preprocessor"> #include <sstream></span> <a name="l00044"></a>00044 <span class="preprocessor"> #define TIXML_STRING std::string</span> <a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#else</span> <a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor"> #include "String.h"</span> <a name="l00047"></a>00047 <span class="preprocessor"> #define TIXML_STRING EDELIB_NS_PREPEND(String)</span> <a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#endif</span> <a name="l00049"></a>00049 <span class="preprocessor"></span> <a name="l00050"></a>00050 <span class="comment">// Deprecated library function hell. Compilers want to use the</span> <a name="l00051"></a>00051 <span class="comment">// new safe versions. This probably doesn't fully address the problem,</span> <a name="l00052"></a>00052 <span class="comment">// but it gets closer. There are too many compilers for me to fully</span> <a name="l00053"></a>00053 <span class="comment">// test. If you get compilation troubles, undefine TIXML_SAFE</span> <a name="l00054"></a>00054 <span class="preprocessor">#define TIXML_SAFE</span> <a name="l00055"></a>00055 <span class="preprocessor"></span> <a name="l00056"></a>00056 <span class="preprocessor">#ifdef TIXML_SAFE</span> <a name="l00057"></a>00057 <span class="preprocessor"></span><span class="preprocessor"> #if defined(_MSC_VER) && (_MSC_VER >= 1400 )</span> <a name="l00058"></a>00058 <span class="preprocessor"></span> <span class="comment">// Microsoft visual studio, version 2005 and higher.</span> <a name="l00059"></a>00059 <span class="preprocessor"> #define TIXML_SNPRINTF _snprintf_s</span> <a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor"> #define TIXML_SNSCANF _snscanf_s</span> <a name="l00061"></a>00061 <span class="preprocessor"></span><span class="preprocessor"> #elif defined(_MSC_VER) && (_MSC_VER >= 1200 )</span> <a name="l00062"></a>00062 <span class="preprocessor"></span> <span class="comment">// Microsoft visual studio, version 6 and higher.</span> <a name="l00063"></a>00063 <span class="comment">//#pragma message( "Using _sn* functions." )</span> <a name="l00064"></a>00064 <span class="preprocessor"> #define TIXML_SNPRINTF _snprintf</span> <a name="l00065"></a>00065 <span class="preprocessor"></span><span class="preprocessor"> #define TIXML_SNSCANF _snscanf</span> <a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor"> #elif defined(__GNUC__) && (__GNUC__ >= 3 )</span> <a name="l00067"></a>00067 <span class="preprocessor"></span> <span class="comment">// GCC version 3 and higher.s</span> <a name="l00068"></a>00068 <span class="comment">//#warning( "Using sn* functions." )</span> <a name="l00069"></a>00069 <span class="preprocessor"> #define TIXML_SNPRINTF snprintf</span> <a name="l00070"></a>00070 <span class="preprocessor"></span><span class="preprocessor"> #define TIXML_SNSCANF snscanf</span> <a name="l00071"></a>00071 <span class="preprocessor"></span><span class="preprocessor"> #endif</span> <a name="l00072"></a>00072 <span class="preprocessor"></span><span class="preprocessor">#endif </span> <a name="l00073"></a>00073 <span class="preprocessor"></span> <a name="l00074"></a>00074 <span class="keyword">class </span><a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>; <a name="l00075"></a>00075 <span class="keyword">class </span><a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>; <a name="l00076"></a>00076 <span class="keyword">class </span><a class="code" href="classTiXmlComment.html" title="A XML Comment.">TiXmlComment</a>; <a name="l00077"></a>00077 <span class="keyword">class </span><a class="code" href="classTiXmlUnknown.html" title="Unknown XML element.">TiXmlUnknown</a>; <a name="l00078"></a>00078 <span class="keyword">class </span><a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>; <a name="l00079"></a>00079 <span class="keyword">class </span><a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>; <a name="l00080"></a>00080 <span class="keyword">class </span><a class="code" href="classTiXmlDeclaration.html" title="XML declaration.">TiXmlDeclaration</a>; <a name="l00081"></a>00081 <span class="keyword">class </span>TiXmlParsingData; <a name="l00082"></a>00082 <a name="l00083"></a>00083 <span class="keyword">const</span> <span class="keywordtype">int</span> TIXML_MAJOR_VERSION = 2; <a name="l00084"></a>00084 <span class="keyword">const</span> <span class="keywordtype">int</span> TIXML_MINOR_VERSION = 5; <a name="l00085"></a>00085 <span class="keyword">const</span> <span class="keywordtype">int</span> TIXML_PATCH_VERSION = 2; <a name="l00086"></a>00086 <a name="l00087"></a>00087 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l00088"></a>00088 <span class="preprocessor"></span><span class="comment">/* </span> <a name="l00089"></a>00089 <span class="comment"> * Internal structure for tracking location of items </span> <a name="l00090"></a>00090 <span class="comment"> * in the XML file.</span> <a name="l00091"></a>00091 <span class="comment"> */</span> <a name="l00092"></a>00092 <span class="keyword">struct </span>TiXmlCursor <a name="l00093"></a>00093 { <a name="l00094"></a>00094 TiXmlCursor() { Clear(); } <a name="l00095"></a>00095 <span class="keywordtype">void</span> Clear() { row = col = -1; } <a name="l00096"></a>00096 <a name="l00097"></a>00097 <span class="keywordtype">int</span> row; <span class="comment">// 0 based.</span> <a name="l00098"></a>00098 <span class="keywordtype">int</span> col; <span class="comment">// 0 based.</span> <a name="l00099"></a>00099 }; <a name="l00100"></a>00100 <span class="preprocessor">#endif</span> <a name="l00101"></a>00101 <span class="preprocessor"></span> <a name="l00123"></a><a class="code" href="classTiXmlVisitor.html">00123</a> <span class="keyword">class </span><a class="code" href="classTiXmlVisitor.html" title="SAX emulation.">TiXmlVisitor</a> <a name="l00124"></a>00124 { <a name="l00125"></a>00125 <span class="keyword">public</span>: <a name="l00127"></a><a class="code" href="classTiXmlVisitor.html#a2384e828c0a485a9b9b1e7181e595d72">00127</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlVisitor.html#a2384e828c0a485a9b9b1e7181e595d72">~TiXmlVisitor</a>() {} <a name="l00128"></a>00128 <a name="l00130"></a><a class="code" href="classTiXmlVisitor.html#a74dd129fa380913a26d59b6c00c39fb1">00130</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a74dd129fa380913a26d59b6c00c39fb1">VisitEnter</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>& doc ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; } <a name="l00132"></a><a class="code" href="classTiXmlVisitor.html#af6fa317428b54b46c977098007a09dd6">00132</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#af6fa317428b54b46c977098007a09dd6">VisitExit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>& doc ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; } <a name="l00134"></a><a class="code" href="classTiXmlVisitor.html#aa3a06468299b1ce3d80ec3e94c84897b">00134</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#aa3a06468299b1ce3d80ec3e94c84897b">VisitEnter</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>& element, <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* firstAttribute ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; } <a name="l00136"></a><a class="code" href="classTiXmlVisitor.html#a484ed1f99ec7ea1cfcac063fe9225f6d">00136</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a484ed1f99ec7ea1cfcac063fe9225f6d">VisitExit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>& element ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; } <a name="l00138"></a><a class="code" href="classTiXmlVisitor.html#a1d2df83a060124fdd8359a6f5873e192">00138</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a1d2df83a060124fdd8359a6f5873e192">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html" title="XML declaration.">TiXmlDeclaration</a>& declaration ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; } <a name="l00140"></a><a class="code" href="classTiXmlVisitor.html#afb37f7ed8ce977a3cb4e4edbf3decc2c">00140</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#afb37f7ed8ce977a3cb4e4edbf3decc2c">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>& text ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; } <a name="l00142"></a><a class="code" href="classTiXmlVisitor.html#afc75e63e558d04c8503814f759d032f1">00142</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#afc75e63e558d04c8503814f759d032f1">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html" title="A XML Comment.">TiXmlComment</a>& comment ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; } <a name="l00144"></a><a class="code" href="classTiXmlVisitor.html#a1cbe1bf98d24f291cf5b3d1cbf129fe0">00144</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a1cbe1bf98d24f291cf5b3d1cbf129fe0">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html" title="Unknown XML element.">TiXmlUnknown</a>& unknown ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; } <a name="l00145"></a>00145 }; <a name="l00146"></a>00146 <a name="l00147"></a>00147 <span class="comment">// Only used by Attribute::Query functions</span> <a name="l00148"></a>00148 <span class="keyword">enum</span> <a name="l00149"></a>00149 { <a name="l00150"></a>00150 TIXML_SUCCESS, <a name="l00151"></a>00151 TIXML_NO_ATTRIBUTE, <a name="l00152"></a>00152 TIXML_WRONG_TYPE <a name="l00153"></a>00153 }; <a name="l00154"></a>00154 <a name="l00155"></a>00155 <span class="comment">// Used by the parsing routines.</span> <a name="l00156"></a>00156 <span class="keyword">enum</span> TiXmlEncoding <a name="l00157"></a>00157 { <a name="l00158"></a>00158 TIXML_ENCODING_UNKNOWN, <a name="l00159"></a>00159 TIXML_ENCODING_UTF8, <a name="l00160"></a>00160 TIXML_ENCODING_LEGACY <a name="l00161"></a>00161 }; <a name="l00162"></a>00162 <a name="l00163"></a>00163 <span class="keyword">const</span> TiXmlEncoding TIXML_DEFAULT_ENCODING = TIXML_ENCODING_UNKNOWN; <a name="l00164"></a>00164 <a name="l00194"></a><a class="code" href="classTiXmlBase.html">00194</a> <span class="keyword">class </span><a class="code" href="classTiXmlBase.html" title="Xml base class.">TiXmlBase</a> <a name="l00195"></a>00195 { <a name="l00196"></a>00196 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>; <a name="l00197"></a>00197 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>; <a name="l00198"></a>00198 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>; <a name="l00199"></a>00199 <a name="l00200"></a>00200 <span class="keyword">public</span>: <a name="l00201"></a>00201 <a class="code" href="classTiXmlBase.html" title="Xml base class.">TiXmlBase</a>() : <a class="code" href="classTiXmlBase.html#a2e294dd14122c554baa0665072b4ca7a">userData</a>(0) {} <a name="l00202"></a>00202 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlBase.html" title="Xml base class.">TiXmlBase</a>() {} <a name="l00203"></a>00203 <a name="l00214"></a>00214 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#a953033a3c8ccb7404e67b0be72562391">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span> = 0; <a name="l00215"></a>00215 <a name="l00223"></a><a class="code" href="classTiXmlBase.html#af8f2207f82d9add8ab6f375f5a5b9667">00223</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#af8f2207f82d9add8ab6f375f5a5b9667">SetCondenseWhiteSpace</a>( <span class="keywordtype">bool</span> condense ) { condenseWhiteSpace = condense; } <a name="l00224"></a>00224 <a name="l00226"></a><a class="code" href="classTiXmlBase.html#a3b5c220f2933287671e650679746c08f">00226</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlBase.html#a3b5c220f2933287671e650679746c08f">IsWhiteSpaceCondensed</a>() { <span class="keywordflow">return</span> condenseWhiteSpace; } <a name="l00227"></a>00227 <a name="l00246"></a><a class="code" href="classTiXmlBase.html#a8b8f21430c62433a48c592277a3bd7a2">00246</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlBase.html#a8b8f21430c62433a48c592277a3bd7a2">Row</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlBase.html#a4dc7805c3510e31912915af681ec22f4">location</a>.row + 1; } <a name="l00248"></a><a class="code" href="classTiXmlBase.html#ab01a75ed9853cd6e22f06a61d173f229">00248</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlBase.html#ab01a75ed9853cd6e22f06a61d173f229">Column</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlBase.html#a4dc7805c3510e31912915af681ec22f4">location</a>.col + 1; } <a name="l00250"></a><a class="code" href="classTiXmlBase.html#a52da991c3b0e2f0de483df38db787e4b">00250</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#a52da991c3b0e2f0de483df38db787e4b">SetUserData</a>( <span class="keywordtype">void</span>* user ) { <a class="code" href="classTiXmlBase.html#a2e294dd14122c554baa0665072b4ca7a">userData</a> = user; } <a name="l00252"></a><a class="code" href="classTiXmlBase.html#ab331e64cfdbe463ed51c2591d26f7564">00252</a> <span class="keywordtype">void</span>* <a class="code" href="classTiXmlBase.html#ab331e64cfdbe463ed51c2591d26f7564">GetUserData</a>() { <span class="keywordflow">return</span> <a class="code" href="classTiXmlBase.html#a2e294dd14122c554baa0665072b4ca7a">userData</a>; } <a name="l00254"></a><a class="code" href="classTiXmlBase.html#a5a80e350527f576950f2bc9c2596d14e">00254</a> <span class="keyword">const</span> <span class="keywordtype">void</span>* <a class="code" href="classTiXmlBase.html#a5a80e350527f576950f2bc9c2596d14e">GetUserData</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlBase.html#a2e294dd14122c554baa0665072b4ca7a">userData</a>; } <a name="l00255"></a>00255 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l00256"></a>00256 <span class="preprocessor"></span> <span class="comment">// Table that returs, for a given lead byte, the total number of bytes</span> <a name="l00257"></a>00257 <span class="comment">// in the UTF-8 sequence.</span> <a name="l00258"></a>00258 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> utf8ByteTable[256]; <a name="l00259"></a>00259 <a name="l00260"></a>00260 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlDocument.html#a7f2b27105537a0ec4bfb961c40bb0d64">Parse</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, <a name="l00261"></a>00261 TiXmlParsingData* data, <a name="l00262"></a>00262 TiXmlEncoding encoding <span class="comment">/*= TIXML_ENCODING_UNKNOWN */</span> ) = 0; <a name="l00263"></a>00263 <span class="preprocessor">#endif</span> <a name="l00264"></a>00264 <span class="preprocessor"></span> <a name="l00265"></a>00265 <span class="keyword">enum</span> <a name="l00266"></a>00266 { <a name="l00267"></a>00267 TIXML_NO_ERROR = 0, <a name="l00268"></a>00268 TIXML_ERROR, <a name="l00269"></a>00269 TIXML_ERROR_OPENING_FILE, <a name="l00270"></a>00270 TIXML_ERROR_OUT_OF_MEMORY, <a name="l00271"></a>00271 TIXML_ERROR_PARSING_ELEMENT, <a name="l00272"></a>00272 TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME, <a name="l00273"></a>00273 TIXML_ERROR_READING_ELEMENT_VALUE, <a name="l00274"></a>00274 TIXML_ERROR_READING_ATTRIBUTES, <a name="l00275"></a>00275 TIXML_ERROR_PARSING_EMPTY, <a name="l00276"></a>00276 TIXML_ERROR_READING_END_TAG, <a name="l00277"></a>00277 TIXML_ERROR_PARSING_UNKNOWN, <a name="l00278"></a>00278 TIXML_ERROR_PARSING_COMMENT, <a name="l00279"></a>00279 TIXML_ERROR_PARSING_DECLARATION, <a name="l00280"></a>00280 TIXML_ERROR_DOCUMENT_EMPTY, <a name="l00281"></a>00281 TIXML_ERROR_EMBEDDED_NULL, <a name="l00282"></a>00282 TIXML_ERROR_PARSING_CDATA, <a name="l00283"></a>00283 TIXML_ERROR_DOCUMENT_TOP_ONLY, <a name="l00284"></a>00284 <a name="l00285"></a>00285 TIXML_ERROR_STRING_COUNT <a name="l00286"></a>00286 }; <a name="l00287"></a>00287 <a name="l00288"></a>00288 <span class="keyword">protected</span>: <a name="l00289"></a>00289 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l00290"></a>00290 <span class="preprocessor"></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* SkipWhiteSpace( <span class="keyword">const</span> <span class="keywordtype">char</span>*, TiXmlEncoding encoding ); <a name="l00291"></a>00291 <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> IsWhiteSpace( <span class="keywordtype">char</span> c ) <a name="l00292"></a>00292 { <a name="l00293"></a>00293 <span class="keywordflow">return</span> ( isspace( (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>) c ) || c == <span class="charliteral">'\n'</span> || c == <span class="charliteral">'\r'</span> ); <a name="l00294"></a>00294 } <a name="l00295"></a>00295 <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> IsWhiteSpace( <span class="keywordtype">int</span> c ) <a name="l00296"></a>00296 { <a name="l00297"></a>00297 <span class="keywordflow">if</span> ( c < 256 ) <a name="l00298"></a>00298 <span class="keywordflow">return</span> IsWhiteSpace( (<span class="keywordtype">char</span>) c ); <a name="l00299"></a>00299 <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="comment">// Again, only truly correct for English/Latin...but usually works.</span> <a name="l00300"></a>00300 } <a name="l00301"></a>00301 <a name="l00302"></a>00302 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l00303"></a>00303 <span class="preprocessor"></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> StreamWhiteSpace( std::istream * in, TIXML_STRING * tag ); <a name="l00304"></a>00304 <span class="keyword">static</span> <span class="keywordtype">bool</span> StreamTo( std::istream * in, <span class="keywordtype">int</span> character, TIXML_STRING * tag ); <a name="l00305"></a>00305 <span class="preprocessor">#endif</span> <a name="l00306"></a>00306 <span class="preprocessor"></span> <a name="l00307"></a>00307 <span class="preprocessor">#endif</span> <a name="l00308"></a>00308 <span class="preprocessor"></span> <a name="l00314"></a>00314 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlBase.html#ab6c78439ac122bf1f9f0475f8dc65eb3">ReadName</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, TIXML_STRING* name, TiXmlEncoding encoding ); <a name="l00315"></a>00315 <a name="l00320"></a>00320 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlBase.html#ad0f4852fe129aa679f9e6e7a03aee88c">ReadText</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* in, <span class="comment">// where to start</span> <a name="l00321"></a>00321 TIXML_STRING* text, <span class="comment">// the string read</span> <a name="l00322"></a>00322 <span class="keywordtype">bool</span> ignoreWhiteSpace, <span class="comment">// whether to keep the white space</span> <a name="l00323"></a>00323 <span class="keyword">const</span> <span class="keywordtype">char</span>* endTag, <span class="comment">// what ends this text</span> <a name="l00324"></a>00324 <span class="keywordtype">bool</span> ignoreCase, <span class="comment">// whether to ignore case in the end tag</span> <a name="l00325"></a>00325 TiXmlEncoding encoding ); <span class="comment">// the current encoding</span> <a name="l00326"></a>00326 <a name="l00328"></a>00328 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlBase.html#a96887fa866b967049b20080b771de0dd">GetEntity</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* in, <span class="keywordtype">char</span>* value, <span class="keywordtype">int</span>* length, TiXmlEncoding encoding ); <a name="l00329"></a>00329 <a name="l00334"></a><a class="code" href="classTiXmlBase.html#aa638ff772292abda05c03c0ae481bdcd">00334</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlBase.html#aa638ff772292abda05c03c0ae481bdcd">GetChar</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, <span class="keywordtype">char</span>* _value, <span class="keywordtype">int</span>* length, TiXmlEncoding encoding ) <a name="l00335"></a>00335 { <a name="l00336"></a>00336 assert( p ); <a name="l00337"></a>00337 <span class="keywordflow">if</span> ( encoding == TIXML_ENCODING_UTF8 ) <a name="l00338"></a>00338 { <a name="l00339"></a>00339 *length = utf8ByteTable[ *((<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)p) ]; <a name="l00340"></a>00340 assert( *length >= 0 && *length < 5 ); <a name="l00341"></a>00341 } <a name="l00342"></a>00342 <span class="keywordflow">else</span> <a name="l00343"></a>00343 { <a name="l00344"></a>00344 *length = 1; <a name="l00345"></a>00345 } <a name="l00346"></a>00346 <a name="l00347"></a>00347 <span class="keywordflow">if</span> ( *length == 1 ) <a name="l00348"></a>00348 { <a name="l00349"></a>00349 <span class="keywordflow">if</span> ( *p == <span class="charliteral">'&'</span> ) <a name="l00350"></a>00350 <span class="keywordflow">return</span> <a class="code" href="classTiXmlBase.html#a96887fa866b967049b20080b771de0dd">GetEntity</a>( p, _value, length, encoding ); <a name="l00351"></a>00351 *_value = *p; <a name="l00352"></a>00352 <span class="keywordflow">return</span> p+1; <a name="l00353"></a>00353 } <a name="l00354"></a>00354 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( *length ) <a name="l00355"></a>00355 { <a name="l00356"></a>00356 <span class="comment">//strncpy( _value, p, *length ); // lots of compilers don't like this function (unsafe),</span> <a name="l00357"></a>00357 <span class="comment">// and the null terminator isn't needed</span> <a name="l00358"></a>00358 <span class="keywordflow">for</span>( <span class="keywordtype">int</span> i=0; p[i] && i<*length; ++i ) { <a name="l00359"></a>00359 _value[i] = p[i]; <a name="l00360"></a>00360 } <a name="l00361"></a>00361 <span class="keywordflow">return</span> p + (*length); <a name="l00362"></a>00362 } <a name="l00363"></a>00363 <span class="keywordflow">else</span> <a name="l00364"></a>00364 { <a name="l00365"></a>00365 <span class="comment">// Not valid text.</span> <a name="l00366"></a>00366 <span class="keywordflow">return</span> 0; <a name="l00367"></a>00367 } <a name="l00368"></a>00368 } <a name="l00369"></a>00369 <a name="l00374"></a>00374 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#a79d009a172b3446fc53d2ec824e052e2">PutString</a>( <span class="keyword">const</span> TIXML_STRING& str, TIXML_STRING* out ); <a name="l00375"></a>00375 <a name="l00381"></a>00381 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlBase.html#a69ce22b05a76723414b88817a54058f4">StringEqual</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, <a name="l00382"></a>00382 <span class="keyword">const</span> <span class="keywordtype">char</span>* endTag, <a name="l00383"></a>00383 <span class="keywordtype">bool</span> ignoreCase, <a name="l00384"></a>00384 TiXmlEncoding encoding ); <a name="l00385"></a>00385 <a name="l00387"></a><a class="code" href="classTiXmlBase.html#acb68accfbcead3c93fcf29cdf8bdb4c4">00387</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlBase.html#acb68accfbcead3c93fcf29cdf8bdb4c4">errorString</a>[ TIXML_ERROR_STRING_COUNT ]; <a name="l00388"></a>00388 <a name="l00390"></a><a class="code" href="classTiXmlBase.html#a4dc7805c3510e31912915af681ec22f4">00390</a> TiXmlCursor <a class="code" href="classTiXmlBase.html#a4dc7805c3510e31912915af681ec22f4">location</a>; <a name="l00391"></a>00391 <a name="l00393"></a><a class="code" href="classTiXmlBase.html#a2e294dd14122c554baa0665072b4ca7a">00393</a> <span class="keywordtype">void</span>* <a class="code" href="classTiXmlBase.html#a2e294dd14122c554baa0665072b4ca7a">userData</a>; <a name="l00394"></a>00394 <a name="l00399"></a>00399 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classTiXmlBase.html#a7e5a7fa026ecb0f2d52bc7e08460aeab">IsAlpha</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> anyByte, TiXmlEncoding encoding ); <a name="l00401"></a>00401 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classTiXmlBase.html#ab561fe2a6402715973d8d282f8cc6348">IsAlphaNum</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> anyByte, TiXmlEncoding encoding ); <a name="l00403"></a><a class="code" href="classTiXmlBase.html#ad98aa67c2bd17629da1681c714f91548">00403</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classTiXmlBase.html#ad98aa67c2bd17629da1681c714f91548">ToLower</a>( <span class="keywordtype">int</span> v, TiXmlEncoding encoding ) <a name="l00404"></a>00404 { <a name="l00405"></a>00405 <span class="keywordflow">if</span> ( encoding == TIXML_ENCODING_UTF8 ) <a name="l00406"></a>00406 { <a name="l00407"></a>00407 <span class="keywordflow">if</span> ( v < 128 ) <span class="keywordflow">return</span> tolower( v ); <a name="l00408"></a>00408 <span class="keywordflow">return</span> v; <a name="l00409"></a>00409 } <a name="l00410"></a>00410 <span class="keywordflow">else</span> <a name="l00411"></a>00411 { <a name="l00412"></a>00412 <span class="keywordflow">return</span> tolower( v ); <a name="l00413"></a>00413 } <a name="l00414"></a>00414 } <a name="l00416"></a>00416 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#a72afad56eb82af0449a54b9545ad0e2f">ConvertUTF32ToUTF8</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> input, <span class="keywordtype">char</span>* output, <span class="keywordtype">int</span>* length ); <a name="l00417"></a>00417 <a name="l00418"></a>00418 <span class="keyword">private</span>: <a name="l00419"></a>00419 <a class="code" href="classTiXmlBase.html" title="Xml base class.">TiXmlBase</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlBase.html" title="Xml base class.">TiXmlBase</a>& ); <span class="comment">// not implemented.</span> <a name="l00420"></a>00420 <span class="keywordtype">void</span> <a class="code" href="classTiXmlDocument.html#a9795f287dd952bba899652b019ff85ff">operator=</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlBase.html" title="Xml base class.">TiXmlBase</a>& base ); <span class="comment">// not allowed.</span> <a name="l00421"></a>00421 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l00422"></a>00422 <span class="preprocessor"></span> <span class="keyword">struct </span>Entity <a name="l00423"></a>00423 { <a name="l00424"></a>00424 <span class="keyword">const</span> <span class="keywordtype">char</span>* str; <a name="l00425"></a>00425 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> strLength; <a name="l00426"></a>00426 <span class="keywordtype">char</span> chr; <a name="l00427"></a>00427 }; <a name="l00428"></a>00428 <span class="preprocessor">#endif</span> <a name="l00429"></a>00429 <span class="preprocessor"></span> <span class="keyword">enum</span> <a name="l00430"></a>00430 { <a name="l00431"></a>00431 NUM_ENTITY = 5, <a name="l00432"></a>00432 MAX_ENTITY_LENGTH = 6 <a name="l00433"></a>00433 <a name="l00434"></a>00434 }; <a name="l00435"></a>00435 <span class="keyword">static</span> Entity entity[ NUM_ENTITY ]; <a name="l00436"></a>00436 <span class="keyword">static</span> <span class="keywordtype">bool</span> condenseWhiteSpace; <a name="l00437"></a>00437 }; <a name="l00438"></a>00438 <a name="l00439"></a>00439 <a name="l00450"></a><a class="code" href="classTiXmlNode.html">00450</a> <span class="keyword">class </span>EDELIB_API <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlBase.html" title="Xml base class.">TiXmlBase</a> <a name="l00451"></a>00451 { <a name="l00452"></a>00452 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>; <a name="l00453"></a>00453 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>; <a name="l00454"></a>00454 <a name="l00455"></a>00455 <span class="keyword">public</span>: <a name="l00456"></a>00456 <span class="preprocessor"> #ifdef TIXML_USE_STL </span> <a name="l00457"></a>00457 <span class="preprocessor"></span> <a name="l00462"></a>00462 <span class="keyword">friend</span> std::istream& operator >> (std::istream& in, <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>& base); <a name="l00463"></a>00463 <a name="l00481"></a>00481 <span class="keyword">friend</span> std::ostream& <a class="code" href="group__dbus.html#gaba4ab1236c759d6344fa81a2926cbf0f">operator<< </a>(std::ostream& out, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>& base); <a name="l00482"></a>00482 <a name="l00484"></a>00484 <span class="keyword">friend</span> std::string& <a class="code" href="group__dbus.html#gaba4ab1236c759d6344fa81a2926cbf0f">operator<< </a>(std::string& out, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>& base ); <a name="l00485"></a>00485 <a name="l00486"></a>00486 <span class="preprocessor"> #endif</span> <a name="l00487"></a>00487 <span class="preprocessor"></span> <a name="l00492"></a><a class="code" href="classTiXmlNode.html#acac9cbaeea226ed297804c012dc12b16">00492</a> <span class="keyword">enum</span> <a class="code" href="classTiXmlNode.html#acac9cbaeea226ed297804c012dc12b16">NodeType</a> <a name="l00493"></a>00493 { <a name="l00494"></a>00494 DOCUMENT, <a name="l00495"></a>00495 ELEMENT, <a name="l00496"></a>00496 COMMENT, <a name="l00497"></a>00497 UNKNOWN, <a name="l00498"></a>00498 TEXT, <a name="l00499"></a>00499 DECLARATION, <a name="l00500"></a>00500 TYPECOUNT <a name="l00501"></a>00501 }; <a name="l00502"></a>00502 <a name="l00503"></a>00503 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>(); <a name="l00504"></a>00504 <a name="l00517"></a><a class="code" href="classTiXmlNode.html#a67ec54cde5ef8dac7901ad63544c6d44">00517</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTiXmlNode.html#a67ec54cde5ef8dac7901ad63544c6d44">Value</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value.c_str (); } <a name="l00518"></a>00518 <a name="l00519"></a>00519 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l00520"></a>00520 <span class="preprocessor"></span> <a name="l00525"></a>00525 <span class="keyword">const</span> std::string& ValueStr()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value; } <a name="l00526"></a>00526 <span class="preprocessor">#endif</span> <a name="l00527"></a>00527 <span class="preprocessor"></span> <a name="l00538"></a><a class="code" href="classTiXmlNode.html#aea82a06505184ef86f477ad405fbbef9">00538</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#aea82a06505184ef86f477ad405fbbef9">SetValue</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * _value) { value = _value;} <a name="l00539"></a>00539 <a name="l00540"></a>00540 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l00541"></a>00541 <span class="preprocessor"></span> <a name="l00542"></a>00542 <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#aea82a06505184ef86f477ad405fbbef9">SetValue</a>( <span class="keyword">const</span> std::string& _value ) { value = _value; } <a name="l00543"></a>00543 <span class="preprocessor">#endif</span> <a name="l00544"></a>00544 <span class="preprocessor"></span> <a name="l00546"></a>00546 <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#aa71d36872f416feaa853788a7a7a7ef8">Clear</a>(); <a name="l00547"></a>00547 <a name="l00549"></a><a class="code" href="classTiXmlNode.html#a4e3428786b78432ca5e026b468dc3133">00549</a> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a4e3428786b78432ca5e026b468dc3133">Parent</a>() { <span class="keywordflow">return</span> parent; } <a name="l00551"></a><a class="code" href="classTiXmlNode.html#aaab5bb97c038398d8b12856e203341c5">00551</a> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#aaab5bb97c038398d8b12856e203341c5">Parent</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> parent; } <a name="l00552"></a>00552 <a name="l00554"></a><a class="code" href="classTiXmlNode.html#a7ac8d1fed702dafc908e01d1dd842751">00554</a> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a7ac8d1fed702dafc908e01d1dd842751">FirstChild</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> firstChild; } <a name="l00556"></a><a class="code" href="classTiXmlNode.html#a6b9f16ec1f562c30fcd1c7ff533ef1ff">00556</a> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a6b9f16ec1f562c30fcd1c7ff533ef1ff">FirstChild</a>() { <span class="keywordflow">return</span> firstChild; } <a name="l00557"></a>00557 <a name="l00559"></a>00559 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a7ac8d1fed702dafc908e01d1dd842751">FirstChild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * value ) <span class="keyword">const</span>; <a name="l00561"></a><a class="code" href="classTiXmlNode.html#a151042fa661ce7c57f68c48dcce7e6b1">00561</a> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a151042fa661ce7c57f68c48dcce7e6b1">FirstChild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) { <a name="l00562"></a>00562 <span class="comment">// Call through to the const version - safe since nothing is changed. </span> <a name="l00563"></a>00563 <span class="comment">// Exiting syntax: cast this to a const (always safe)</span> <a name="l00564"></a>00564 <span class="comment">// call the method, cast the return back to non-const.</span> <a name="l00565"></a>00565 <span class="keywordflow">return</span> <span class="keyword">const_cast<</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <span class="keyword">></span> ((<span class="keyword">const_cast<</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <span class="keyword">></span>(<span class="keyword">this</span>))->FirstChild( _value )); <a name="l00566"></a>00566 } <a name="l00567"></a>00567 <a name="l00569"></a><a class="code" href="classTiXmlNode.html#a7e62a752a8ebad8ed8d18205833b1ce3">00569</a> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a7e62a752a8ebad8ed8d18205833b1ce3">LastChild</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> lastChild; } <a name="l00570"></a>00570 <a name="l00572"></a><a class="code" href="classTiXmlNode.html#a59977be0e97e6625029e42725158aa23">00572</a> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a59977be0e97e6625029e42725158aa23">LastChild</a>() { <span class="keywordflow">return</span> lastChild; } <a name="l00573"></a>00573 <a name="l00575"></a>00575 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a7e62a752a8ebad8ed8d18205833b1ce3">LastChild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * value ) <span class="keyword">const</span>; <a name="l00576"></a>00576 <a name="l00578"></a><a class="code" href="classTiXmlNode.html#a947739e780823a471751b5da68dc77f6">00578</a> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a947739e780823a471751b5da68dc77f6">LastChild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) { <a name="l00579"></a>00579 <span class="keywordflow">return</span> <span class="keyword">const_cast<</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <span class="keyword">></span> ((<span class="keyword">const_cast<</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <span class="keyword">></span>(<span class="keyword">this</span>))->LastChild( _value )); <a name="l00580"></a>00580 } <a name="l00581"></a>00581 <a name="l00582"></a>00582 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l00583"></a>00583 <span class="preprocessor"></span> <a name="l00584"></a>00584 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a7ac8d1fed702dafc908e01d1dd842751">FirstChild</a>( <span class="keyword">const</span> std::string& _value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a7ac8d1fed702dafc908e01d1dd842751">FirstChild</a> (_value.c_str ()); } <a name="l00586"></a>00586 <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a7ac8d1fed702dafc908e01d1dd842751">FirstChild</a>( <span class="keyword">const</span> std::string& _value ) { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a7ac8d1fed702dafc908e01d1dd842751">FirstChild</a> (_value.c_str ()); } <a name="l00588"></a>00588 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a7e62a752a8ebad8ed8d18205833b1ce3">LastChild</a>( <span class="keyword">const</span> std::string& _value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a7e62a752a8ebad8ed8d18205833b1ce3">LastChild</a> (_value.c_str ()); } <a name="l00590"></a>00590 <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a7e62a752a8ebad8ed8d18205833b1ce3">LastChild</a>( <span class="keyword">const</span> std::string& _value ) { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a7e62a752a8ebad8ed8d18205833b1ce3">LastChild</a> (_value.c_str ()); } <a name="l00591"></a>00591 <span class="preprocessor">#endif</span> <a name="l00592"></a>00592 <span class="preprocessor"></span> <a name="l00610"></a>00610 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a2211f784d6c09118d4f8c8980d958228">IterateChildren</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* previous ) <span class="keyword">const</span>; <a name="l00611"></a>00611 <a name="l00613"></a><a class="code" href="classTiXmlNode.html#a74ce1e856260b5d0bd4bbc5081bfbe24">00613</a> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a74ce1e856260b5d0bd4bbc5081bfbe24">IterateChildren</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* previous ) { <a name="l00614"></a>00614 <span class="keywordflow">return</span> <span class="keyword">const_cast<</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <span class="keyword">></span>( (<span class="keyword">const_cast<</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <span class="keyword">></span>(<span class="keyword">this</span>))->IterateChildren( previous ) ); <a name="l00615"></a>00615 } <a name="l00616"></a>00616 <a name="l00618"></a>00618 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a2211f784d6c09118d4f8c8980d958228">IterateChildren</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * value, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* previous ) <span class="keyword">const</span>; <a name="l00620"></a><a class="code" href="classTiXmlNode.html#af7ec88d14ce955d38e3cfc60f90ed043">00620</a> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#af7ec88d14ce955d38e3cfc60f90ed043">IterateChildren</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* previous ) { <a name="l00621"></a>00621 <span class="keywordflow">return</span> <span class="keyword">const_cast<</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <span class="keyword">></span>( (<span class="keyword">const_cast<</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <span class="keyword">></span>(<span class="keyword">this</span>))->IterateChildren( _value, previous ) ); <a name="l00622"></a>00622 } <a name="l00623"></a>00623 <a name="l00624"></a>00624 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l00625"></a>00625 <span class="preprocessor"></span> <a name="l00626"></a>00626 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a2211f784d6c09118d4f8c8980d958228">IterateChildren</a>( <span class="keyword">const</span> std::string& _value, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* previous )<span class="keyword"> const </span>{ <a name="l00627"></a>00627 <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a2211f784d6c09118d4f8c8980d958228">IterateChildren</a> (_value.c_str (), previous); <a name="l00628"></a>00628 } <a name="l00629"></a>00629 <a name="l00631"></a>00631 <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a2211f784d6c09118d4f8c8980d958228">IterateChildren</a>( <span class="keyword">const</span> std::string& _value, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* previous ) { <a name="l00632"></a>00632 <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a2211f784d6c09118d4f8c8980d958228">IterateChildren</a> (_value.c_str (), previous); <a name="l00633"></a>00633 } <a name="l00634"></a>00634 <span class="preprocessor">#endif</span> <a name="l00635"></a>00635 <span class="preprocessor"></span> <a name="l00640"></a>00640 <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a25d5052a6aac36422b5547d5c60a2e14">InsertEndChild</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>& addThis ); <a name="l00641"></a>00641 <a name="l00652"></a>00652 <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a5ac7df1a3eee9aac58889b50fe8949bd">LinkEndChild</a>( <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* addThis ); <a name="l00653"></a>00653 <a name="l00658"></a>00658 <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a0faa25e936112d65e2814a1442d4cdb2">InsertBeforeChild</a>( <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* beforeThis, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>& addThis ); <a name="l00659"></a>00659 <a name="l00664"></a>00664 <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#aecf719bc1ac383076c09c7d7ca784a0c">InsertAfterChild</a>( <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* afterThis, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>& addThis ); <a name="l00665"></a>00665 <a name="l00670"></a>00670 <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a8f48eb718085e19cd97c96a86e49f402">ReplaceChild</a>( <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* replaceThis, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>& withThis ); <a name="l00671"></a>00671 <a name="l00675"></a>00675 <span class="keywordtype">bool</span> <a class="code" href="classTiXmlNode.html#ab38d7e3ea88170aaaf445496eda97401">RemoveChild</a>( <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* removeThis ); <a name="l00676"></a>00676 <a name="l00680"></a><a class="code" href="classTiXmlNode.html#a03242d71797b79eba11e9c94fe0bd142">00680</a> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a03242d71797b79eba11e9c94fe0bd142">PreviousSibling</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> prev; } <a name="l00681"></a>00681 <a name="l00685"></a><a class="code" href="classTiXmlNode.html#a3ea283e5e423c0d2dbef9ecb4411c986">00685</a> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a3ea283e5e423c0d2dbef9ecb4411c986">PreviousSibling</a>() { <span class="keywordflow">return</span> prev; } <a name="l00686"></a>00686 <a name="l00688"></a>00688 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a03242d71797b79eba11e9c94fe0bd142">PreviousSibling</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * ) <span class="keyword">const</span>; <a name="l00690"></a><a class="code" href="classTiXmlNode.html#acbb1cbb9a413d5a614c63ef1e488fe87">00690</a> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#acbb1cbb9a413d5a614c63ef1e488fe87">PreviousSibling</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *_prev ) { <a name="l00691"></a>00691 <span class="keywordflow">return</span> <span class="keyword">const_cast<</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <span class="keyword">></span>( (<span class="keyword">const_cast<</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <span class="keyword">></span>(<span class="keyword">this</span>))->PreviousSibling( _prev ) ); <a name="l00692"></a>00692 } <a name="l00693"></a>00693 <a name="l00694"></a>00694 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l00695"></a>00695 <span class="preprocessor"></span> <a name="l00696"></a>00696 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a03242d71797b79eba11e9c94fe0bd142">PreviousSibling</a>( <span class="keyword">const</span> std::string& _value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a03242d71797b79eba11e9c94fe0bd142">PreviousSibling</a> (_value.c_str ()); } <a name="l00698"></a>00698 <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a03242d71797b79eba11e9c94fe0bd142">PreviousSibling</a>( <span class="keyword">const</span> std::string& _value ) { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a03242d71797b79eba11e9c94fe0bd142">PreviousSibling</a> (_value.c_str ()); } <a name="l00700"></a>00700 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a4880cf2f976049d73487cae726edc644">NextSibling</a>( <span class="keyword">const</span> std::string& _value)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a4880cf2f976049d73487cae726edc644">NextSibling</a> (_value.c_str ()); } <a name="l00702"></a>00702 <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a4880cf2f976049d73487cae726edc644">NextSibling</a>( <span class="keyword">const</span> std::string& _value) { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a4880cf2f976049d73487cae726edc644">NextSibling</a> (_value.c_str ()); } <a name="l00703"></a>00703 <span class="preprocessor">#endif</span> <a name="l00704"></a>00704 <span class="preprocessor"></span> <a name="l00706"></a><a class="code" href="classTiXmlNode.html#a4880cf2f976049d73487cae726edc644">00706</a> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a4880cf2f976049d73487cae726edc644">NextSibling</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> next; } <a name="l00708"></a><a class="code" href="classTiXmlNode.html#aca76234b0be32864c7a623e17200fccb">00708</a> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#aca76234b0be32864c7a623e17200fccb">NextSibling</a>() { <span class="keywordflow">return</span> next; } <a name="l00709"></a>00709 <a name="l00711"></a>00711 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a4880cf2f976049d73487cae726edc644">NextSibling</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * ) <span class="keyword">const</span>; <a name="l00713"></a><a class="code" href="classTiXmlNode.html#a266645746d4d334fb1d6efe2171f58ac">00713</a> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a266645746d4d334fb1d6efe2171f58ac">NextSibling</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _next ) { <a name="l00714"></a>00714 <span class="keywordflow">return</span> <span class="keyword">const_cast<</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <span class="keyword">></span>( (<span class="keyword">const_cast<</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <span class="keyword">></span>(<span class="keyword">this</span>))->NextSibling( _next ) ); <a name="l00715"></a>00715 } <a name="l00716"></a>00716 <a name="l00723"></a>00723 <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a954da5954374fb80ab9f9a39a8dd5330">NextSiblingElement</a>() <span class="keyword">const</span>; <a name="l00724"></a>00724 <a name="l00726"></a><a class="code" href="classTiXmlNode.html#a7cbdceb24373d16cf838a295e63245dd">00726</a> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a7cbdceb24373d16cf838a295e63245dd">NextSiblingElement</a>() { <a name="l00727"></a>00727 <span class="keywordflow">return</span> <span class="keyword">const_cast<</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <span class="keyword">></span>( (<span class="keyword">const_cast<</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <span class="keyword">></span>(<span class="keyword">this</span>))->NextSiblingElement() ); <a name="l00728"></a>00728 } <a name="l00729"></a>00729 <a name="l00736"></a>00736 <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a954da5954374fb80ab9f9a39a8dd5330">NextSiblingElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * ) <span class="keyword">const</span>; <a name="l00737"></a>00737 <a name="l00739"></a><a class="code" href="classTiXmlNode.html#a4b98f17e7c81592e2c35d18d7a6d5e93">00739</a> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a4b98f17e7c81592e2c35d18d7a6d5e93">NextSiblingElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *_next ) { <a name="l00740"></a>00740 <span class="keywordflow">return</span> <span class="keyword">const_cast<</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <span class="keyword">></span>( (<span class="keyword">const_cast<</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <span class="keyword">></span>(<span class="keyword">this</span>))->NextSiblingElement( _next ) ); <a name="l00741"></a>00741 } <a name="l00742"></a>00742 <a name="l00743"></a>00743 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l00744"></a>00744 <span class="preprocessor"></span> <a name="l00745"></a>00745 <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a954da5954374fb80ab9f9a39a8dd5330">NextSiblingElement</a>( <span class="keyword">const</span> std::string& _value)<span class="keyword"> const </span>{ <a name="l00746"></a>00746 <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a954da5954374fb80ab9f9a39a8dd5330">NextSiblingElement</a> (_value.c_str ()); <a name="l00747"></a>00747 } <a name="l00749"></a>00749 <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a954da5954374fb80ab9f9a39a8dd5330">NextSiblingElement</a>( <span class="keyword">const</span> std::string& _value) { <a name="l00750"></a>00750 <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a954da5954374fb80ab9f9a39a8dd5330">NextSiblingElement</a> (_value.c_str ()); <a name="l00751"></a>00751 } <a name="l00752"></a>00752 <span class="preprocessor">#endif</span> <a name="l00753"></a>00753 <span class="preprocessor"></span> <a name="l00755"></a>00755 <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a93ce116d33aa8a9b9824f667b716b1bb">FirstChildElement</a>() <span class="keyword">const</span>; <a name="l00757"></a><a class="code" href="classTiXmlNode.html#a0f7468b234815ad2ed918111678a83b2">00757</a> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a0f7468b234815ad2ed918111678a83b2">FirstChildElement</a>() { <a name="l00758"></a>00758 <span class="keywordflow">return</span> <span class="keyword">const_cast<</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <span class="keyword">></span>( (<span class="keyword">const_cast<</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <span class="keyword">></span>(<span class="keyword">this</span>))->FirstChildElement() ); <a name="l00759"></a>00759 } <a name="l00761"></a>00761 <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a93ce116d33aa8a9b9824f667b716b1bb">FirstChildElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) <span class="keyword">const</span>; <a name="l00763"></a><a class="code" href="classTiXmlNode.html#a6c14d9d4e3a9070215c9d3517232460e">00763</a> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a6c14d9d4e3a9070215c9d3517232460e">FirstChildElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) { <a name="l00764"></a>00764 <span class="keywordflow">return</span> <span class="keyword">const_cast<</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <span class="keyword">></span>( (<span class="keyword">const_cast<</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <span class="keyword">></span>(<span class="keyword">this</span>))->FirstChildElement( _value ) ); <a name="l00765"></a>00765 } <a name="l00766"></a>00766 <a name="l00767"></a>00767 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l00768"></a>00768 <span class="preprocessor"></span> <a name="l00769"></a>00769 <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a93ce116d33aa8a9b9824f667b716b1bb">FirstChildElement</a>( <span class="keyword">const</span> std::string& _value )<span class="keyword"> const </span>{ <a name="l00770"></a>00770 <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a93ce116d33aa8a9b9824f667b716b1bb">FirstChildElement</a> (_value.c_str ()); <a name="l00771"></a>00771 } <a name="l00772"></a>00772 <a name="l00774"></a>00774 <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a93ce116d33aa8a9b9824f667b716b1bb">FirstChildElement</a>( <span class="keyword">const</span> std::string& _value ) { <a name="l00775"></a>00775 <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a93ce116d33aa8a9b9824f667b716b1bb">FirstChildElement</a> (_value.c_str ()); <a name="l00776"></a>00776 } <a name="l00777"></a>00777 <span class="preprocessor">#endif</span> <a name="l00778"></a>00778 <span class="preprocessor"></span> <a name="l00784"></a><a class="code" href="classTiXmlNode.html#a14a55b75c648de4d36edd615c84eabfc">00784</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlNode.html#a14a55b75c648de4d36edd615c84eabfc">Type</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> type; } <a name="l00785"></a>00785 <a name="l00790"></a>00790 <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>* <a class="code" href="classTiXmlNode.html#ae8cc38439d78f46d59c8cfe3e3fad9b4">GetDocument</a>() <span class="keyword">const</span>; <a name="l00791"></a>00791 <a name="l00793"></a><a class="code" href="classTiXmlNode.html#a08b1c0e515fb34241d33af953399a21c">00793</a> <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>* <a class="code" href="classTiXmlNode.html#a08b1c0e515fb34241d33af953399a21c">GetDocument</a>() { <a name="l00794"></a>00794 <span class="keywordflow">return</span> <span class="keyword">const_cast<</span> <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>* <span class="keyword">></span>( (<span class="keyword">const_cast<</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <span class="keyword">></span>(<span class="keyword">this</span>))->GetDocument() ); <a name="l00795"></a>00795 } <a name="l00796"></a>00796 <a name="l00798"></a><a class="code" href="classTiXmlNode.html#a0b5f0d92629f576c8e5f5f48b2edee19">00798</a> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlNode.html#a0b5f0d92629f576c8e5f5f48b2edee19">NoChildren</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !firstChild; } <a name="l00800"></a><a class="code" href="classTiXmlNode.html#a0ac5163cd2f090c512d09453d445988a">00800</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>* <a class="code" href="classTiXmlNode.html#a0ac5163cd2f090c512d09453d445988a">ToDocument</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; } <a name="l00802"></a><a class="code" href="classTiXmlNode.html#a7a2cc466ad0e9996d71ee5da2db2511f">00802</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a7a2cc466ad0e9996d71ee5da2db2511f">ToElement</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; } <a name="l00804"></a><a class="code" href="classTiXmlNode.html#a1535d8f760996ff1a651cae2fcb62be3">00804</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html" title="A XML Comment.">TiXmlComment</a>* <a class="code" href="classTiXmlNode.html#a1535d8f760996ff1a651cae2fcb62be3">ToComment</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; } <a name="l00806"></a><a class="code" href="classTiXmlNode.html#a461ef07268953b2b3fad50f64aa20321">00806</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html" title="Unknown XML element.">TiXmlUnknown</a>* <a class="code" href="classTiXmlNode.html#a461ef07268953b2b3fad50f64aa20321">ToUnknown</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; } <a name="l00808"></a><a class="code" href="classTiXmlNode.html#adfcbab915eb7dac33a6b914b507fd79b">00808</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>* <a class="code" href="classTiXmlNode.html#adfcbab915eb7dac33a6b914b507fd79b">ToText</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; } <a name="l00810"></a><a class="code" href="classTiXmlNode.html#aee135ea9d6486ec118898e3ac8a293cf">00810</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html" title="XML declaration.">TiXmlDeclaration</a>* <a class="code" href="classTiXmlNode.html#aee135ea9d6486ec118898e3ac8a293cf">ToDeclaration</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; } <a name="l00811"></a>00811 <a name="l00813"></a><a class="code" href="classTiXmlNode.html#a46a5535cabc469a65f47acc317fea778">00813</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>* <a class="code" href="classTiXmlNode.html#a46a5535cabc469a65f47acc317fea778">ToDocument</a>() { <span class="keywordflow">return</span> 0; } <a name="l00815"></a><a class="code" href="classTiXmlNode.html#a6225c641ac28d55726b392a3a33774e8">00815</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a6225c641ac28d55726b392a3a33774e8">ToElement</a>() { <span class="keywordflow">return</span> 0; } <a name="l00817"></a><a class="code" href="classTiXmlNode.html#a8dfc05132e237c72560d51ee2c725a5c">00817</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlComment.html" title="A XML Comment.">TiXmlComment</a>* <a class="code" href="classTiXmlNode.html#a8dfc05132e237c72560d51ee2c725a5c">ToComment</a>() { <span class="keywordflow">return</span> 0; } <a name="l00819"></a><a class="code" href="classTiXmlNode.html#a27d3f8d54b19f00da670016ae6c5774a">00819</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlUnknown.html" title="Unknown XML element.">TiXmlUnknown</a>* <a class="code" href="classTiXmlNode.html#a27d3f8d54b19f00da670016ae6c5774a">ToUnknown</a>() { <span class="keywordflow">return</span> 0; } <a name="l00821"></a><a class="code" href="classTiXmlNode.html#a0229d3dce587577a7a295d07524ccf6b">00821</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>* <a class="code" href="classTiXmlNode.html#a0229d3dce587577a7a295d07524ccf6b">ToText</a>() { <span class="keywordflow">return</span> 0; } <a name="l00823"></a><a class="code" href="classTiXmlNode.html#ab07aa982d62f5beba098e5a285c75e67">00823</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlDeclaration.html" title="XML declaration.">TiXmlDeclaration</a>* <a class="code" href="classTiXmlNode.html#ab07aa982d62f5beba098e5a285c75e67">ToDeclaration</a>() { <span class="keywordflow">return</span> 0; } <a name="l00824"></a>00824 <a name="l00829"></a>00829 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlElement.html#a842a98f3a31af4a808cee9d8842e5072">Clone</a>() <span class="keyword">const</span> = 0; <a name="l00830"></a>00830 <a name="l00854"></a>00854 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlElement.html#ae145535b4ff6c0118a3ff443eda1f672">Accept</a>( <a class="code" href="classTiXmlVisitor.html" title="SAX emulation.">TiXmlVisitor</a>* visitor ) <span class="keyword">const</span> = 0; <a name="l00855"></a>00855 <a name="l00856"></a>00856 <span class="keyword">protected</span>: <a name="l00858"></a>00858 <a class="code" href="classTiXmlNode.html#af0458eef6cac307caab4d78e80e1d0cc">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html#acac9cbaeea226ed297804c012dc12b16">NodeType</a> _type ); <a name="l00859"></a>00859 <a name="l00864"></a>00864 <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#a91e117d33ac96bb4fbc834c2c688125f">CopyTo</a>( <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* target ) <span class="keyword">const</span>; <a name="l00865"></a>00865 <a name="l00866"></a>00866 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l00867"></a>00867 <span class="preprocessor"></span> <a name="l00868"></a>00868 <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; <a name="l00869"></a>00869 <span class="preprocessor">#endif</span> <a name="l00870"></a>00870 <span class="preprocessor"></span> <a name="l00872"></a>00872 <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#acc7f69a9fecaa74ecb48f65db3bed883">Identify</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* start, TiXmlEncoding encoding ); <a name="l00873"></a>00873 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l00874"></a>00874 <span class="preprocessor"></span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* parent; <a name="l00875"></a>00875 <a class="code" href="classTiXmlNode.html#acac9cbaeea226ed297804c012dc12b16">NodeType</a> type; <a name="l00876"></a>00876 <a name="l00877"></a>00877 <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* firstChild; <a name="l00878"></a>00878 <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* lastChild; <a name="l00879"></a>00879 <a name="l00880"></a>00880 TIXML_STRING value; <a name="l00881"></a>00881 <a name="l00882"></a>00882 <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* prev; <a name="l00883"></a>00883 <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* next; <a name="l00884"></a>00884 <span class="preprocessor">#endif</span> <a name="l00885"></a>00885 <span class="preprocessor"></span> <a name="l00886"></a>00886 <span class="keyword">private</span>: <a name="l00887"></a>00887 <a class="code" href="classTiXmlNode.html#af0458eef6cac307caab4d78e80e1d0cc">TiXmlNode</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>& ); <span class="comment">// not implemented.</span> <a name="l00888"></a>00888 <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a81bb2b47b59d81fba2f436c5ec25e0ed">operator=</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>& base ); <span class="comment">// not allowed.</span> <a name="l00889"></a>00889 }; <a name="l00890"></a>00890 <a name="l00891"></a>00891 <a name="l00903"></a><a class="code" href="classTiXmlAttribute.html">00903</a> <span class="keyword">class </span>EDELIB_API <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlBase.html" title="Xml base class.">TiXmlBase</a> <a name="l00904"></a>00904 { <a name="l00905"></a>00905 <span class="keyword">friend</span> <span class="keyword">class </span>TiXmlAttributeSet; <a name="l00906"></a>00906 <a name="l00907"></a>00907 <span class="keyword">public</span>: <a name="l00909"></a><a class="code" href="classTiXmlAttribute.html#ab154afd3a4642739b3411c80af3a0394">00909</a> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>() : <a class="code" href="classTiXmlBase.html" title="Xml base class.">TiXmlBase</a>() <a name="l00910"></a>00910 { <a name="l00911"></a>00911 document = 0; <a name="l00912"></a>00912 prev = next = 0; <a name="l00913"></a>00913 } <a name="l00914"></a>00914 <a name="l00915"></a>00915 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l00916"></a>00916 <span class="preprocessor"></span> <a name="l00917"></a>00917 <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>( <span class="keyword">const</span> std::string& _name, <span class="keyword">const</span> std::string& _value ) <a name="l00918"></a>00918 { <a name="l00919"></a>00919 name = _name; <a name="l00920"></a>00920 value = _value; <a name="l00921"></a>00921 document = 0; <a name="l00922"></a>00922 prev = next = 0; <a name="l00923"></a>00923 } <a name="l00924"></a>00924 <span class="preprocessor">#endif</span> <a name="l00925"></a>00925 <span class="preprocessor"></span> <a name="l00927"></a><a class="code" href="classTiXmlAttribute.html#ad8cd69ced5416999a1e6c6487cb4309e">00927</a> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _name, <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) <a name="l00928"></a>00928 { <a name="l00929"></a>00929 name = _name; <a name="l00930"></a>00930 value = _value; <a name="l00931"></a>00931 document = 0; <a name="l00932"></a>00932 prev = next = 0; <a name="l00933"></a>00933 } <a name="l00934"></a>00934 <a name="l00936"></a><a class="code" href="classTiXmlAttribute.html#a6f8ea4f3037e8339cbd3e55d97ed08a9">00936</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlAttribute.html#a6f8ea4f3037e8339cbd3e55d97ed08a9">Name</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name.c_str(); } <a name="l00938"></a><a class="code" href="classTiXmlAttribute.html#a67ec54cde5ef8dac7901ad63544c6d44">00938</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlAttribute.html#a67ec54cde5ef8dac7901ad63544c6d44">Value</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value.c_str(); } <a name="l00939"></a>00939 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l00940"></a>00940 <span class="preprocessor"></span> <a name="l00941"></a>00941 <span class="keyword">const</span> std::string& ValueStr()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value; } <a name="l00942"></a>00942 <span class="preprocessor">#endif </span> <a name="l00943"></a>00943 <span class="preprocessor"></span> <a name="l00944"></a>00944 <span class="keywordtype">int</span> IntValue() <span class="keyword">const</span>; <a name="l00946"></a>00946 <span class="keywordtype">double</span> DoubleValue() <span class="keyword">const</span>; <a name="l00947"></a>00947 <a name="l00949"></a><a class="code" href="classTiXmlAttribute.html#aece6d747da336c611c9334f79d5fc319">00949</a> <span class="keyword">const</span> TIXML_STRING& <a class="code" href="classTiXmlAttribute.html#aece6d747da336c611c9334f79d5fc319">NameTStr</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name; } <a name="l00950"></a>00950 <a name="l00961"></a>00961 <span class="keywordtype">int</span> QueryIntValue( <span class="keywordtype">int</span>* _value ) <span class="keyword">const</span>; <a name="l00963"></a>00963 <span class="keywordtype">int</span> QueryDoubleValue( <span class="keywordtype">double</span>* _value ) <span class="keyword">const</span>; <a name="l00964"></a>00964 <a name="l00966"></a><a class="code" href="classTiXmlAttribute.html#a8f004727063df873bb46ced79e54f888">00966</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#a8f004727063df873bb46ced79e54f888">SetName</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _name ) { name = _name; } <a name="l00968"></a><a class="code" href="classTiXmlAttribute.html#aea82a06505184ef86f477ad405fbbef9">00968</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#aea82a06505184ef86f477ad405fbbef9">SetValue</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _value ) { value = _value; } <a name="l00969"></a>00969 <a name="l00971"></a>00971 <span class="keywordtype">void</span> SetIntValue( <span class="keywordtype">int</span> _value ); <a name="l00973"></a>00973 <span class="keywordtype">void</span> SetDoubleValue( <span class="keywordtype">double</span> _value ); <a name="l00974"></a>00974 <a name="l00975"></a>00975 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l00976"></a>00976 <span class="preprocessor"></span> <a name="l00977"></a>00977 <span class="keywordtype">void</span> SetName( <span class="keyword">const</span> std::string& _name ) { name = _name; } <a name="l00979"></a>00979 <span class="keywordtype">void</span> SetValue( <span class="keyword">const</span> std::string& _value ) { value = _value; } <a name="l00980"></a>00980 <span class="preprocessor">#endif</span> <a name="l00981"></a>00981 <span class="preprocessor"></span> <a name="l00983"></a>00983 <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* Next() <span class="keyword">const</span>; <a name="l00985"></a><a class="code" href="classTiXmlAttribute.html#ad5f855e76d7b771ad92e3d37e1f2f9fe">00985</a> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* <a class="code" href="classTiXmlAttribute.html#ad5f855e76d7b771ad92e3d37e1f2f9fe">Next</a>() { <a name="l00986"></a>00986 <span class="keywordflow">return</span> <span class="keyword">const_cast<</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* <span class="keyword">></span>( (<span class="keyword">const_cast<</span> <span class="keyword">const </span><a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* <span class="keyword">></span>(<span class="keyword">this</span>))->Next() ); <a name="l00987"></a>00987 } <a name="l00988"></a>00988 <a name="l00990"></a>00990 <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* Previous() <span class="keyword">const</span>; <a name="l00992"></a><a class="code" href="classTiXmlAttribute.html#a86812214d424db622419f2fc4776c9c5">00992</a> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* <a class="code" href="classTiXmlAttribute.html#a86812214d424db622419f2fc4776c9c5">Previous</a>() { <a name="l00993"></a>00993 <span class="keywordflow">return</span> <span class="keyword">const_cast<</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* <span class="keyword">></span>( (<span class="keyword">const_cast<</span> <span class="keyword">const </span><a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* <span class="keyword">></span>(<span class="keyword">this</span>))->Previous() ); <a name="l00994"></a>00994 } <a name="l00995"></a>00995 <a name="l00997"></a><a class="code" href="classTiXmlAttribute.html#a7f5dfcd0e37d2bc15d5801f28dc10ca9">00997</a> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlAttribute.html#a7f5dfcd0e37d2bc15d5801f28dc10ca9">operator==</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>& rhs )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rhs.name == name; } <a name="l00999"></a><a class="code" href="classTiXmlAttribute.html#a1d600fbec27faed995726a3b22a4dacc">00999</a> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlAttribute.html#a1d600fbec27faed995726a3b22a4dacc">operator<</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>& rhs )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name < rhs.name; } <a name="l01001"></a><a class="code" href="classTiXmlAttribute.html#a5627960bf6f5f7da2e6a3d068e3b726e">01001</a> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlAttribute.html#a5627960bf6f5f7da2e6a3d068e3b726e">operator></a>( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>& rhs )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name > rhs.name; } <a name="l01002"></a>01002 <a name="l01007"></a>01007 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* Parse( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, TiXmlParsingData* data, TiXmlEncoding encoding ); <a name="l01008"></a>01008 <a name="l01010"></a><a class="code" href="classTiXmlAttribute.html#aa0c7ee41a4ae95253c321399cd995b9f">01010</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#aa0c7ee41a4ae95253c321399cd995b9f">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth )<span class="keyword"> const </span>{ <a name="l01011"></a>01011 <a class="code" href="classTiXmlBase.html#a953033a3c8ccb7404e67b0be72562391">Print</a>( cfile, depth, 0 ); <a name="l01012"></a>01012 } <a name="l01014"></a>01014 <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#a953033a3c8ccb7404e67b0be72562391">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth, TIXML_STRING* str ) <span class="keyword">const</span>; <a name="l01015"></a>01015 <a name="l01016"></a>01016 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l01017"></a>01017 <span class="preprocessor"></span> <span class="comment">// [internal use]</span> <a name="l01018"></a>01018 <span class="comment">// Set the document pointer so the attribute can report errors.</span> <a name="l01019"></a>01019 <span class="keywordtype">void</span> SetDocument( <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>* doc ) { document = doc; } <a name="l01020"></a>01020 <span class="preprocessor">#endif</span> <a name="l01021"></a>01021 <span class="preprocessor"></span> <a name="l01022"></a>01022 <span class="keyword">private</span>: <a name="l01023"></a>01023 <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>& ); <span class="comment">// not implemented.</span> <a name="l01024"></a>01024 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>& base ); <span class="comment">// not allowed.</span> <a name="l01025"></a>01025 <a name="l01026"></a>01026 <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>* document; <span class="comment">// A pointer back to a document, for error reporting.</span> <a name="l01027"></a>01027 TIXML_STRING name; <a name="l01028"></a>01028 TIXML_STRING value; <a name="l01029"></a>01029 <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* prev; <a name="l01030"></a>01030 <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* next; <a name="l01031"></a>01031 }; <a name="l01032"></a>01032 <a name="l01033"></a>01033 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l01034"></a>01034 <span class="preprocessor"></span> <a name="l01047"></a>01047 <span class="keyword">class </span>TiXmlAttributeSet <a name="l01048"></a>01048 { <a name="l01049"></a>01049 <span class="keyword">public</span>: <a name="l01050"></a>01050 TiXmlAttributeSet(); <a name="l01051"></a>01051 ~TiXmlAttributeSet(); <a name="l01052"></a>01052 <a name="l01053"></a>01053 <span class="keywordtype">void</span> Add( <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* attribute ); <a name="l01054"></a>01054 <span class="keywordtype">void</span> Remove( <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* attribute ); <a name="l01055"></a>01055 <a name="l01056"></a>01056 <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* First()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ( sentinel.next == &sentinel ) ? 0 : sentinel.next; } <a name="l01057"></a>01057 <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* First() { <span class="keywordflow">return</span> ( sentinel.next == &sentinel ) ? 0 : sentinel.next; } <a name="l01058"></a>01058 <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* Last()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; } <a name="l01059"></a>01059 <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* Last() { <span class="keywordflow">return</span> ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; } <a name="l01060"></a>01060 <a name="l01061"></a>01061 <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* Find( <span class="keyword">const</span> <span class="keywordtype">char</span>* _name ) <span class="keyword">const</span>; <a name="l01062"></a>01062 <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* Find( <span class="keyword">const</span> <span class="keywordtype">char</span>* _name ) { <a name="l01063"></a>01063 <span class="keywordflow">return</span> <span class="keyword">const_cast<</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* <span class="keyword">></span>( (<span class="keyword">const_cast<</span> <span class="keyword">const </span>TiXmlAttributeSet* <span class="keyword">></span>(<span class="keyword">this</span>))->Find( _name ) ); <a name="l01064"></a>01064 } <a name="l01065"></a>01065 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l01066"></a>01066 <span class="preprocessor"></span> <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* Find( <span class="keyword">const</span> std::string& _name ) <span class="keyword">const</span>; <a name="l01067"></a>01067 <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* Find( <span class="keyword">const</span> std::string& _name ) { <a name="l01068"></a>01068 <span class="keywordflow">return</span> <span class="keyword">const_cast<</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* <span class="keyword">></span>( (<span class="keyword">const_cast<</span> <span class="keyword">const </span>TiXmlAttributeSet* <span class="keyword">></span>(<span class="keyword">this</span>))->Find( _name ) ); <a name="l01069"></a>01069 } <a name="l01070"></a>01070 <span class="preprocessor">#endif</span> <a name="l01071"></a>01071 <span class="preprocessor"></span> <a name="l01072"></a>01072 <span class="keyword">private</span>: <a name="l01073"></a>01073 <span class="comment">//*ME: Because of hidden/disabled copy-construktor in TiXmlAttribute (sentinel-element),</span> <a name="l01074"></a>01074 <span class="comment">//*ME: this class must be also use a hidden/disabled copy-constructor !!!</span> <a name="l01075"></a>01075 TiXmlAttributeSet( <span class="keyword">const</span> TiXmlAttributeSet& ); <span class="comment">// not allowed</span> <a name="l01076"></a>01076 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> TiXmlAttributeSet& ); <span class="comment">// not allowed (as TiXmlAttribute)</span> <a name="l01077"></a>01077 <a name="l01078"></a>01078 <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a> sentinel; <a name="l01079"></a>01079 }; <a name="l01080"></a>01080 <a name="l01081"></a>01081 <span class="preprocessor">#endif // SKIP_DOCS</span> <a name="l01082"></a>01082 <span class="preprocessor"></span> <a name="l01083"></a>01083 <a name="l01092"></a><a class="code" href="classTiXmlElement.html">01092</a> <span class="keyword">class </span>EDELIB_API <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a> <a name="l01093"></a>01093 { <a name="l01094"></a>01094 <span class="keyword">public</span>: <a name="l01096"></a>01096 <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * in_value); <a name="l01097"></a>01097 <a name="l01098"></a>01098 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l01099"></a>01099 <span class="preprocessor"></span> <a name="l01100"></a>01100 <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>( <span class="keyword">const</span> std::string& _value ); <a name="l01101"></a>01101 <span class="preprocessor">#endif</span> <a name="l01102"></a>01102 <span class="preprocessor"></span> <a name="l01104"></a>01104 <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>& ); <a name="l01105"></a>01105 <a name="l01107"></a>01107 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>& base ); <a name="l01108"></a>01108 <a name="l01110"></a>01110 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>(); <a name="l01111"></a>01111 <a name="l01116"></a>01116 <span class="keyword">const</span> <span class="keywordtype">char</span>* Attribute( <span class="keyword">const</span> <span class="keywordtype">char</span>* name ) <span class="keyword">const</span>; <a name="l01117"></a>01117 <a name="l01125"></a>01125 <span class="keyword">const</span> <span class="keywordtype">char</span>* Attribute( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">int</span>* i ) <span class="keyword">const</span>; <a name="l01126"></a>01126 <a name="l01134"></a>01134 <span class="keyword">const</span> <span class="keywordtype">char</span>* Attribute( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">double</span>* d ) <span class="keyword">const</span>; <a name="l01135"></a>01135 <a name="l01144"></a>01144 <span class="keywordtype">int</span> QueryIntAttribute( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">int</span>* _value ) <span class="keyword">const</span>; <a name="l01146"></a>01146 <span class="keywordtype">int</span> QueryDoubleAttribute( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">double</span>* _value ) <span class="keyword">const</span>; <a name="l01148"></a><a class="code" href="classTiXmlElement.html#a0525da5f0899e687d9a4d0a5442c2d14">01148</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#a0525da5f0899e687d9a4d0a5442c2d14">QueryFloatAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">float</span>* _value )<span class="keyword"> const </span>{ <a name="l01149"></a>01149 <span class="keywordtype">double</span> d; <a name="l01150"></a>01150 <span class="keywordtype">int</span> result = QueryDoubleAttribute( name, &d ); <a name="l01151"></a>01151 <span class="keywordflow">if</span> ( result == TIXML_SUCCESS ) { <a name="l01152"></a>01152 *_value = (float)d; <a name="l01153"></a>01153 } <a name="l01154"></a>01154 <span class="keywordflow">return</span> result; <a name="l01155"></a>01155 } <a name="l01156"></a>01156 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l01157"></a>01157 <span class="preprocessor"></span> <a name="l01164"></a>01164 <span class="keyword">template</span>< <span class="keyword">typename</span> T > <span class="keywordtype">int</span> QueryValueAttribute( <span class="keyword">const</span> std::string& name, T* outValue )<span class="keyword"> const </span> <a name="l01165"></a>01165 <span class="keyword"> </span>{ <a name="l01166"></a>01166 <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* node = attributeSet.Find( name ); <a name="l01167"></a>01167 <span class="keywordflow">if</span> ( !node ) <a name="l01168"></a>01168 <span class="keywordflow">return</span> TIXML_NO_ATTRIBUTE; <a name="l01169"></a>01169 <a name="l01170"></a>01170 std::stringstream sstream( node->ValueStr() ); <a name="l01171"></a>01171 sstream >> *outValue; <a name="l01172"></a>01172 <span class="keywordflow">if</span> ( !sstream.fail() ) <a name="l01173"></a>01173 <span class="keywordflow">return</span> TIXML_SUCCESS; <a name="l01174"></a>01174 <span class="keywordflow">return</span> TIXML_WRONG_TYPE; <a name="l01175"></a>01175 } <a name="l01176"></a>01176 <span class="preprocessor">#endif</span> <a name="l01177"></a>01177 <span class="preprocessor"></span> <a name="l01182"></a>01182 <span class="keywordtype">void</span> SetAttribute( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ); <a name="l01183"></a>01183 <a name="l01184"></a>01184 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l01185"></a>01185 <span class="preprocessor"></span> <a name="l01186"></a>01186 <span class="keyword">const</span> std::string* Attribute( <span class="keyword">const</span> std::string& name ) <span class="keyword">const</span>; <a name="l01188"></a>01188 <span class="keyword">const</span> std::string* Attribute( <span class="keyword">const</span> std::string& name, <span class="keywordtype">int</span>* i ) <span class="keyword">const</span>; <a name="l01190"></a>01190 <span class="keyword">const</span> std::string* Attribute( <span class="keyword">const</span> std::string& name, <span class="keywordtype">double</span>* d ) <span class="keyword">const</span>; <a name="l01192"></a>01192 <span class="keywordtype">int</span> QueryIntAttribute( <span class="keyword">const</span> std::string& name, <span class="keywordtype">int</span>* _value ) <span class="keyword">const</span>; <a name="l01194"></a>01194 <span class="keywordtype">int</span> QueryDoubleAttribute( <span class="keyword">const</span> std::string& name, <span class="keywordtype">double</span>* _value ) <span class="keyword">const</span>; <a name="l01195"></a>01195 <a name="l01197"></a>01197 <span class="keywordtype">void</span> SetAttribute( <span class="keyword">const</span> std::string& name, <span class="keyword">const</span> std::string& _value ); <a name="l01199"></a>01199 <span class="keywordtype">void</span> SetAttribute( <span class="keyword">const</span> std::string& name, <span class="keywordtype">int</span> _value ); <a name="l01200"></a>01200 <span class="preprocessor">#endif</span> <a name="l01201"></a>01201 <span class="preprocessor"></span> <a name="l01206"></a>01206 <span class="keywordtype">void</span> SetAttribute( <span class="keyword">const</span> <span class="keywordtype">char</span> * name, <span class="keywordtype">int</span> value ); <a name="l01207"></a>01207 <a name="l01212"></a>01212 <span class="keywordtype">void</span> SetDoubleAttribute( <span class="keyword">const</span> <span class="keywordtype">char</span> * name, <span class="keywordtype">double</span> value ); <a name="l01213"></a>01213 <a name="l01215"></a>01215 <span class="keywordtype">void</span> RemoveAttribute( <span class="keyword">const</span> <span class="keywordtype">char</span> * name ); <a name="l01216"></a>01216 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l01217"></a>01217 <span class="preprocessor"></span> <a name="l01218"></a>01218 <span class="keywordtype">void</span> RemoveAttribute( <span class="keyword">const</span> std::string& name ) { RemoveAttribute (name.c_str ()); } <a name="l01219"></a>01219 <span class="preprocessor">#endif</span> <a name="l01220"></a>01220 <span class="preprocessor"></span> <a name="l01222"></a><a class="code" href="classTiXmlElement.html#a7b357194869f6d65539da85dc6544d24">01222</a> <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#a7b357194869f6d65539da85dc6544d24">FirstAttribute</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> attributeSet.First(); } <a name="l01224"></a><a class="code" href="classTiXmlElement.html#a3b630879ac25fe5bfc4f4f779c200406">01224</a> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#a3b630879ac25fe5bfc4f4f779c200406">FirstAttribute</a>() { <span class="keywordflow">return</span> attributeSet.First(); } <a name="l01225"></a>01225 <a name="l01227"></a><a class="code" href="classTiXmlElement.html#a2bacb6685a44d7a89cdece343b447dac">01227</a> <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#a2bacb6685a44d7a89cdece343b447dac">LastAttribute</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> attributeSet.Last(); } <a name="l01229"></a><a class="code" href="classTiXmlElement.html#a65888f62847066c810b809ffea9ac62d">01229</a> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#a65888f62847066c810b809ffea9ac62d">LastAttribute</a>() { <span class="keywordflow">return</span> attributeSet.Last(); } <a name="l01230"></a>01230 <a name="l01264"></a>01264 <span class="keyword">const</span> <span class="keywordtype">char</span>* GetText() <span class="keyword">const</span>; <a name="l01265"></a>01265 <a name="l01267"></a>01267 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a5455583176e9a0389caa2f94ffb809fc">Clone</a>() <span class="keyword">const</span>; <a name="l01269"></a>01269 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#a953033a3c8ccb7404e67b0be72562391">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>; <a name="l01270"></a>01270 <a name="l01275"></a>01275 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* Parse( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, TiXmlParsingData* data, TiXmlEncoding encoding ); <a name="l01276"></a>01276 <a name="l01278"></a><a class="code" href="classTiXmlElement.html#a7a2cc466ad0e9996d71ee5da2db2511f">01278</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlElement.html#a7a2cc466ad0e9996d71ee5da2db2511f">ToElement</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; } <a name="l01280"></a><a class="code" href="classTiXmlElement.html#a6225c641ac28d55726b392a3a33774e8">01280</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlElement.html#a6225c641ac28d55726b392a3a33774e8">ToElement</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; } <a name="l01281"></a>01281 <a name="l01283"></a>01283 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlNode.html#a3da2314556d60c86be93bcef3bcf8893">Accept</a>( <a class="code" href="classTiXmlVisitor.html" title="SAX emulation.">TiXmlVisitor</a>* visitor ) <span class="keyword">const</span>; <a name="l01284"></a>01284 <a name="l01285"></a>01285 <span class="keyword">protected</span>: <a name="l01286"></a>01286 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l01287"></a>01287 <span class="preprocessor"></span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#a91e117d33ac96bb4fbc834c2c688125f">CopyTo</a>( <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* target ) <span class="keyword">const</span>; <a name="l01288"></a>01288 <span class="keywordtype">void</span> ClearThis(); <span class="comment">// like clear, but initializes 'this' object as well</span> <a name="l01289"></a>01289 <a name="l01290"></a>01290 <span class="comment">// Used to be public [internal use]</span> <a name="l01291"></a>01291 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l01292"></a>01292 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag ); <a name="l01293"></a>01293 <span class="preprocessor">#endif</span> <a name="l01294"></a>01294 <span class="preprocessor"></span> <a name="l01299"></a>01299 <span class="keyword">const</span> <span class="keywordtype">char</span>* ReadValue( <span class="keyword">const</span> <span class="keywordtype">char</span>* in, TiXmlParsingData* prevData, TiXmlEncoding encoding ); <a name="l01300"></a>01300 <span class="preprocessor">#endif</span> <a name="l01301"></a>01301 <span class="preprocessor"></span> <a name="l01302"></a>01302 <span class="keyword">private</span>: <a name="l01303"></a>01303 <a name="l01304"></a>01304 TiXmlAttributeSet attributeSet; <a name="l01305"></a>01305 }; <a name="l01306"></a>01306 <a name="l01307"></a>01307 <a name="l01312"></a><a class="code" href="classTiXmlComment.html">01312</a> <span class="keyword">class </span>EDELIB_API <a class="code" href="classTiXmlComment.html" title="A XML Comment.">TiXmlComment</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a> <a name="l01313"></a>01313 { <a name="l01314"></a>01314 <span class="keyword">public</span>: <a name="l01316"></a><a class="code" href="classTiXmlComment.html#ae41c277a90573c1dfa0f6dc84bd268a8">01316</a> <a class="code" href="classTiXmlComment.html#ae41c277a90573c1dfa0f6dc84bd268a8">TiXmlComment</a>() : <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>::COMMENT ) {} <a name="l01318"></a><a class="code" href="classTiXmlComment.html#a88aab2397b774cdf5857f7d05373e7bd">01318</a> <a class="code" href="classTiXmlComment.html#a88aab2397b774cdf5857f7d05373e7bd">TiXmlComment</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _value ) : <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>::COMMENT ) { <a name="l01319"></a>01319 <a class="code" href="classTiXmlNode.html#aea82a06505184ef86f477ad405fbbef9">SetValue</a>( _value ); <a name="l01320"></a>01320 } <a name="l01322"></a>01322 <a class="code" href="classTiXmlComment.html" title="A XML Comment.">TiXmlComment</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html" title="A XML Comment.">TiXmlComment</a>& ); <a name="l01324"></a>01324 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html" title="A XML Comment.">TiXmlComment</a>& base ); <a name="l01325"></a>01325 <a name="l01327"></a><a class="code" href="classTiXmlComment.html#a34a38fb9155072778824915ff34d779b">01327</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlComment.html#a34a38fb9155072778824915ff34d779b">~TiXmlComment</a>() {} <a name="l01328"></a>01328 <a name="l01330"></a>01330 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a5455583176e9a0389caa2f94ffb809fc">Clone</a>() <span class="keyword">const</span>; <a name="l01332"></a>01332 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#a953033a3c8ccb7404e67b0be72562391">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>; <a name="l01333"></a>01333 <a name="l01338"></a>01338 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* Parse( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, TiXmlParsingData* data, TiXmlEncoding encoding ); <a name="l01339"></a>01339 <a name="l01341"></a><a class="code" href="classTiXmlComment.html#a1535d8f760996ff1a651cae2fcb62be3">01341</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html" title="A XML Comment.">TiXmlComment</a>* <a class="code" href="classTiXmlComment.html#a1535d8f760996ff1a651cae2fcb62be3">ToComment</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; } <a name="l01343"></a><a class="code" href="classTiXmlComment.html#a8dfc05132e237c72560d51ee2c725a5c">01343</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlComment.html" title="A XML Comment.">TiXmlComment</a>* <a class="code" href="classTiXmlComment.html#a8dfc05132e237c72560d51ee2c725a5c">ToComment</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; } <a name="l01344"></a>01344 <a name="l01346"></a>01346 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlNode.html#a3da2314556d60c86be93bcef3bcf8893">Accept</a>( <a class="code" href="classTiXmlVisitor.html" title="SAX emulation.">TiXmlVisitor</a>* visitor ) <span class="keyword">const</span>; <a name="l01347"></a>01347 <a name="l01348"></a>01348 <span class="keyword">protected</span>: <a name="l01349"></a>01349 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l01350"></a>01350 <span class="preprocessor"></span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#a91e117d33ac96bb4fbc834c2c688125f">CopyTo</a>( <a class="code" href="classTiXmlComment.html" title="A XML Comment.">TiXmlComment</a>* target ) <span class="keyword">const</span>; <a name="l01351"></a>01351 <a name="l01352"></a>01352 <span class="comment">// used to be public</span> <a name="l01353"></a>01353 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l01354"></a>01354 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag ); <a name="l01355"></a>01355 <span class="preprocessor">#endif</span> <a name="l01356"></a>01356 <span class="preprocessor"></span><span class="comment">// virtual void StreamOut( TIXML_OSTREAM * out ) const;</span> <a name="l01357"></a>01357 <span class="preprocessor">#endif</span> <a name="l01358"></a>01358 <span class="preprocessor"></span> <a name="l01359"></a>01359 }; <a name="l01360"></a>01360 <a name="l01361"></a>01361 <a name="l01371"></a><a class="code" href="classTiXmlText.html">01371</a> <span class="keyword">class </span>EDELIB_API <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a> <a name="l01372"></a>01372 { <a name="l01373"></a>01373 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>; <a name="l01374"></a>01374 <span class="keyword">public</span>: <a name="l01380"></a><a class="code" href="classTiXmlText.html#a1ce4da1d724e3580ad24bac910c7bdcf">01380</a> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * initValue ) : <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a> (<a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>::TEXT) <a name="l01381"></a>01381 { <a name="l01382"></a>01382 <a class="code" href="classTiXmlNode.html#aea82a06505184ef86f477ad405fbbef9">SetValue</a>( initValue ); <a name="l01383"></a>01383 cdata = <span class="keyword">false</span>; <a name="l01384"></a>01384 } <a name="l01385"></a>01385 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>() {} <a name="l01386"></a>01386 <a name="l01387"></a>01387 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l01388"></a>01388 <span class="preprocessor"></span> <a name="l01389"></a>01389 <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>( <span class="keyword">const</span> std::string& initValue ) : <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a> (<a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>::TEXT) <a name="l01390"></a>01390 { <a name="l01391"></a>01391 <a class="code" href="classTiXmlNode.html#aea82a06505184ef86f477ad405fbbef9">SetValue</a>( initValue ); <a name="l01392"></a>01392 cdata = <span class="keyword">false</span>; <a name="l01393"></a>01393 } <a name="l01394"></a>01394 <span class="preprocessor">#endif</span> <a name="l01395"></a>01395 <span class="preprocessor"></span> <a name="l01396"></a><a class="code" href="classTiXmlText.html#af2484755cf178688ecac5ad87d6288e5">01396</a> <a class="code" href="classTiXmlText.html#af2484755cf178688ecac5ad87d6288e5">TiXmlText</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>& copy ) : <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>::TEXT ) { copy.<a class="code" href="classTiXmlNode.html#a91e117d33ac96bb4fbc834c2c688125f">CopyTo</a>( <span class="keyword">this</span> ); } <a name="l01398"></a><a class="code" href="classTiXmlText.html#acb117519bb75d94c4ea3b8f4862b6546">01398</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlText.html#acb117519bb75d94c4ea3b8f4862b6546">operator=</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>& base ) { base.<a class="code" href="classTiXmlNode.html#a91e117d33ac96bb4fbc834c2c688125f">CopyTo</a>( <span class="keyword">this</span> ); } <a name="l01399"></a>01399 <a name="l01401"></a>01401 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#a953033a3c8ccb7404e67b0be72562391">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>; <a name="l01402"></a>01402 <a name="l01404"></a><a class="code" href="classTiXmlText.html#a2c6a8295d902883b204faa9dab0f8c41">01404</a> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlText.html#a2c6a8295d902883b204faa9dab0f8c41">CDATA</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> cdata; } <a name="l01406"></a><a class="code" href="classTiXmlText.html#a07fb5fe2ac8f2b633fbcd3c68ffb9a73">01406</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlText.html#a07fb5fe2ac8f2b633fbcd3c68ffb9a73">SetCDATA</a>( <span class="keywordtype">bool</span> _cdata ) { cdata = _cdata; } <a name="l01407"></a>01407 <a name="l01408"></a>01408 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l01409"></a>01409 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#a6c006d93730ee147d7bbc35c29033ad6">Parse</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, TiXmlParsingData* data, TiXmlEncoding encoding ); <a name="l01410"></a>01410 <span class="preprocessor">#endif</span> <a name="l01411"></a>01411 <span class="preprocessor"></span> <a name="l01412"></a><a class="code" href="classTiXmlText.html#adfcbab915eb7dac33a6b914b507fd79b">01412</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>* <a class="code" href="classTiXmlText.html#adfcbab915eb7dac33a6b914b507fd79b">ToText</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; } <a name="l01414"></a><a class="code" href="classTiXmlText.html#a0229d3dce587577a7a295d07524ccf6b">01414</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>* <a class="code" href="classTiXmlText.html#a0229d3dce587577a7a295d07524ccf6b">ToText</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; } <a name="l01415"></a>01415 <a name="l01417"></a>01417 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlNode.html#a3da2314556d60c86be93bcef3bcf8893">Accept</a>( <a class="code" href="classTiXmlVisitor.html" title="SAX emulation.">TiXmlVisitor</a>* content ) <span class="keyword">const</span>; <a name="l01418"></a>01418 <a name="l01419"></a>01419 <span class="keyword">protected</span> : <a name="l01420"></a>01420 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l01421"></a>01421 <span class="preprocessor"></span> <a name="l01422"></a>01422 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a5455583176e9a0389caa2f94ffb809fc">Clone</a>() <span class="keyword">const</span>; <a name="l01423"></a>01423 <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#a91e117d33ac96bb4fbc834c2c688125f">CopyTo</a>( <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>* target ) <span class="keyword">const</span>; <a name="l01424"></a>01424 <a name="l01425"></a>01425 <span class="keywordtype">bool</span> Blank() <span class="keyword">const</span>; <span class="comment">// returns true if all white space and new lines</span> <a name="l01426"></a>01426 <span class="comment">// [internal use]</span> <a name="l01427"></a>01427 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l01428"></a>01428 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag ); <a name="l01429"></a>01429 <span class="preprocessor">#endif</span> <a name="l01430"></a>01430 <span class="preprocessor"></span> <a name="l01431"></a>01431 <span class="preprocessor">#endif</span> <a name="l01432"></a>01432 <span class="preprocessor"></span> <a name="l01433"></a>01433 <span class="keyword">private</span>: <a name="l01434"></a>01434 <span class="keywordtype">bool</span> cdata; <span class="comment">// true if this should be input and output as a CDATA style text element</span> <a name="l01435"></a>01435 }; <a name="l01436"></a>01436 <a name="l01437"></a>01437 <a name="l01455"></a><a class="code" href="classTiXmlDeclaration.html">01455</a> <span class="keyword">class </span>EDELIB_API <a class="code" href="classTiXmlDeclaration.html" title="XML declaration.">TiXmlDeclaration</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a> <a name="l01456"></a>01456 { <a name="l01457"></a>01457 <span class="keyword">public</span>: <a name="l01459"></a><a class="code" href="classTiXmlDeclaration.html#adde340cc8cfbc11ea427a162d65c1d3d">01459</a> <a class="code" href="classTiXmlDeclaration.html#adde340cc8cfbc11ea427a162d65c1d3d">TiXmlDeclaration</a>() : <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>::DECLARATION ) {} <a name="l01460"></a>01460 <a name="l01461"></a>01461 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l01462"></a>01462 <span class="preprocessor"></span> <a name="l01463"></a>01463 <a class="code" href="classTiXmlDeclaration.html" title="XML declaration.">TiXmlDeclaration</a>( <span class="keyword">const</span> std::string& _version, <a name="l01464"></a>01464 <span class="keyword">const</span> std::string& _encoding, <a name="l01465"></a>01465 <span class="keyword">const</span> std::string& _standalone ); <a name="l01466"></a>01466 <span class="preprocessor">#endif</span> <a name="l01467"></a>01467 <span class="preprocessor"></span> <a name="l01469"></a>01469 <a class="code" href="classTiXmlDeclaration.html" title="XML declaration.">TiXmlDeclaration</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _version, <a name="l01470"></a>01470 <span class="keyword">const</span> <span class="keywordtype">char</span>* _encoding, <a name="l01471"></a>01471 <span class="keyword">const</span> <span class="keywordtype">char</span>* _standalone ); <a name="l01472"></a>01472 <a name="l01474"></a>01474 <a class="code" href="classTiXmlDeclaration.html" title="XML declaration.">TiXmlDeclaration</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html" title="XML declaration.">TiXmlDeclaration</a>& copy ); <a name="l01476"></a>01476 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html" title="XML declaration.">TiXmlDeclaration</a>& copy ); <a name="l01477"></a>01477 <a name="l01478"></a>01478 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l01479"></a>01479 <span class="preprocessor"></span> <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlDeclaration.html" title="XML declaration.">TiXmlDeclaration</a>() {} <a name="l01480"></a>01480 <span class="preprocessor">#endif</span> <a name="l01481"></a>01481 <span class="preprocessor"></span> <a name="l01483"></a><a class="code" href="classTiXmlDeclaration.html#a1abac6487c56161794e2cba656e51e82">01483</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTiXmlDeclaration.html#a1abac6487c56161794e2cba656e51e82">Version</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> version.c_str (); } <a name="l01485"></a><a class="code" href="classTiXmlDeclaration.html#a21cf43021714cb3938bfd5dee8586e0f">01485</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTiXmlDeclaration.html#a21cf43021714cb3938bfd5dee8586e0f">Encoding</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> encoding.c_str (); } <a name="l01487"></a><a class="code" href="classTiXmlDeclaration.html#a8d9819c5680aeba23cfd31c2365054ec">01487</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTiXmlDeclaration.html#a8d9819c5680aeba23cfd31c2365054ec">Standalone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> standalone.c_str (); } <a name="l01488"></a>01488 <a name="l01490"></a>01490 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a5455583176e9a0389caa2f94ffb809fc">Clone</a>() <span class="keyword">const</span>; <a name="l01491"></a>01491 <a name="l01493"></a>01493 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#a953033a3c8ccb7404e67b0be72562391">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth, TIXML_STRING* str ) <span class="keyword">const</span>; <a name="l01495"></a><a class="code" href="classTiXmlDeclaration.html#aa0c7ee41a4ae95253c321399cd995b9f">01495</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlDeclaration.html#aa0c7ee41a4ae95253c321399cd995b9f">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth )<span class="keyword"> const </span>{ <a name="l01496"></a>01496 <a class="code" href="classTiXmlBase.html#a953033a3c8ccb7404e67b0be72562391">Print</a>( cfile, depth, 0 ); <a name="l01497"></a>01497 } <a name="l01498"></a>01498 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l01499"></a>01499 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* Parse( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, TiXmlParsingData* data, TiXmlEncoding encoding ); <a name="l01500"></a>01500 <span class="preprocessor">#endif</span> <a name="l01501"></a>01501 <span class="preprocessor"></span> <a name="l01502"></a><a class="code" href="classTiXmlDeclaration.html#aee135ea9d6486ec118898e3ac8a293cf">01502</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html" title="XML declaration.">TiXmlDeclaration</a>* <a class="code" href="classTiXmlDeclaration.html#aee135ea9d6486ec118898e3ac8a293cf">ToDeclaration</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; } <a name="l01504"></a><a class="code" href="classTiXmlDeclaration.html#ab07aa982d62f5beba098e5a285c75e67">01504</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlDeclaration.html" title="XML declaration.">TiXmlDeclaration</a>* <a class="code" href="classTiXmlDeclaration.html#ab07aa982d62f5beba098e5a285c75e67">ToDeclaration</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; } <a name="l01505"></a>01505 <a name="l01507"></a>01507 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlNode.html#a3da2314556d60c86be93bcef3bcf8893">Accept</a>( <a class="code" href="classTiXmlVisitor.html" title="SAX emulation.">TiXmlVisitor</a>* visitor ) <span class="keyword">const</span>; <a name="l01508"></a>01508 <a name="l01509"></a>01509 <span class="keyword">protected</span>: <a name="l01510"></a>01510 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l01511"></a>01511 <span class="preprocessor"></span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#a91e117d33ac96bb4fbc834c2c688125f">CopyTo</a>( <a class="code" href="classTiXmlDeclaration.html" title="XML declaration.">TiXmlDeclaration</a>* target ) <span class="keyword">const</span>; <a name="l01512"></a>01512 <span class="comment">// used to be public</span> <a name="l01513"></a>01513 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l01514"></a>01514 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag ); <a name="l01515"></a>01515 <span class="preprocessor">#endif</span> <a name="l01516"></a>01516 <span class="preprocessor"></span> <a name="l01517"></a>01517 <span class="preprocessor">#endif</span> <a name="l01518"></a>01518 <span class="preprocessor"></span> <a name="l01519"></a>01519 <span class="keyword">private</span>: <a name="l01520"></a>01520 <a name="l01521"></a>01521 TIXML_STRING version; <a name="l01522"></a>01522 TIXML_STRING encoding; <a name="l01523"></a>01523 TIXML_STRING standalone; <a name="l01524"></a>01524 }; <a name="l01525"></a>01525 <a name="l01526"></a>01526 <a name="l01538"></a><a class="code" href="classTiXmlUnknown.html">01538</a> <span class="keyword">class </span><a class="code" href="classTiXmlUnknown.html" title="Unknown XML element.">TiXmlUnknown</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a> <a name="l01539"></a>01539 { <a name="l01540"></a>01540 <span class="keyword">public</span>: <a name="l01542"></a><a class="code" href="classTiXmlUnknown.html#af92ec4869f9d105bc1217a0252bf4995">01542</a> <a class="code" href="classTiXmlUnknown.html#af92ec4869f9d105bc1217a0252bf4995">TiXmlUnknown</a>() : <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>::UNKNOWN ) {} <a name="l01543"></a>01543 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l01544"></a>01544 <span class="preprocessor"></span> <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlUnknown.html" title="Unknown XML element.">TiXmlUnknown</a>() {} <a name="l01545"></a>01545 <span class="preprocessor">#endif</span> <a name="l01546"></a>01546 <span class="preprocessor"></span> <a name="l01548"></a><a class="code" href="classTiXmlUnknown.html#a99b2257221fe0fac02b50dc9e774114c">01548</a> <a class="code" href="classTiXmlUnknown.html#a99b2257221fe0fac02b50dc9e774114c">TiXmlUnknown</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html" title="Unknown XML element.">TiXmlUnknown</a>& copy ) : <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>::UNKNOWN ) { copy.<a class="code" href="classTiXmlNode.html#a91e117d33ac96bb4fbc834c2c688125f">CopyTo</a>( <span class="keyword">this</span> ); } <a name="l01550"></a><a class="code" href="classTiXmlUnknown.html#a717e4043bfc60953eaec0fbf615187e1">01550</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlUnknown.html#a717e4043bfc60953eaec0fbf615187e1">operator=</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html" title="Unknown XML element.">TiXmlUnknown</a>& copy ) { copy.<a class="code" href="classTiXmlNode.html#a91e117d33ac96bb4fbc834c2c688125f">CopyTo</a>( <span class="keyword">this</span> ); } <a name="l01551"></a>01551 <a name="l01553"></a>01553 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlUnknown.html#a842a98f3a31af4a808cee9d8842e5072">Clone</a>() <span class="keyword">const</span>; <a name="l01555"></a>01555 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlUnknown.html#aa0c7ee41a4ae95253c321399cd995b9f">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>; <a name="l01556"></a>01556 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l01557"></a>01557 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* Parse( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, TiXmlParsingData* data, TiXmlEncoding encoding ); <a name="l01558"></a>01558 <span class="preprocessor">#endif</span> <a name="l01559"></a>01559 <span class="preprocessor"></span> <a name="l01560"></a><a class="code" href="classTiXmlUnknown.html#a461ef07268953b2b3fad50f64aa20321">01560</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html" title="Unknown XML element.">TiXmlUnknown</a>* <a class="code" href="classTiXmlUnknown.html#a461ef07268953b2b3fad50f64aa20321">ToUnknown</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; } <a name="l01562"></a><a class="code" href="classTiXmlUnknown.html#a27d3f8d54b19f00da670016ae6c5774a">01562</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlUnknown.html" title="Unknown XML element.">TiXmlUnknown</a>* <a class="code" href="classTiXmlUnknown.html#a27d3f8d54b19f00da670016ae6c5774a">ToUnknown</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; } <a name="l01563"></a>01563 <a name="l01565"></a>01565 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlUnknown.html#a06eee4a6233e605a618005c853c3aa81">Accept</a>( <a class="code" href="classTiXmlVisitor.html" title="SAX emulation.">TiXmlVisitor</a>* content ) <span class="keyword">const</span>; <a name="l01566"></a>01566 <a name="l01567"></a>01567 <span class="keyword">protected</span>: <a name="l01568"></a>01568 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l01569"></a>01569 <span class="preprocessor"></span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#a91e117d33ac96bb4fbc834c2c688125f">CopyTo</a>( <a class="code" href="classTiXmlUnknown.html" title="Unknown XML element.">TiXmlUnknown</a>* target ) <span class="keyword">const</span>; <a name="l01570"></a>01570 <a name="l01571"></a>01571 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l01572"></a>01572 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag ); <a name="l01573"></a>01573 <span class="preprocessor">#endif</span> <a name="l01574"></a>01574 <span class="preprocessor"></span> <a name="l01575"></a>01575 <span class="preprocessor">#endif</span> <a name="l01576"></a>01576 <span class="preprocessor"></span> <a name="l01577"></a>01577 <span class="keyword">private</span>: <a name="l01578"></a>01578 <a name="l01579"></a>01579 }; <a name="l01580"></a>01580 <a name="l01581"></a>01581 <a name="l01590"></a><a class="code" href="classTiXmlDocument.html">01590</a> <span class="keyword">class </span>EDELIB_API <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a> <a name="l01591"></a>01591 { <a name="l01592"></a>01592 <span class="keyword">public</span>: <a name="l01594"></a>01594 <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>(); <a name="l01596"></a>01596 <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * documentName ); <a name="l01597"></a>01597 <a name="l01598"></a>01598 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l01599"></a>01599 <span class="preprocessor"></span> <a name="l01600"></a>01600 <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>( <span class="keyword">const</span> std::string& documentName ); <a name="l01601"></a>01601 <span class="preprocessor">#endif</span> <a name="l01602"></a>01602 <span class="preprocessor"></span> <a name="l01604"></a>01604 <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>& copy ); <a name="l01606"></a>01606 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>& copy ); <a name="l01607"></a>01607 <a name="l01608"></a>01608 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l01609"></a>01609 <span class="preprocessor"></span> <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>() {} <a name="l01610"></a>01610 <span class="preprocessor">#endif</span> <a name="l01611"></a>01611 <span class="preprocessor"></span> <a name="l01617"></a>01617 <span class="keywordtype">bool</span> LoadFile( TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING ); <a name="l01619"></a>01619 <span class="keywordtype">bool</span> SaveFile() <span class="keyword">const</span>; <a name="l01621"></a>01621 <span class="keywordtype">bool</span> LoadFile( <span class="keyword">const</span> <span class="keywordtype">char</span> * filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING ); <a name="l01623"></a>01623 <span class="keywordtype">bool</span> SaveFile( <span class="keyword">const</span> <span class="keywordtype">char</span> * filename ) <span class="keyword">const</span>; <a name="l01630"></a>01630 <span class="keywordtype">bool</span> LoadFile( FILE*, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING ); <a name="l01632"></a>01632 <span class="keywordtype">bool</span> SaveFile( FILE* ) <span class="keyword">const</span>; <a name="l01633"></a>01633 <a name="l01634"></a>01634 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l01635"></a>01635 <span class="preprocessor"></span> <a name="l01636"></a>01636 <span class="keywordtype">bool</span> LoadFile( <span class="keyword">const</span> std::string& filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING ) <a name="l01637"></a>01637 { <a name="l01638"></a>01638 <span class="keywordflow">return</span> LoadFile( filename.c_str(), encoding ); <a name="l01639"></a>01639 } <a name="l01640"></a>01640 <a name="l01642"></a>01642 <span class="keywordtype">bool</span> SaveFile( <span class="keyword">const</span> std::string& filename )<span class="keyword"> const</span> <a name="l01643"></a>01643 <span class="keyword"> </span>{ <a name="l01644"></a>01644 <span class="keywordflow">return</span> SaveFile( filename.c_str() ); <a name="l01645"></a>01645 } <a name="l01646"></a>01646 <span class="preprocessor">#endif</span> <a name="l01647"></a>01647 <span class="preprocessor"></span> <a name="l01653"></a>01653 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* Parse( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, TiXmlParsingData* data = 0, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING ); <a name="l01654"></a>01654 <a name="l01660"></a><a class="code" href="classTiXmlDocument.html#acdbf63eb9f24db17a52066d28cc52409">01660</a> <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlDocument.html#acdbf63eb9f24db17a52066d28cc52409">RootElement</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a93ce116d33aa8a9b9824f667b716b1bb">FirstChildElement</a>(); } <a name="l01662"></a><a class="code" href="classTiXmlDocument.html#a516d5e53686d62142d716757bfbf80e7">01662</a> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlDocument.html#a516d5e53686d62142d716757bfbf80e7">RootElement</a>() { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a93ce116d33aa8a9b9824f667b716b1bb">FirstChildElement</a>(); } <a name="l01663"></a>01663 <a name="l01670"></a><a class="code" href="classTiXmlDocument.html#a7f351111b1715879a6029d189f7457e1">01670</a> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a7f351111b1715879a6029d189f7457e1">Error</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> error; } <a name="l01671"></a>01671 <a name="l01673"></a><a class="code" href="classTiXmlDocument.html#a7d1e7abe3926fb683abae7b170d73cc4">01673</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classTiXmlDocument.html#a7d1e7abe3926fb683abae7b170d73cc4">ErrorDesc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> errorDesc.c_str (); } <a name="l01674"></a>01674 <a name="l01679"></a><a class="code" href="classTiXmlDocument.html#a85f5573d8b045fd19ebf476dffb309be">01679</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlDocument.html#a85f5573d8b045fd19ebf476dffb309be">ErrorId</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> errorId; } <a name="l01680"></a>01680 <a name="l01689"></a><a class="code" href="classTiXmlDocument.html#a23aace7f40d65cd161a42d2c5310fb08">01689</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlDocument.html#a23aace7f40d65cd161a42d2c5310fb08">ErrorRow</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> errorLocation.row+1; } <a name="l01690"></a>01690 <a name="l01692"></a><a class="code" href="classTiXmlDocument.html#a0e8e6cedd80103ed1ebe40e12e769720">01692</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlDocument.html#a0e8e6cedd80103ed1ebe40e12e769720">ErrorCol</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> errorLocation.col+1; } <a name="l01693"></a>01693 <a name="l01719"></a><a class="code" href="classTiXmlDocument.html#ae52c1e6d112677e7fce608a2de6201bd">01719</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlDocument.html#ae52c1e6d112677e7fce608a2de6201bd">SetTabSize</a>( <span class="keywordtype">int</span> _tabsize ) { tabsize = _tabsize; } <a name="l01720"></a>01720 <a name="l01722"></a><a class="code" href="classTiXmlDocument.html#ab8fd333902306c5124ecf2e138d9b03b">01722</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlDocument.html#ab8fd333902306c5124ecf2e138d9b03b">TabSize</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> tabsize; } <a name="l01723"></a>01723 <a name="l01728"></a><a class="code" href="classTiXmlDocument.html#a93f7a306ed9bf1f41de89f2afea7f55d">01728</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlDocument.html#a93f7a306ed9bf1f41de89f2afea7f55d">ClearError</a>() { error = <span class="keyword">false</span>; <a name="l01729"></a>01729 errorId = 0; <a name="l01730"></a>01730 errorDesc = <span class="stringliteral">""</span>; <a name="l01731"></a>01731 errorLocation.row = errorLocation.col = 0; <a name="l01732"></a>01732 <span class="comment">//errorLocation.last = 0; </span> <a name="l01733"></a>01733 } <a name="l01734"></a>01734 <a name="l01736"></a><a class="code" href="classTiXmlDocument.html#a11421e368566880f5aaa4f39ce8885c4">01736</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlDocument.html#a11421e368566880f5aaa4f39ce8885c4">Print</a>()<span class="keyword"> const </span>{ <a class="code" href="classTiXmlDocument.html#a11421e368566880f5aaa4f39ce8885c4">Print</a>( stdout, 0 ); } <a name="l01737"></a>01737 <a name="l01743"></a>01743 <span class="comment">//char* PrintToMemory() const; </span> <a name="l01744"></a>01744 <a name="l01746"></a>01746 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#a953033a3c8ccb7404e67b0be72562391">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth = 0 ) <span class="keyword">const</span>; <a name="l01747"></a>01747 <span class="preprocessor">#ifndef SKIP_DOCS </span> <a name="l01748"></a>01748 <span class="preprocessor"></span> <span class="comment">// [internal use]</span> <a name="l01749"></a>01749 <span class="keywordtype">void</span> SetError( <span class="keywordtype">int</span> err, <span class="keyword">const</span> <span class="keywordtype">char</span>* errorLocation, TiXmlParsingData* prevData, TiXmlEncoding encoding ); <a name="l01750"></a>01750 <span class="preprocessor">#endif</span> <a name="l01751"></a>01751 <span class="preprocessor"></span> <a name="l01752"></a><a class="code" href="classTiXmlDocument.html#a0ac5163cd2f090c512d09453d445988a">01752</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>* <a class="code" href="classTiXmlDocument.html#a0ac5163cd2f090c512d09453d445988a">ToDocument</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; } <a name="l01754"></a><a class="code" href="classTiXmlDocument.html#a46a5535cabc469a65f47acc317fea778">01754</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>* <a class="code" href="classTiXmlDocument.html#a46a5535cabc469a65f47acc317fea778">ToDocument</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; } <a name="l01755"></a>01755 <a name="l01757"></a>01757 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlNode.html#a3da2314556d60c86be93bcef3bcf8893">Accept</a>( <a class="code" href="classTiXmlVisitor.html" title="SAX emulation.">TiXmlVisitor</a>* content ) <span class="keyword">const</span>; <a name="l01758"></a>01758 <a name="l01759"></a>01759 <span class="keyword">protected</span> : <a name="l01760"></a>01760 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l01761"></a>01761 <span class="preprocessor"></span> <span class="comment">// [internal use]</span> <a name="l01762"></a>01762 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a5455583176e9a0389caa2f94ffb809fc">Clone</a>() <span class="keyword">const</span>; <a name="l01763"></a>01763 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l01764"></a>01764 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag ); <a name="l01765"></a>01765 <span class="preprocessor">#endif</span> <a name="l01766"></a>01766 <span class="preprocessor"></span> <a name="l01767"></a>01767 <span class="preprocessor">#endif</span> <a name="l01768"></a>01768 <span class="preprocessor"></span> <a name="l01769"></a>01769 <span class="keyword">private</span>: <a name="l01770"></a>01770 <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#a91e117d33ac96bb4fbc834c2c688125f">CopyTo</a>( <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>* target ) <span class="keyword">const</span>; <a name="l01771"></a>01771 <a name="l01772"></a>01772 <span class="keywordtype">bool</span> error; <a name="l01773"></a>01773 <span class="keywordtype">int</span> errorId; <a name="l01774"></a>01774 TIXML_STRING errorDesc; <a name="l01775"></a>01775 <span class="keywordtype">int</span> tabsize; <a name="l01776"></a>01776 TiXmlCursor errorLocation; <a name="l01777"></a>01777 <span class="keywordtype">bool</span> useMicrosoftBOM; <span class="comment">// the UTF-8 BOM were found when read. Note this, and try to write.</span> <a name="l01778"></a>01778 }; <a name="l01779"></a>01779 <a name="l01780"></a>01780 <a name="l01866"></a><a class="code" href="classTiXmlHandle.html">01866</a> <span class="keyword">class </span>EDELIB_API <a class="code" href="classTiXmlHandle.html" title="Wraps a node pointer.">TiXmlHandle</a> <a name="l01867"></a>01867 { <a name="l01868"></a>01868 <span class="keyword">public</span>: <a name="l01870"></a><a class="code" href="classTiXmlHandle.html#a7a91f73db1ec65f60edf6c3351e9085a">01870</a> <a class="code" href="classTiXmlHandle.html#a7a91f73db1ec65f60edf6c3351e9085a">TiXmlHandle</a>( <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* _node ) { this->node = _node; } <a name="l01872"></a><a class="code" href="classTiXmlHandle.html#ac9e2921a67990ee459e075bb6f79ab6c">01872</a> <a class="code" href="classTiXmlHandle.html#ac9e2921a67990ee459e075bb6f79ab6c">TiXmlHandle</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlHandle.html" title="Wraps a node pointer.">TiXmlHandle</a>& ref ) { this->node = ref.node; } <a name="l01874"></a><a class="code" href="classTiXmlHandle.html#ae3825271aa876075ea2a1c560afbf312">01874</a> <a class="code" href="classTiXmlHandle.html" title="Wraps a node pointer.">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#ae3825271aa876075ea2a1c560afbf312">operator=</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlHandle.html" title="Wraps a node pointer.">TiXmlHandle</a>& ref ) { this->node = ref.node; <span class="keywordflow">return</span> *<span class="keyword">this</span>; } <a name="l01875"></a>01875 <a name="l01877"></a>01877 <a class="code" href="classTiXmlHandle.html" title="Wraps a node pointer.">TiXmlHandle</a> FirstChild() <span class="keyword">const</span>; <a name="l01879"></a>01879 <a class="code" href="classTiXmlHandle.html" title="Wraps a node pointer.">TiXmlHandle</a> FirstChild( <span class="keyword">const</span> <span class="keywordtype">char</span> * value ) <span class="keyword">const</span>; <a name="l01881"></a>01881 <a class="code" href="classTiXmlHandle.html" title="Wraps a node pointer.">TiXmlHandle</a> FirstChildElement() <span class="keyword">const</span>; <a name="l01883"></a>01883 <a class="code" href="classTiXmlHandle.html" title="Wraps a node pointer.">TiXmlHandle</a> FirstChildElement( <span class="keyword">const</span> <span class="keywordtype">char</span> * value ) <span class="keyword">const</span>; <a name="l01884"></a>01884 <a name="l01889"></a>01889 <a class="code" href="classTiXmlHandle.html" title="Wraps a node pointer.">TiXmlHandle</a> Child( <span class="keyword">const</span> <span class="keywordtype">char</span>* value, <span class="keywordtype">int</span> index ) <span class="keyword">const</span>; <a name="l01894"></a>01894 <a class="code" href="classTiXmlHandle.html" title="Wraps a node pointer.">TiXmlHandle</a> Child( <span class="keywordtype">int</span> index ) <span class="keyword">const</span>; <a name="l01900"></a>01900 <a class="code" href="classTiXmlHandle.html" title="Wraps a node pointer.">TiXmlHandle</a> ChildElement( <span class="keyword">const</span> <span class="keywordtype">char</span>* value, <span class="keywordtype">int</span> index ) <span class="keyword">const</span>; <a name="l01906"></a>01906 <a class="code" href="classTiXmlHandle.html" title="Wraps a node pointer.">TiXmlHandle</a> ChildElement( <span class="keywordtype">int</span> index ) <span class="keyword">const</span>; <a name="l01907"></a>01907 <a name="l01908"></a>01908 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l01909"></a>01909 <span class="preprocessor"></span> <a name="l01910"></a>01910 <a class="code" href="classTiXmlHandle.html" title="Wraps a node pointer.">TiXmlHandle</a> FirstChild( <span class="keyword">const</span> std::string& _value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> FirstChild( _value.c_str() ); } <a name="l01912"></a>01912 <a class="code" href="classTiXmlHandle.html" title="Wraps a node pointer.">TiXmlHandle</a> FirstChildElement( <span class="keyword">const</span> std::string& _value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> FirstChildElement( _value.c_str() ); } <a name="l01913"></a>01913 <a name="l01915"></a>01915 <a class="code" href="classTiXmlHandle.html" title="Wraps a node pointer.">TiXmlHandle</a> Child( <span class="keyword">const</span> std::string& _value, <span class="keywordtype">int</span> index )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Child( _value.c_str(), index ); } <a name="l01917"></a>01917 <a class="code" href="classTiXmlHandle.html" title="Wraps a node pointer.">TiXmlHandle</a> ChildElement( <span class="keyword">const</span> std::string& _value, <span class="keywordtype">int</span> index )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ChildElement( _value.c_str(), index ); } <a name="l01918"></a>01918 <span class="preprocessor">#endif</span> <a name="l01919"></a>01919 <span class="preprocessor"></span> <a name="l01921"></a><a class="code" href="classTiXmlHandle.html#a9f8b06cd5182e1e981edf742b8e051e7">01921</a> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlHandle.html#a9f8b06cd5182e1e981edf742b8e051e7">ToNode</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> node; } <a name="l01923"></a><a class="code" href="classTiXmlHandle.html#ade5d98bd6bda8686b8db804bc22bf505">01923</a> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlHandle.html#ade5d98bd6bda8686b8db804bc22bf505">ToElement</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ( ( node && node->ToElement() ) ? node->ToElement() : 0 ); } <a name="l01925"></a><a class="code" href="classTiXmlHandle.html#ae869af07f33fc6cc8688ad7e5f878d60">01925</a> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>* <a class="code" href="classTiXmlHandle.html#ae869af07f33fc6cc8688ad7e5f878d60">ToText</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ( ( node && node->ToText() ) ? node->ToText() : 0 ); } <a name="l01927"></a><a class="code" href="classTiXmlHandle.html#abccfbf7a34314c8200f00930aba52b26">01927</a> <a class="code" href="classTiXmlUnknown.html" title="Unknown XML element.">TiXmlUnknown</a>* <a class="code" href="classTiXmlHandle.html#abccfbf7a34314c8200f00930aba52b26">ToUnknown</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ( ( node && node->ToUnknown() ) ? node->ToUnknown() : 0 ); } <a name="l01928"></a>01928 <a name="l01933"></a><a class="code" href="classTiXmlHandle.html#a8ee8431ed0e64eff7e87071c3e104328">01933</a> <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* <a class="code" href="classTiXmlHandle.html#a8ee8431ed0e64eff7e87071c3e104328">Node</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ToNode(); } <a name="l01938"></a><a class="code" href="classTiXmlHandle.html#a7861a8552c191f4ddd9a22487126bb18">01938</a> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>* <a class="code" href="classTiXmlHandle.html#a7861a8552c191f4ddd9a22487126bb18">Element</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ToElement(); } <a name="l01943"></a><a class="code" href="classTiXmlHandle.html#a3020aa52e43b2640bc34b4d4550a4586">01943</a> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>* <a class="code" href="classTiXmlHandle.html#a3020aa52e43b2640bc34b4d4550a4586">Text</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ToText(); } <a name="l01948"></a><a class="code" href="classTiXmlHandle.html#a8ebe774896d89376917b91a9adec1719">01948</a> <a class="code" href="classTiXmlUnknown.html" title="Unknown XML element.">TiXmlUnknown</a>* <a class="code" href="classTiXmlHandle.html#a8ebe774896d89376917b91a9adec1719">Unknown</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ToUnknown(); } <a name="l01949"></a>01949 <a name="l01950"></a>01950 <span class="keyword">private</span>: <a name="l01951"></a>01951 <a class="code" href="classTiXmlNode.html" title="Parent class for everything in DOM.">TiXmlNode</a>* node; <a name="l01952"></a>01952 }; <a name="l01953"></a>01953 <a name="l01954"></a>01954 <a name="l01978"></a><a class="code" href="classTiXmlPrinter.html">01978</a> <span class="keyword">class </span><a class="code" href="classTiXmlPrinter.html" title="Print to memory.">TiXmlPrinter</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlVisitor.html" title="SAX emulation.">TiXmlVisitor</a> <a name="l01979"></a>01979 { <a name="l01980"></a>01980 <span class="keyword">public</span>: <a name="l01982"></a><a class="code" href="classTiXmlPrinter.html#a4f8a69ed237be9a69dcaf7e10988c7e2">01982</a> <a class="code" href="classTiXmlPrinter.html#a4f8a69ed237be9a69dcaf7e10988c7e2">TiXmlPrinter</a>() : depth( 0 ), simpleTextPrint( false ), <a name="l01983"></a>01983 buffer(), indent( <span class="stringliteral">" "</span> ), lineBreak( <span class="stringliteral">"\n"</span> ) {} <a name="l01984"></a>01984 <span class="preprocessor">#ifndef SKIP_DOCS</span> <a name="l01985"></a>01985 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a74dd129fa380913a26d59b6c00c39fb1">VisitEnter</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>& doc ); <a name="l01986"></a>01986 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#af6fa317428b54b46c977098007a09dd6">VisitExit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Top level node.">TiXmlDocument</a>& doc ); <a name="l01987"></a>01987 <a name="l01988"></a>01988 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a74dd129fa380913a26d59b6c00c39fb1">VisitEnter</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>& element, <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="Name-value pair.">TiXmlAttribute</a>* firstAttribute ); <a name="l01989"></a>01989 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#af6fa317428b54b46c977098007a09dd6">VisitExit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="Container xml class.">TiXmlElement</a>& element ); <a name="l01990"></a>01990 <a name="l01991"></a>01991 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a1d2df83a060124fdd8359a6f5873e192">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html" title="XML declaration.">TiXmlDeclaration</a>& declaration ); <a name="l01992"></a>01992 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a1d2df83a060124fdd8359a6f5873e192">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>& text ); <a name="l01993"></a>01993 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a1d2df83a060124fdd8359a6f5873e192">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html" title="A XML Comment.">TiXmlComment</a>& comment ); <a name="l01994"></a>01994 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a1d2df83a060124fdd8359a6f5873e192">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html" title="Unknown XML element.">TiXmlUnknown</a>& unknown ); <a name="l01995"></a>01995 <span class="preprocessor">#endif</span> <a name="l01996"></a>01996 <span class="preprocessor"></span> <a name="l02001"></a><a class="code" href="classTiXmlPrinter.html#a5c35b47d196df5059f7ca7a90d31d5b2">02001</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlPrinter.html#a5c35b47d196df5059f7ca7a90d31d5b2">SetIndent</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _indent ) { indent = _indent ? _indent : <span class="stringliteral">""</span> ; } <a name="l02003"></a><a class="code" href="classTiXmlPrinter.html#a35793ea09a1f98e6005741507f7e3980">02003</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlPrinter.html#a35793ea09a1f98e6005741507f7e3980">Indent</a>() { <span class="keywordflow">return</span> indent.<a class="code" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">c_str</a>(); } <a name="l02004"></a>02004 <a name="l02010"></a><a class="code" href="classTiXmlPrinter.html#a6e83bf85282be30473185d1f4b00bbdf">02010</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlPrinter.html#a6e83bf85282be30473185d1f4b00bbdf">SetLineBreak</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _lineBreak ) { lineBreak = _lineBreak ? _lineBreak : <span class="stringliteral">""</span>; } <a name="l02011"></a>02011 <a name="l02013"></a><a class="code" href="classTiXmlPrinter.html#ab48af389e9a758e844f628c5497f33ab">02013</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlPrinter.html#ab48af389e9a758e844f628c5497f33ab">LineBreak</a>() { <span class="keywordflow">return</span> lineBreak.<a class="code" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">c_str</a>(); } <a name="l02014"></a>02014 <a name="l02019"></a><a class="code" href="classTiXmlPrinter.html#a6cf4cf5bc8e01dff0cb75d1bdfbf7e6d">02019</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlPrinter.html#a6cf4cf5bc8e01dff0cb75d1bdfbf7e6d">SetStreamPrinting</a>() { indent = <span class="stringliteral">""</span>; lineBreak = <span class="stringliteral">""</span>; } <a name="l02021"></a><a class="code" href="classTiXmlPrinter.html#a91b713da0032c680dfa529354ecf1d0d">02021</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlPrinter.html#a91b713da0032c680dfa529354ecf1d0d">CStr</a>() { <span class="keywordflow">return</span> buffer.<a class="code" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">c_str</a>(); } <a name="l02023"></a><a class="code" href="classTiXmlPrinter.html#a7b470b21b5807f0a9162bef72aebfef9">02023</a> <span class="keywordtype">size_t</span> <a class="code" href="classTiXmlPrinter.html#a7b470b21b5807f0a9162bef72aebfef9">Size</a>() { <span class="keywordflow">return</span> buffer.<a class="code" href="classedelib_1_1String.html#af82978762f57d4553b0f2c1331c60e65">length</a>(); } <a name="l02024"></a>02024 <a name="l02025"></a>02025 <span class="preprocessor">#ifdef TIXML_USE_STL</span> <a name="l02026"></a>02026 <span class="preprocessor"></span> <a name="l02027"></a>02027 <span class="keyword">const</span> std::string& Str() { <span class="keywordflow">return</span> buffer; } <a name="l02028"></a>02028 <span class="preprocessor">#endif</span> <a name="l02029"></a>02029 <span class="preprocessor"></span> <a name="l02030"></a>02030 <span class="keyword">private</span>: <a name="l02031"></a>02031 <span class="keywordtype">void</span> DoIndent() { <a name="l02032"></a>02032 <span class="keywordflow">for</span>( <span class="keywordtype">int</span> i=0; i<depth; ++i ) <a name="l02033"></a>02033 buffer += indent; <a name="l02034"></a>02034 } <a name="l02035"></a>02035 <span class="keywordtype">void</span> DoLineBreak() { <a name="l02036"></a>02036 buffer += lineBreak; <a name="l02037"></a>02037 } <a name="l02038"></a>02038 <a name="l02039"></a>02039 <span class="keywordtype">int</span> depth; <a name="l02040"></a>02040 <span class="keywordtype">bool</span> simpleTextPrint; <a name="l02041"></a>02041 TIXML_STRING buffer; <a name="l02042"></a>02042 TIXML_STRING indent; <a name="l02043"></a>02043 TIXML_STRING lineBreak; <a name="l02044"></a>02044 }; <a name="l02045"></a>02045 <a name="l02046"></a>02046 <a name="l02047"></a>02047 <span class="preprocessor">#ifdef _MSC_VER</span> <a name="l02048"></a>02048 <span class="preprocessor"></span><span class="preprocessor">#pragma warning( pop )</span> <a name="l02049"></a>02049 <span class="preprocessor"></span><span class="preprocessor">#endif</span> <a name="l02050"></a>02050 <span class="preprocessor"></span> <a name="l02051"></a>02051 <span class="preprocessor">#endif</span> </pre></div></div><!-- contents --> <hr class="footer"/><address class="footer"><small> Generated on Tue Jun 5 2012 17:49:02 for edelib by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.7.6.1 </small></address> </body> </html>