📄 tinyxml_8h-source.html
字号:
00240 00242 <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a22">FirstChildElement</a>( <font class="keyword">const</font> std::string& value ) <font class="keyword">const</font>;00243 <a name="l00245"></a><a class="code" href="classTiXmlNode.html#a24">00245</a> <font class="keyword">virtual</font> <font class="keywordtype">int</font> <a class="code" href="classTiXmlNode.html#a24">Type</a>()<font class="keyword"> </font>{ <font class="keywordflow">return</font> type; }00246 00250 <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* <a class="code" href="classTiXmlNode.html#a25">GetDocument</a>() <font class="keyword">const</font>;00251 <a name="l00252"></a><a class="code" href="classTiXmlNode.html#a26">00252</a> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* <a class="code" href="classTiXmlNode.html#a26">ToDocument</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> ( type == DOCUMENT ) ? (<a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>*) <font class="keyword">this</font> : 0; } <a name="l00253"></a><a class="code" href="classTiXmlNode.html#a27">00253</a> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a27">ToElement</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> ( type == ELEMENT ) ? (<a class="code" href="classTiXmlElement.html">TiXmlElement</a>*) <font class="keyword">this</font> : 0; } <a name="l00254"></a><a class="code" href="classTiXmlNode.html#a28">00254</a> <a class="code" href="classTiXmlComment.html">TiXmlComment</a>* <a class="code" href="classTiXmlNode.html#a28">ToComment</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> ( type == COMMENT ) ? (<a class="code" href="classTiXmlComment.html">TiXmlComment</a>*) <font class="keyword">this</font> : 0; } <a name="l00255"></a><a class="code" href="classTiXmlNode.html#a29">00255</a> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>* <a class="code" href="classTiXmlNode.html#a29">ToUnknown</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> ( type == UNKNOWN ) ? (<a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>*) <font class="keyword">this</font> : 0; } <a name="l00256"></a><a class="code" href="classTiXmlNode.html#a30">00256</a> <a class="code" href="classTiXmlText.html">TiXmlText</a>* <a class="code" href="classTiXmlNode.html#a30">ToText</a>() <font class="keyword">const</font> { <font class="keywordflow">return</font> ( type == TEXT ) ? (<a class="code" href="classTiXmlText.html">TiXmlText</a>*) <font class="keyword">this</font> : 0; } <a name="l00257"></a><a class="code" href="classTiXmlNode.html#a31">00257</a> <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>* <a class="code" href="classTiXmlNode.html#a31">ToDeclaration</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> ( type == DECLARATION ) ? (<a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>*) <font class="keyword">this</font> : 0; } 00258 00259 <font class="keyword">virtual</font> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* Clone() <font class="keyword">const</font> = 0;00260 00261 <font class="keyword">protected</font>:00262 TiXmlNode( NodeType type );00263 <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font>* Parse( <font class="keyword">const</font> <font class="keywordtype">char</font>* ) = 0;00264 00265 <font class="comment">// The node is passed in by ownership. This object will delete it.</font>00266 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* LinkEndChild( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* addThis );00267 00268 <font class="comment">// Figure out what is at *p, and parse it. Return a node if</font>00269 <font class="comment">// successful, and update p.</font>00270 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* IdentifyAndParse( <font class="keyword">const</font> <font class="keywordtype">char</font>** p );00271 00272 <font class="keywordtype">void</font> CopyToClone( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* target )<font class="keyword"> const </font>{ target->value = value; }00273 00274 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* parent; 00275 NodeType type;00276 00277 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* firstChild;00278 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* lastChild;00279 00280 std::string value;00281 00282 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* prev;00283 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* next;00284 };00285 00286 <a name="l00296"></a><a class="code" href="classTiXmlAttribute.html">00296</a> <font class="keyword">class </font><a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a> : <font class="keyword">public</font> <a class="code" href="classTiXmlBase.html">TiXmlBase</a>00297 {00298 <font class="keyword">friend</font> <font class="keyword">class </font>TiXmlAttributeSet;00299 00300 <font class="keyword">public</font>:<a name="l00302"></a><a class="code" href="classTiXmlAttribute.html#a0">00302</a> <a class="code" href="classTiXmlAttribute.html#a0">TiXmlAttribute</a>() : prev( 0 ), next( 0 ) {}00303 <a name="l00305"></a><a class="code" href="classTiXmlAttribute.html#a1">00305</a> <a class="code" href="classTiXmlAttribute.html#a0">TiXmlAttribute</a>( <font class="keyword">const</font> std::string& _name, <font class="keyword">const</font> std::string& _value ) : name( _name ), value( _value ), prev( 0 ), next( 0 ) {}00306 <a name="l00307"></a><a class="code" href="classTiXmlAttribute.html#a2">00307</a> <font class="keyword">const</font> std::string& <a class="code" href="classTiXmlAttribute.html#a2">Name</a>() <font class="keyword">const</font> { <font class="keywordflow">return</font> name; } <a name="l00308"></a><a class="code" href="classTiXmlAttribute.html#a3">00308</a> <font class="keyword">const</font> std::string& <a class="code" href="classTiXmlAttribute.html#a3">Value</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> value; } 00309 <a name="l00310"></a><a class="code" href="classTiXmlAttribute.html#a4">00310</a> <font class="keywordtype">void</font> <a class="code" href="classTiXmlAttribute.html#a4">SetName</a>( <font class="keyword">const</font> std::string& _name )<font class="keyword"> </font>{ name = _name; } <a name="l00311"></a><a class="code" href="classTiXmlAttribute.html#a5">00311</a> <font class="keywordtype">void</font> <a class="code" href="classTiXmlAttribute.html#a5">SetValue</a>( <font class="keyword">const</font> std::string& _value )<font class="keyword"> </font>{ value = _value; } 00312 00314 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlAttribute.html#a6">Next</a>();00316 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlAttribute.html#a7">Previous</a>();00317 00318 <font class="keywordtype">bool</font> operator==( <font class="keyword">const</font> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>& rhs )<font class="keyword"> const </font>{ <font class="keywordflow">return</font> rhs.name == name; }00319 <font class="keywordtype">bool</font> operator<( <font class="keyword">const</font> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>& rhs ) <font class="keyword">const</font> { <font class="keywordflow">return</font> name < rhs.name; }00320 <font class="keywordtype">bool</font> operator>( <font class="keyword">const</font> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>& rhs ) <font class="keyword">const</font> { <font class="keywordflow">return</font> name > rhs.name; }00321 00322 <font class="comment">/* [internal use] </font>00323 <font class="comment"> Attribtue parsing starts: first letter of the name</font>00324 <font class="comment"> returns: the next char after the value end quote</font>00325 <font class="comment"> */</font> 00326 <font class="keyword">const</font> <font class="keywordtype">char</font>* Parse( <font class="keyword">const</font> <font class="keywordtype">char</font>* );00327 00328 <font class="comment">// [internal use] </font>00329 <font class="keyword">virtual</font> <font class="keywordtype">void</font> Print( FILE* fp, <font class="keywordtype">int</font> depth );00330 00331 <font class="comment">// [internal use]</font>00332 <font class="comment">// Set the document pointer so the attribute can report errors.</font>00333 <font class="keywordtype">void</font> SetDocument( <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* doc )<font class="keyword"> </font>{ document = doc; }00334 00335 <font class="keyword">private</font>:00336 <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* document; <font class="comment">// A pointer back to a document, for error reporting.</font>00337 std::string name;00338 std::string value;00339 00340 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* prev;00341 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* next;00342 };00343 00344 00345 <font class="comment">/* A class used to manage a group of attributes.</font>00346 <font class="comment"> It is only used internally, both by the ELEMENT and the DECLARATION.</font>00347 <font class="comment"> </font>00348 <font class="comment"> The set can be changed transparent to the Element and Declaration</font>00349 <font class="comment"> classes that use it, but NOT transparent to the Attribute </font>00350 <font class="comment"> which has to implement a next() and previous() method. Which makes</font>00351 <font class="comment"> it a bit problematic and prevents the use of STL.</font>00352 <font class="comment"></font>00353 <font class="comment"> This version is implemented with circular lists because:</font>00354 <font class="comment"> - I like circular lists</font>00355 <font class="comment"> - it demonstrates some independence from the (typical) doubly linked list.</font>00356 <font class="comment">*/</font>00357 <font class="keyword">class </font>TiXmlAttributeSet00358 {00359 <font class="keyword">public</font>:00360 TiXmlAttributeSet();00361 ~TiXmlAttributeSet();00362 00363 <font class="keywordtype">void</font> Add( <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* attribute );00364 <font class="keywordtype">void</font> Remove( <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* attribute );00365 00366 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* First()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> ( sentinel.next == &sentinel ) ? 0 : sentinel.next; }00367 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* Last() <font class="keyword">const</font> { <font class="keywordflow">return</font> ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; }00368 00369 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* Find( <font class="keyword">const</font> std::string& name ) <font class="keyword">const</font>;00370 00371 <font class="keyword">private</font>:00372 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a> sentinel;00373 };00374 00375 <a name="l00380"></a><a class="code" href="classTiXmlElement.html">00380</a> <font class="keyword">class </font><a class="code" href="classTiXmlElement.html">TiXmlElement</a> : <font class="keyword">public</font> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>00381 {00382 <font class="keyword">public</font>:00384 <a class="code" href="classTiXmlElement.html#a0">TiXmlElement</a>( <font class="keyword">const</font> std::string& value );00385 00386 <font class="keyword">virtual</font> ~TiXmlElement();00387 00391 <font class="keyword">const</font> std::string* <a class="code" href="classTiXmlElement.html#a2">Attribute</a>( <font class="keyword">const</font> std::string& name ) <font class="keyword">const</font>;00392 00396 <font class="keyword">const</font> std::string* <a class="code" href="classTiXmlElement.html#a2">Attribute</a>( <font class="keyword">const</font> std::string& name, <font class="keywordtype">int</font>* i ) <font class="keyword">const</font>;00397 00401 <font class="keywordtype">void</font> <a class="code" href="classTiXmlElement.html#a4">SetAttribute</a>( <font class="keyword">const</font> std::string& name, 00402 <font class="keyword">const</font> std::string& value );00403 00407 <font class="keywordtype">void</font> <a class="code" href="classTiXmlElement.html#a4">SetAttribute</a>( <font class="keyword">const</font> std::string& name, 00408 <font class="keywordtype">int</font> value );00409 00412 <font class="keywordtype">void</font> <a class="code" href="classTiXmlElement.html#a6">RemoveAttribute</a>( <font class="keyword">const</font> std::string& name );00413 <a name="l00414"></a><a class="code" href="classTiXmlElement.html#a7">00414</a> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#a7">FirstAttribute</a>()<font class="keyword"> </font>{ <font class="keywordflow">return</font> attributeSet.First(); } <a name="l00415"></a><a class="code" href="classTiXmlElement.html#a8">00415</a> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#a8">LastAttribute</a>()<font class="keyword"> </font>{ <font class="keywordflow">return</font> attributeSet.Last(); } 00416 00417 <font class="comment">// [internal use] Creates a new Element and returs it.</font>00418 <font class="keyword">virtual</font> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* Clone() <font class="keyword">const</font>;00419 <font class="comment">// [internal use] </font>00420 <font class="keyword">virtual</font> <font class="keywordtype">void</font> Print( FILE* fp, <font class="keywordtype">int</font> depth );00421 00422 <font class="keyword">protected</font>:00423 <font class="comment">/* [internal use] </font>00424 <font class="comment"> Attribtue parsing starts: next char past '<'</font>00425 <font class="comment"> returns: next char past '>'</font>00426 <font class="comment"> */</font>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -