\section{gear\-:\-:Ti\-Xml\-Node Class Reference}
\label{classgear_1_1TiXmlNode}\index{gear\-::\-Ti\-Xml\-Node@{gear\-::\-Ti\-Xml\-Node}}


The parent class for everything in the Document Object Model.  




{\ttfamily \#include $<$tinyxml.\-h$>$}

Inheritance diagram for gear\-:\-:Ti\-Xml\-Node\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.891892cm]{classgear_1_1TiXmlNode}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum {\bf Node\-Type} \{ \\*
{\bfseries D\-O\-C\-U\-M\-E\-N\-T}, 
{\bfseries E\-L\-E\-M\-E\-N\-T}, 
{\bfseries C\-O\-M\-M\-E\-N\-T}, 
{\bfseries U\-N\-K\-N\-O\-W\-N}, 
\\*
{\bfseries T\-E\-X\-T}, 
{\bfseries D\-E\-C\-L\-A\-R\-A\-T\-I\-O\-N}, 
{\bfseries T\-Y\-P\-E\-C\-O\-U\-N\-T}
 \}
\begin{DoxyCompactList}\small\item\em The types of X\-M\-L nodes supported by Tiny\-Xml. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
const char $\ast$ {\bf Value} () const 
\begin{DoxyCompactList}\small\item\em The meaning of 'value' changes for the specific type of \doxyref{Ti\-Xml\-Node}{p.}{classgear_1_1TiXmlNode}. \end{DoxyCompactList}\item 
void {\bf Set\-Value} (const char $\ast$\-\_\-value)
\begin{DoxyCompactList}\small\item\em Changes the value of the node. \end{DoxyCompactList}\item 
void {\bf Set\-Value} (const std\-::string \&\-\_\-value)\label{classgear_1_1TiXmlNode_a4396fae07118634bb2038ec1c72061a1}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
void {\bf Clear} ()\label{classgear_1_1TiXmlNode_a60cf10148d7a7da23e9fe83bed864406}

\begin{DoxyCompactList}\small\item\em Delete all the children of this node. Does not affect 'this'. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bf Parent} ()\label{classgear_1_1TiXmlNode_a62f070515bce55ef595e79f71c943ec5}

\begin{DoxyCompactList}\small\item\em One step up the D\-O\-M. \end{DoxyCompactList}\item 
const {\bf Ti\-Xml\-Node} $\ast$ {\bfseries Parent} () const \label{classgear_1_1TiXmlNode_a3fef6e90eb5b7bca9049347598ef5eda}

\item 
const {\bf Ti\-Xml\-Node} $\ast$ {\bf First\-Child} () const \label{classgear_1_1TiXmlNode_a573dddc37f4644d26affddc60307d067}

\begin{DoxyCompactList}\small\item\em The first child of this node. Will be null if there are no children. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bfseries First\-Child} ()\label{classgear_1_1TiXmlNode_a4a13e7102eb12069ae82534bfe2e06aa}

\item 
const {\bf Ti\-Xml\-Node} $\ast$ {\bf First\-Child} (const char $\ast$value) const \label{classgear_1_1TiXmlNode_a4fd35868ad3c54f5b4cc97c937752dca}

\begin{DoxyCompactList}\small\item\em The first child of this node with the matching 'value'. Will be null if none found. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bf First\-Child} (const char $\ast$value)\label{classgear_1_1TiXmlNode_ac875170fec451526becab567ebb355fc}

\begin{DoxyCompactList}\small\item\em The first child of this node with the matching 'value'. Will be null if none found. \end{DoxyCompactList}\item 
const {\bf Ti\-Xml\-Node} $\ast$ {\bfseries Last\-Child} () const \label{classgear_1_1TiXmlNode_a32f83fab0038175c1cbf93384762b228}

\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bf Last\-Child} ()\label{classgear_1_1TiXmlNode_a1e72d1d1bc7bc0242327cb8866b7a9db}

\begin{DoxyCompactList}\small\item\em The last child of this node. Will be null if there are no children. \end{DoxyCompactList}\item 
const {\bf Ti\-Xml\-Node} $\ast$ {\bfseries Last\-Child} (const char $\ast$value) const \label{classgear_1_1TiXmlNode_a55477eaa910d3fe60636a7b78b32ec6b}

\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bf Last\-Child} (const char $\ast$value)\label{classgear_1_1TiXmlNode_ac57bec6c4a8f2663922032034e08162e}

\begin{DoxyCompactList}\small\item\em The last child of this node matching 'value'. Will be null if there are no children. \end{DoxyCompactList}\item 
const {\bf Ti\-Xml\-Node} $\ast$ {\bf First\-Child} (const std\-::string \&\-\_\-value) const \label{classgear_1_1TiXmlNode_af17ea3e2af9fb8f1592c2144ff21c803}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bf First\-Child} (const std\-::string \&\-\_\-value)\label{classgear_1_1TiXmlNode_a860e1d9c2da03a5a0678e0613a68b097}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
const {\bf Ti\-Xml\-Node} $\ast$ {\bf Last\-Child} (const std\-::string \&\-\_\-value) const \label{classgear_1_1TiXmlNode_ac1c30fd969d9233a4c8a952bfaf8d3d6}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bf Last\-Child} (const std\-::string \&\-\_\-value)\label{classgear_1_1TiXmlNode_a21391ef6be5600099289440b63a9009c}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
const {\bf Ti\-Xml\-Node} $\ast$ {\bf Iterate\-Children} (const {\bf Ti\-Xml\-Node} $\ast$previous) const 
\begin{DoxyCompactList}\small\item\em An alternate way to walk the children of a node. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bfseries Iterate\-Children} ({\bf Ti\-Xml\-Node} $\ast$previous)\label{classgear_1_1TiXmlNode_a8dfafcda44fac502d48c05f154e5109a}

\item 
const {\bf Ti\-Xml\-Node} $\ast$ {\bf Iterate\-Children} (const char $\ast$value, const {\bf Ti\-Xml\-Node} $\ast$previous) const \label{classgear_1_1TiXmlNode_a0787a802865e763e7c5c5d95144a766c}

\begin{DoxyCompactList}\small\item\em This flavor of Iterate\-Children searches for children with a particular 'value'. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bfseries Iterate\-Children} (const char $\ast$value, {\bf Ti\-Xml\-Node} $\ast$previous)\label{classgear_1_1TiXmlNode_ac778b63e18008bdbae66bb163e91b154}

\item 
const {\bf Ti\-Xml\-Node} $\ast$ {\bf Iterate\-Children} (const std\-::string \&\-\_\-value, const {\bf Ti\-Xml\-Node} $\ast$previous) const \label{classgear_1_1TiXmlNode_ac43968fed72cdc8579ce719a06e518aa}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bf Iterate\-Children} (const std\-::string \&\-\_\-value, {\bf Ti\-Xml\-Node} $\ast$previous)\label{classgear_1_1TiXmlNode_a06f3cb5661834e5fdffd49e35a87fb01}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bf Insert\-End\-Child} (const {\bf Ti\-Xml\-Node} \&add\-This)
\begin{DoxyCompactList}\small\item\em Add a new node related to this. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bf Link\-End\-Child} ({\bf Ti\-Xml\-Node} $\ast$add\-This)
\begin{DoxyCompactList}\small\item\em Add a new node related to this. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bf Insert\-Before\-Child} ({\bf Ti\-Xml\-Node} $\ast$before\-This, const {\bf Ti\-Xml\-Node} \&add\-This)
\begin{DoxyCompactList}\small\item\em Add a new node related to this. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bf Insert\-After\-Child} ({\bf Ti\-Xml\-Node} $\ast$after\-This, const {\bf Ti\-Xml\-Node} \&add\-This)
\begin{DoxyCompactList}\small\item\em Add a new node related to this. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bf Replace\-Child} ({\bf Ti\-Xml\-Node} $\ast$replace\-This, const {\bf Ti\-Xml\-Node} \&with\-This)
\begin{DoxyCompactList}\small\item\em Replace a child of this node. \end{DoxyCompactList}\item 
bool {\bf Remove\-Child} ({\bf Ti\-Xml\-Node} $\ast$remove\-This)\label{classgear_1_1TiXmlNode_ae767a3c65cd4477cf1137fc892036067}

\begin{DoxyCompactList}\small\item\em Delete a child of this node. \end{DoxyCompactList}\item 
const {\bf Ti\-Xml\-Node} $\ast$ {\bf Previous\-Sibling} () const \label{classgear_1_1TiXmlNode_ab2d4205ebf6dcf5aacf019ee6364c095}

\begin{DoxyCompactList}\small\item\em Navigate to a sibling node. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bfseries Previous\-Sibling} ()\label{classgear_1_1TiXmlNode_a8ff604630d723ac546cb97ee6bfdb7e7}

\item 
const {\bf Ti\-Xml\-Node} $\ast$ {\bf Previous\-Sibling} (const char $\ast$) const \label{classgear_1_1TiXmlNode_a9099546af7fc366a867a154ad878b24a}

\begin{DoxyCompactList}\small\item\em Navigate to a sibling node. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bfseries Previous\-Sibling} (const char $\ast$)\label{classgear_1_1TiXmlNode_a30606abf0ef0f840fb1e0a42d35dd68d}

\item 
const {\bf Ti\-Xml\-Node} $\ast$ {\bf Previous\-Sibling} (const std\-::string \&\-\_\-value) const \label{classgear_1_1TiXmlNode_ae28912fa4baccdec29264df87e3feccb}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bf Previous\-Sibling} (const std\-::string \&\-\_\-value)\label{classgear_1_1TiXmlNode_a53add9ebafd08c5f57ec6d98e441c8d1}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
const {\bf Ti\-Xml\-Node} $\ast$ {\bf Next\-Sibling} (const std\-::string \&\-\_\-value) const \label{classgear_1_1TiXmlNode_a4bb35304a93ba4b0ea5ebb6925931787}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bf Next\-Sibling} (const std\-::string \&\-\_\-value)\label{classgear_1_1TiXmlNode_a7a75872bbf3e57ef4ed573a5fddeef27}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
const {\bf Ti\-Xml\-Node} $\ast$ {\bf Next\-Sibling} () const \label{classgear_1_1TiXmlNode_a8047ff867060f730a00663ccd6c12e45}

\begin{DoxyCompactList}\small\item\em Navigate to a sibling node. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bfseries Next\-Sibling} ()\label{classgear_1_1TiXmlNode_a9e5fde61bf609a7f790c147f3c524011}

\item 
const {\bf Ti\-Xml\-Node} $\ast$ {\bf Next\-Sibling} (const char $\ast$) const \label{classgear_1_1TiXmlNode_a6d606cf502db020c6d5339e8926a767f}

\begin{DoxyCompactList}\small\item\em Navigate to a sibling node with the given 'value'. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bfseries Next\-Sibling} (const char $\ast$)\label{classgear_1_1TiXmlNode_a834a5e8537783d00ae628ed85f8d8566}

\item 
const {\bf Ti\-Xml\-Element} $\ast$ {\bf Next\-Sibling\-Element} () const 
\begin{DoxyCompactList}\small\item\em Convenience function to get through elements. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Element} $\ast$ {\bfseries Next\-Sibling\-Element} ()\label{classgear_1_1TiXmlNode_a96b844a64e050b3f9716fa4266f2ac10}

\item 
const {\bf Ti\-Xml\-Element} $\ast$ {\bf Next\-Sibling\-Element} (const char $\ast$) const 
\begin{DoxyCompactList}\small\item\em Convenience function to get through elements. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Element} $\ast$ {\bfseries Next\-Sibling\-Element} (const char $\ast$)\label{classgear_1_1TiXmlNode_aaf99528a2918bb9773e9a62f5775a906}

\item 
const {\bf Ti\-Xml\-Element} $\ast$ {\bf Next\-Sibling\-Element} (const std\-::string \&\-\_\-value) const \label{classgear_1_1TiXmlNode_aca3024630152a5f385c0212e2a7bc896}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Element} $\ast$ {\bf Next\-Sibling\-Element} (const std\-::string \&\-\_\-value)\label{classgear_1_1TiXmlNode_af7f35e350b2ee765102de9fdf4887961}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
const {\bf Ti\-Xml\-Element} $\ast$ {\bf First\-Child\-Element} () const \label{classgear_1_1TiXmlNode_ae0ddb1af62a58b6a0d671c2fac88d564}

\begin{DoxyCompactList}\small\item\em Convenience function to get through elements. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Element} $\ast$ {\bfseries First\-Child\-Element} ()\label{classgear_1_1TiXmlNode_a8d08506b64ce15a10a391f47836bfaf7}

\item 
const {\bf Ti\-Xml\-Element} $\ast$ {\bf First\-Child\-Element} (const char $\ast$value) const \label{classgear_1_1TiXmlNode_aca6c7ceca54749045809978a8f5674fb}

\begin{DoxyCompactList}\small\item\em Convenience function to get through elements. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Element} $\ast$ {\bfseries First\-Child\-Element} (const char $\ast$value)\label{classgear_1_1TiXmlNode_a2686ebcf2c1dc9b8b07ef1ff428b6052}

\item 
const {\bf Ti\-Xml\-Element} $\ast$ {\bf First\-Child\-Element} (const std\-::string \&\-\_\-value) const \label{classgear_1_1TiXmlNode_a058282df665ebedff94cccbd68cf6af4}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Element} $\ast$ {\bf First\-Child\-Element} (const std\-::string \&\-\_\-value)\label{classgear_1_1TiXmlNode_acea7824794077182873f257d7b2171cf}

\begin{DoxyCompactList}\small\item\em S\-T\-L std\-::string form. \end{DoxyCompactList}\item 
virtual int {\bf Type} () const 
\begin{DoxyCompactList}\small\item\em Query the type (as an enumerated value, above) of this node. \end{DoxyCompactList}\item 
const {\bf Ti\-Xml\-Document} $\ast$ {\bf Get\-Document} () const 
\begin{DoxyCompactList}\small\item\em Return a pointer to the Document this node lives in. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Document} $\ast$ {\bfseries Get\-Document} ()\label{classgear_1_1TiXmlNode_ac525605e78dffa05d39f6c47fed102e7}

\item 
bool {\bf No\-Children} () const \label{classgear_1_1TiXmlNode_a665fd0927de0569152aa1f7e1cf23cc3}

\begin{DoxyCompactList}\small\item\em Returns true if this node has no children. \end{DoxyCompactList}\item 
const {\bf Ti\-Xml\-Document} $\ast$ {\bf To\-Document} () const \label{classgear_1_1TiXmlNode_af24c7a0a3d5da4d91e22a6bcfbc5580a}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null not of the requested type. \end{DoxyCompactList}\item 
const {\bf Ti\-Xml\-Element} $\ast$ {\bf To\-Element} () const \label{classgear_1_1TiXmlNode_a2de9863c096168214a5b58fb1cda9961}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null not of the requested type. \end{DoxyCompactList}\item 
const {\bf Ti\-Xml\-Comment} $\ast$ {\bf To\-Comment} () const \label{classgear_1_1TiXmlNode_affd87b0c586cde617634d61c59b39426}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null not of the requested type. \end{DoxyCompactList}\item 
const {\bf Ti\-Xml\-Unknown} $\ast$ {\bf To\-Unknown} () const \label{classgear_1_1TiXmlNode_a3765532b207ce31f78d99ce4e8d2da70}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null not of the requested type. \end{DoxyCompactList}\item 
const {\bf Ti\-Xml\-Text} $\ast$ {\bf To\-Text} () const \label{classgear_1_1TiXmlNode_ac88135b738db52570ab7b477ab2fa58c}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null not of the requested type. \end{DoxyCompactList}\item 
const {\bf Ti\-Xml\-Declaration} $\ast$ {\bf To\-Declaration} () const \label{classgear_1_1TiXmlNode_a6299bba68fe969009c7992467fa25f19}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null not of the requested type. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Document} $\ast$ {\bf To\-Document} ()\label{classgear_1_1TiXmlNode_a923c1786c280b69cd5e03685ee0d434f}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null not of the requested type. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Element} $\ast$ {\bf To\-Element} ()\label{classgear_1_1TiXmlNode_a290965d66284a1b37a7415a0ecedcc7d}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null not of the requested type. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Comment} $\ast$ {\bf To\-Comment} ()\label{classgear_1_1TiXmlNode_a2fe5af3be94ead969c97ff1786c6a50e}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null not of the requested type. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Unknown} $\ast$ {\bf To\-Unknown} ()\label{classgear_1_1TiXmlNode_a5af497a82816cdb512b78ee250add317}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null not of the requested type. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Text} $\ast$ {\bf To\-Text} ()\label{classgear_1_1TiXmlNode_a6558535605570fa9248000311236e9b4}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null not of the requested type. \end{DoxyCompactList}\item 
{\bf Ti\-Xml\-Declaration} $\ast$ {\bf To\-Declaration} ()\label{classgear_1_1TiXmlNode_a3f738ea9e1b4457266db3996a1a09430}

\begin{DoxyCompactList}\small\item\em Cast to a more defined type. Will return null not of the requested type. \end{DoxyCompactList}\item 
virtual {\bf Ti\-Xml\-Node} $\ast$ {\bf Clone} () const =0
\begin{DoxyCompactList}\small\item\em Create an exact duplicate of this node and return it. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bfseries Ti\-Xml\-Node} ({\bf Node\-Type} \-\_\-type)\label{classgear_1_1TiXmlNode_af82782fec75f87069191531951b85ab4}

\item 
void {\bfseries Copy\-To} ({\bf Ti\-Xml\-Node} $\ast$target) const \label{classgear_1_1TiXmlNode_ac8c6c3a60f6eb2cc144f7eb27309d966}

\item 
virtual void {\bfseries Stream\-In} (T\-I\-X\-M\-L\-\_\-\-I\-S\-T\-R\-E\-A\-M $\ast$in, T\-I\-X\-M\-L\-\_\-\-S\-T\-R\-I\-N\-G $\ast$tag)=0\label{classgear_1_1TiXmlNode_a0c8a133dfe1a7f22654905322334d731}

\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bfseries Identify} (const char $\ast$start, Ti\-Xml\-Encoding encoding)\label{classgear_1_1TiXmlNode_a2504d9c3e3a17764a7454033daa219d6}

\item 
const T\-I\-X\-M\-L\-\_\-\-S\-T\-R\-I\-N\-G \& {\bfseries S\-Value} () const \label{classgear_1_1TiXmlNode_add03c5fc63311d999a5845416ebe71ea}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bfseries parent}\label{classgear_1_1TiXmlNode_a77c4e29a404e8f0d6fe7394cb5d7a916}

\item 
{\bf Node\-Type} {\bfseries type}\label{classgear_1_1TiXmlNode_ad63704719d8fd075fd01c6312505e14b}

\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bfseries first\-Child}\label{classgear_1_1TiXmlNode_a109d177157094a146dbff938426b5668}

\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bfseries last\-Child}\label{classgear_1_1TiXmlNode_a4b91ddd9bc1a2d353b57f1a17c841710}

\item 
T\-I\-X\-M\-L\-\_\-\-S\-T\-R\-I\-N\-G {\bfseries value}\label{classgear_1_1TiXmlNode_adef7d7c953577e2e999d2ddc8a84c311}

\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bfseries prev}\label{classgear_1_1TiXmlNode_a7712d4c820134502919036fdca28572e}

\item 
{\bf Ti\-Xml\-Node} $\ast$ {\bfseries next}\label{classgear_1_1TiXmlNode_af745eab9de69077b3932844ecefa5802}

\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
class {\bfseries Ti\-Xml\-Document}\label{classgear_1_1TiXmlNode_a173617f6dfe902cf484ce5552b950475}

\item 
class {\bfseries Ti\-Xml\-Element}\label{classgear_1_1TiXmlNode_ab6592e32cb9132be517cc12a70564c4b}

\item 
std\-::istream \& {\bf operator$>$$>$} (std\-::istream \&in, {\bf Ti\-Xml\-Node} \&base)
\begin{DoxyCompactList}\small\item\em An input stream operator, for every class. \end{DoxyCompactList}\item 
std\-::ostream \& {\bf operator$<$$<$} (std\-::ostream \&out, const {\bf Ti\-Xml\-Node} \&base)
\begin{DoxyCompactList}\small\item\em An output stream operator, for every class. \end{DoxyCompactList}\item 
std\-::string \& {\bf operator$<$$<$} (std\-::string \&out, const {\bf Ti\-Xml\-Node} \&base)\label{classgear_1_1TiXmlNode_a52ef17e7080df2490cf87bde380685ab}

\begin{DoxyCompactList}\small\item\em Appends the X\-M\-L node or attribute to a std\-::string. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
The parent class for everything in the Document Object Model. 

(Except for attributes). Nodes have siblings, a parent, and children. A node can be in a document, or stand on its own. The type of a \doxyref{Ti\-Xml\-Node}{p.}{classgear_1_1TiXmlNode} can be queried, and it can be cast to its more defined type. 

Definition at line 368 of file tinyxml.\-h.



\subsection{Member Enumeration Documentation}
\index{gear\-::\-Ti\-Xml\-Node@{gear\-::\-Ti\-Xml\-Node}!Node\-Type@{Node\-Type}}
\index{Node\-Type@{Node\-Type}!gear::TiXmlNode@{gear\-::\-Ti\-Xml\-Node}}
\subsubsection[{Node\-Type}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf gear\-::\-Ti\-Xml\-Node\-::\-Node\-Type}}\label{classgear_1_1TiXmlNode_a38cfda0ce2d812429ebfe0c8d870668c}


The types of X\-M\-L nodes supported by Tiny\-Xml. 

(All the unsupported types are picked up by U\-N\-K\-N\-O\-W\-N.) 

Definition at line 410 of file tinyxml.\-h.



\subsection{Member Function Documentation}
\index{gear\-::\-Ti\-Xml\-Node@{gear\-::\-Ti\-Xml\-Node}!Clone@{Clone}}
\index{Clone@{Clone}!gear::TiXmlNode@{gear\-::\-Ti\-Xml\-Node}}
\subsubsection[{Clone}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf Ti\-Xml\-Node}$\ast$ gear\-::\-Ti\-Xml\-Node\-::\-Clone (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classgear_1_1TiXmlNode_a8ff0be317d4af0456fdbdb9f92600057}


Create an exact duplicate of this node and return it. 

The memory must be deleted by the caller. 

Implemented in {\bf gear\-::\-Ti\-Xml\-Document} \doxyref{}{p.}{classgear_1_1TiXmlDocument_ae15db31318a0350cd6bd1568130e65f1}, {\bf gear\-::\-Ti\-Xml\-Unknown} \doxyref{}{p.}{classgear_1_1TiXmlUnknown_a3bfefb9e02eb2d845a9d0017736a1d94}, {\bf gear\-::\-Ti\-Xml\-Declaration} \doxyref{}{p.}{classgear_1_1TiXmlDeclaration_a20bab4675f1fb2c0b830c7581db9e154}, {\bf gear\-::\-Ti\-Xml\-Text} \doxyref{}{p.}{classgear_1_1TiXmlText_aa4047685a6d16f769139d5ce4499e839}, {\bf gear\-::\-Ti\-Xml\-Comment} \doxyref{}{p.}{classgear_1_1TiXmlComment_a55e538347fdd4fec1e75e25c1fde7548}, and {\bf gear\-::\-Ti\-Xml\-Element} \doxyref{}{p.}{classgear_1_1TiXmlElement_aff7157d5218d4c6ab455ac7a9fc065ee}.



Referenced by Insert\-After\-Child(), Insert\-Before\-Child(), Insert\-End\-Child(), and Replace\-Child().

\index{gear\-::\-Ti\-Xml\-Node@{gear\-::\-Ti\-Xml\-Node}!Get\-Document@{Get\-Document}}
\index{Get\-Document@{Get\-Document}!gear::TiXmlNode@{gear\-::\-Ti\-Xml\-Node}}
\subsubsection[{Get\-Document}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ti\-Xml\-Document} $\ast$ gear\-::\-Ti\-Xml\-Node\-::\-Get\-Document (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{classgear_1_1TiXmlNode_a95c29fdaedb7a3c98464f946ebebdffd}


Return a pointer to the Document this node lives in. 

Returns null if not in a document. 

Definition at line 595 of file tinyxml.\-cc.



References To\-Document().



Referenced by gear\-::\-Ti\-Xml\-Element\-::\-Set\-Attribute().

\index{gear\-::\-Ti\-Xml\-Node@{gear\-::\-Ti\-Xml\-Node}!Insert\-After\-Child@{Insert\-After\-Child}}
\index{Insert\-After\-Child@{Insert\-After\-Child}!gear::TiXmlNode@{gear\-::\-Ti\-Xml\-Node}}
\subsubsection[{Insert\-After\-Child}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Ti\-Xml\-Node} $\ast$ gear\-::\-Ti\-Xml\-Node\-::\-Insert\-After\-Child (
\begin{DoxyParamCaption}
\item[{{\bf Ti\-Xml\-Node} $\ast$}]{after\-This, }
\item[{const {\bf Ti\-Xml\-Node} \&}]{add\-This}
\end{DoxyParamCaption}
)}\label{classgear_1_1TiXmlNode_adcbb91bf650700de71ef5c2b10471510}


Add a new node related to this. 

Adds a child after the specified child. Returns a pointer to the new object or N\-U\-L\-L if an error occured. 

Definition at line 254 of file tinyxml.\-cc.



References Clone().

\index{gear\-::\-Ti\-Xml\-Node@{gear\-::\-Ti\-Xml\-Node}!Insert\-Before\-Child@{Insert\-Before\-Child}}
\index{Insert\-Before\-Child@{Insert\-Before\-Child}!gear::TiXmlNode@{gear\-::\-Ti\-Xml\-Node}}
\subsubsection[{Insert\-Before\-Child}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Ti\-Xml\-Node} $\ast$ gear\-::\-Ti\-Xml\-Node\-::\-Insert\-Before\-Child (
\begin{DoxyParamCaption}
\item[{{\bf Ti\-Xml\-Node} $\ast$}]{before\-This, }
\item[{const {\bf Ti\-Xml\-Node} \&}]{add\-This}
\end{DoxyParamCaption}
)}\label{classgear_1_1TiXmlNode_a4d59d0aec155a4083d43f0f8a249fd4f}


Add a new node related to this. 

Adds a child before the specified child. Returns a pointer to the new object or N\-U\-L\-L if an error occured. 

Definition at line 228 of file tinyxml.\-cc.



References Clone().

\index{gear\-::\-Ti\-Xml\-Node@{gear\-::\-Ti\-Xml\-Node}!Insert\-End\-Child@{Insert\-End\-Child}}
\index{Insert\-End\-Child@{Insert\-End\-Child}!gear::TiXmlNode@{gear\-::\-Ti\-Xml\-Node}}
\subsubsection[{Insert\-End\-Child}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Ti\-Xml\-Node} $\ast$ gear\-::\-Ti\-Xml\-Node\-::\-Insert\-End\-Child (
\begin{DoxyParamCaption}
\item[{const {\bf Ti\-Xml\-Node} \&}]{add\-This}
\end{DoxyParamCaption}
)}\label{classgear_1_1TiXmlNode_af7b1e522d144dd4fa4914ef1dad58fbf}


Add a new node related to this. 

Adds a child past the Last\-Child. Returns a pointer to the new object or N\-U\-L\-L if an error occured. 

Definition at line 218 of file tinyxml.\-cc.



References Clone(), and Link\-End\-Child().



Referenced by gear\-::\-Gear\-X\-M\-L\-::create\-X\-M\-L\-File(), gear\-::\-Gear\-Parameters\-X\-M\-L\-::get\-X\-M\-L\-For\-Parameters(), gear\-::\-Tracker\-Planes\-Parameters\-X\-M\-L\-::to\-X\-M\-L(), gear\-::\-Z\-Planar\-Parameters\-X\-M\-L\-::to\-X\-M\-L(), gear\-::\-Si\-Planes\-Parameters\-X\-M\-L\-::to\-X\-M\-L(), gear\-::\-F\-T\-D\-Parameters\-X\-M\-L\-::to\-X\-M\-L(), gear\-::\-Rectangular\-Pad\-Row\-Layout\-X\-M\-L\-::to\-X\-M\-L(), gear\-::\-T\-P\-C\-Module\-X\-M\-L\-::to\-X\-M\-L(), gear\-::\-T\-P\-C\-Parameters\-X\-M\-L\-::to\-X\-M\-L(), gear\-::\-Calorimeter\-Parameters\-X\-M\-L\-::to\-X\-M\-L(), and gear\-::\-Versatile\-Disk\-Row\-Layout\-X\-M\-L\-::to\-X\-M\-L().

\index{gear\-::\-Ti\-Xml\-Node@{gear\-::\-Ti\-Xml\-Node}!Iterate\-Children@{Iterate\-Children}}
\index{Iterate\-Children@{Iterate\-Children}!gear::TiXmlNode@{gear\-::\-Ti\-Xml\-Node}}
\subsubsection[{Iterate\-Children}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ti\-Xml\-Node} $\ast$ gear\-::\-Ti\-Xml\-Node\-::\-Iterate\-Children (
\begin{DoxyParamCaption}
\item[{const {\bf Ti\-Xml\-Node} $\ast$}]{previous}
\end{DoxyParamCaption}
) const}\label{classgear_1_1TiXmlNode_ad53f05b8c78e4442692c82443050fedf}


An alternate way to walk the children of a node. 

One way to iterate over nodes is\-: \begin{DoxyVerb}        for( child = parent->FirstChild(); child; child = child->NextSibling() )\end{DoxyVerb}


Iterate\-Children does the same thing with the syntax\-: \begin{DoxyVerb}        child = 0;
        while( child = parent->IterateChildren( child ) )\end{DoxyVerb}


Iterate\-Children takes the previous child as input and finds the next one. If the previous child is null, it returns the first. Iterate\-Children will return null when done. 

Definition at line 376 of file tinyxml.\-cc.



References First\-Child(), and Next\-Sibling().



Referenced by gear\-::\-Gear\-X\-M\-L\-::create\-Gear\-Mgr(), gear\-::\-Tracker\-Planes\-Parameters\-X\-M\-L\-::from\-X\-M\-L(), gear\-::\-Z\-Planar\-Parameters\-X\-M\-L\-::from\-X\-M\-L(), gear\-::\-Si\-Planes\-Parameters\-X\-M\-L\-::from\-X\-M\-L(), gear\-::\-F\-T\-D\-Parameters\-X\-M\-L\-::from\-X\-M\-L(), gear\-::\-Rectangular\-Pad\-Row\-Layout\-X\-M\-L\-::from\-X\-M\-L(), gear\-::\-T\-P\-C\-Parameters\-X\-M\-L\-::from\-X\-M\-L(), gear\-::\-Calorimeter\-Parameters\-X\-M\-L\-::from\-X\-M\-L(), gear\-::\-Versatile\-Disk\-Row\-Layout\-X\-M\-L\-::from\-X\-M\-L(), and gear\-::\-Gear\-Parameters\-X\-M\-L\-::set\-Parameters\-From\-X\-M\-L().

\index{gear\-::\-Ti\-Xml\-Node@{gear\-::\-Ti\-Xml\-Node}!Link\-End\-Child@{Link\-End\-Child}}
\index{Link\-End\-Child@{Link\-End\-Child}!gear::TiXmlNode@{gear\-::\-Ti\-Xml\-Node}}
\subsubsection[{Link\-End\-Child}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Ti\-Xml\-Node} $\ast$ gear\-::\-Ti\-Xml\-Node\-::\-Link\-End\-Child (
\begin{DoxyParamCaption}
\item[{{\bf Ti\-Xml\-Node} $\ast$}]{add\-This}
\end{DoxyParamCaption}
)}\label{classgear_1_1TiXmlNode_ab8cb5da42da58ffbb046fffc46c79255}


Add a new node related to this. 

Adds a child past the Last\-Child.

N\-O\-T\-E\-: the node to be added is passed by pointer, and will be henceforth owned (and deleted) by tiny\-Xml. This method is efficient and avoids an extra copy, but should be used with care as it uses a different memory model than the other insert functions.

\begin{DoxySeeAlso}{See Also}
\doxyref{Insert\-End\-Child}{p.}{classgear_1_1TiXmlNode_af7b1e522d144dd4fa4914ef1dad58fbf} 
\end{DoxySeeAlso}


Definition at line 201 of file tinyxml.\-cc.



Referenced by Insert\-End\-Child(), and gear\-::\-Ti\-Xml\-Document\-::\-Parse().

\index{gear\-::\-Ti\-Xml\-Node@{gear\-::\-Ti\-Xml\-Node}!Next\-Sibling\-Element@{Next\-Sibling\-Element}}
\index{Next\-Sibling\-Element@{Next\-Sibling\-Element}!gear::TiXmlNode@{gear\-::\-Ti\-Xml\-Node}}
\subsubsection[{Next\-Sibling\-Element}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ti\-Xml\-Element} $\ast$ gear\-::\-Ti\-Xml\-Node\-::\-Next\-Sibling\-Element (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{classgear_1_1TiXmlNode_af10a1faffd2e5d8b693c5cf0a6805015}


Convenience function to get through elements. 

Calls Next\-Sibling and To\-Element. Will skip all non-\/\-Element nodes. Returns 0 if there is not another element. 

Definition at line 538 of file tinyxml.\-cc.



References Next\-Sibling(), and To\-Element().



Referenced by gear\-::\-Ti\-Xml\-Handle\-::\-Child\-Element().

\index{gear\-::\-Ti\-Xml\-Node@{gear\-::\-Ti\-Xml\-Node}!Next\-Sibling\-Element@{Next\-Sibling\-Element}}
\index{Next\-Sibling\-Element@{Next\-Sibling\-Element}!gear::TiXmlNode@{gear\-::\-Ti\-Xml\-Node}}
\subsubsection[{Next\-Sibling\-Element}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ti\-Xml\-Element} $\ast$ gear\-::\-Ti\-Xml\-Node\-::\-Next\-Sibling\-Element (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\-\_\-value}
\end{DoxyParamCaption}
) const}\label{classgear_1_1TiXmlNode_a7905a9a8ba705371e25f0fd81ffe2669}


Convenience function to get through elements. 

Calls Next\-Sibling and To\-Element. Will skip all non-\/\-Element nodes. Returns 0 if there is not another element. 

Definition at line 566 of file tinyxml.\-cc.



References Next\-Sibling(), and To\-Element().

\index{gear\-::\-Ti\-Xml\-Node@{gear\-::\-Ti\-Xml\-Node}!Replace\-Child@{Replace\-Child}}
\index{Replace\-Child@{Replace\-Child}!gear::TiXmlNode@{gear\-::\-Ti\-Xml\-Node}}
\subsubsection[{Replace\-Child}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Ti\-Xml\-Node} $\ast$ gear\-::\-Ti\-Xml\-Node\-::\-Replace\-Child (
\begin{DoxyParamCaption}
\item[{{\bf Ti\-Xml\-Node} $\ast$}]{replace\-This, }
\item[{const {\bf Ti\-Xml\-Node} \&}]{with\-This}
\end{DoxyParamCaption}
)}\label{classgear_1_1TiXmlNode_ad034642b3f0267a7564244af4ae6d293}


Replace a child of this node. 

Returns a pointer to the new object or N\-U\-L\-L if an error occured. 

Definition at line 280 of file tinyxml.\-cc.



References Clone().

\index{gear\-::\-Ti\-Xml\-Node@{gear\-::\-Ti\-Xml\-Node}!Set\-Value@{Set\-Value}}
\index{Set\-Value@{Set\-Value}!gear::TiXmlNode@{gear\-::\-Ti\-Xml\-Node}}
\subsubsection[{Set\-Value}]{\setlength{\rightskip}{0pt plus 5cm}void gear\-::\-Ti\-Xml\-Node\-::\-Set\-Value (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\-\_\-value}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{classgear_1_1TiXmlNode_ac27ef289807875c509848e89f14d7bc3}


Changes the value of the node. 

Defined as\-: \begin{DoxyVerb}    Document:   filename of the xml file
    Element:    name of the element
    Comment:    the comment text
    Unknown:    the tag contents
    Text:               the text string\end{DoxyVerb}
 

Definition at line 446 of file tinyxml.\-h.



Referenced by gear\-::\-Gear\-X\-M\-L\-::create\-X\-M\-L\-File(), and gear\-::\-Ti\-Xml\-Text\-::\-Ti\-Xml\-Text().

\index{gear\-::\-Ti\-Xml\-Node@{gear\-::\-Ti\-Xml\-Node}!Type@{Type}}
\index{Type@{Type}!gear::TiXmlNode@{gear\-::\-Ti\-Xml\-Node}}
\subsubsection[{Type}]{\setlength{\rightskip}{0pt plus 5cm}virtual int gear\-::\-Ti\-Xml\-Node\-::\-Type (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}\label{classgear_1_1TiXmlNode_adcc573927c07a5022356c3cd6d2becf3}


Query the type (as an enumerated value, above) of this node. 

The possible types are\-: D\-O\-C\-U\-M\-E\-N\-T, E\-L\-E\-M\-E\-N\-T, C\-O\-M\-M\-E\-N\-T, U\-N\-K\-N\-O\-W\-N, T\-E\-X\-T, and D\-E\-C\-L\-A\-R\-A\-T\-I\-O\-N. 

Definition at line 603 of file tinyxml.\-h.

\index{gear\-::\-Ti\-Xml\-Node@{gear\-::\-Ti\-Xml\-Node}!Value@{Value}}
\index{Value@{Value}!gear::TiXmlNode@{gear\-::\-Ti\-Xml\-Node}}
\subsubsection[{Value}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ gear\-::\-Ti\-Xml\-Node\-::\-Value (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{classgear_1_1TiXmlNode_a36087382b93d723f2ae581ad03ef5964}


The meaning of 'value' changes for the specific type of \doxyref{Ti\-Xml\-Node}{p.}{classgear_1_1TiXmlNode}. 

\begin{DoxyVerb}    Document:   filename of the xml file
    Element:    name of the element
    Comment:    the comment text
    Unknown:    the tag contents
    Text:               the text string\end{DoxyVerb}


The subclasses will wrap this function. 

Definition at line 435 of file tinyxml.\-h.



Referenced by gear\-::\-Ti\-Xml\-Element\-::\-Clone(), gear\-::\-T\-P\-C\-Parameters\-X\-M\-L\-::from\-X\-M\-L(), gear\-::\-Calorimeter\-Parameters\-X\-M\-L\-::from\-X\-M\-L(), gear\-::get\-Child\-Element\-Value(), gear\-::get\-X\-M\-L\-Attribute(), and gear\-::\-Gear\-Parameters\-X\-M\-L\-::set\-Parameters\-From\-X\-M\-L().



\subsection{Friends And Related Function Documentation}
\index{gear\-::\-Ti\-Xml\-Node@{gear\-::\-Ti\-Xml\-Node}!operator$<$$<$@{operator$<$$<$}}
\index{operator$<$$<$@{operator$<$$<$}!gear::TiXmlNode@{gear\-::\-Ti\-Xml\-Node}}
\subsubsection[{operator$<$$<$}]{\setlength{\rightskip}{0pt plus 5cm}std\-::ostream\& operator$<$$<$ (
\begin{DoxyParamCaption}
\item[{std\-::ostream \&}]{out, }
\item[{const {\bf Ti\-Xml\-Node} \&}]{base}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [friend]}}\label{classgear_1_1TiXmlNode_a86cd49cfb17a844c0010b3136ac966c7}


An output stream operator, for every class. 

Note that this outputs without any newlines or formatting, as opposed to \doxyref{Print()}{p.}{classgear_1_1TiXmlBase_a3b248c5aa5996517ce3a1a8e5acd8b50}, which includes tabs and new lines.

The operator$<$$<$ and operator$>$$>$ are not completely symmetric. Writing a node to a stream is very well defined. You'll get a nice stream of output, without any extra whitespace or newlines.

But reading is not as well defined. (As it always is.) If you create a \doxyref{Ti\-Xml\-Element}{p.}{classgear_1_1TiXmlElement} (for example) and read that from an input stream, the text needs to define an element or junk will result. This is true of all input streams, but it's worth keeping in mind.

A \doxyref{Ti\-Xml\-Document}{p.}{classgear_1_1TiXmlDocument} will read nodes until it reads a root element, and all the children of that root element. \index{gear\-::\-Ti\-Xml\-Node@{gear\-::\-Ti\-Xml\-Node}!operator$>$$>$@{operator$>$$>$}}
\index{operator$>$$>$@{operator$>$$>$}!gear::TiXmlNode@{gear\-::\-Ti\-Xml\-Node}}
\subsubsection[{operator$>$$>$}]{\setlength{\rightskip}{0pt plus 5cm}std\-::istream\& operator$>$$>$ (
\begin{DoxyParamCaption}
\item[{std\-::istream \&}]{in, }
\item[{{\bf Ti\-Xml\-Node} \&}]{base}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [friend]}}\label{classgear_1_1TiXmlNode_ab57bd426563c926844f65a78412e18b9}


An input stream operator, for every class. 

Tolerant of newlines and formatting, but doesn't expect them. 

The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
tinyxml.\-h\item 
tinyxml.\-cc\item 
tinyxmlparser.\-cc\end{DoxyCompactItemize}
