📄 tinyxml_8h-source.html
字号:
00732 TIXML_STRING value;00733 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* prev;00734 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* next;00735 };00736 00737 00738 <span class="comment">/* A class used to manage a group of attributes.</span>00739 <span class="comment"> It is only used internally, both by the ELEMENT and the DECLARATION.</span>00740 <span class="comment"> </span>00741 <span class="comment"> The set can be changed transparent to the Element and Declaration</span>00742 <span class="comment"> classes that use it, but NOT transparent to the Attribute</span>00743 <span class="comment"> which has to implement a next() and previous() method. Which makes</span>00744 <span class="comment"> it a bit problematic and prevents the use of STL.</span>00745 <span class="comment"></span>00746 <span class="comment"> This version is implemented with circular lists because:</span>00747 <span class="comment"> - I like circular lists</span>00748 <span class="comment"> - it demonstrates some independence from the (typical) doubly linked list.</span>00749 <span class="comment">*/</span>00750 <span class="keyword">class </span>TiXmlAttributeSet00751 {00752 <span class="keyword">public</span>:00753 TiXmlAttributeSet();00754 ~TiXmlAttributeSet();00755 00756 <span class="keywordtype">void</span> Add( <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* attribute );00757 <span class="keywordtype">void</span> Remove( <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* attribute );00758 00759 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* First()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ( sentinel.next == &sentinel ) ? 0 : sentinel.next; }00760 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* Last() <span class="keyword">const</span> { <span class="keywordflow">return</span> ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; }00761 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* Find( <span class="keyword">const</span> <span class="keywordtype">char</span> * name ) <span class="keyword">const</span>;00762 00763 <span class="keyword">private</span>:00764 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a> sentinel;00765 };00766 00767 <a name="l00772"></a><a class="code" href="classTiXmlElement.html">00772</a> <span class="keyword">class </span><a class="code" href="classTiXmlElement.html">TiXmlElement</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>00773 {00774 <span class="keyword">public</span>:00776 <a class="code" href="classTiXmlElement.html#a0">TiXmlElement</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * in_value);00777 00778 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>00779 <span class="preprocessor"></span>00780 <a class="code" href="classTiXmlElement.html#a0">TiXmlElement</a>( <span class="keyword">const</span> std::string& _value );00781 <span class="preprocessor"> #endif</span>00782 <span class="preprocessor"></span>00783 <a class="code" href="classTiXmlElement.html#a0">TiXmlElement</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>& );00784 00785 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>& base );00786 00787 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlElement.html">TiXmlElement</a>();00788 00792 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name ) <span class="keyword">const</span>;00793 00800 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">int</span>* i ) <span class="keyword">const</span>;00801 00808 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">double</span>* d ) <span class="keyword">const</span>;00809 00817 <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#a8">QueryIntAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">int</span>* value ) <span class="keyword">const</span>;00819 <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#a9">QueryDoubleAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">double</span>* value ) <span class="keyword">const</span>;00820 00824 <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a10">SetAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <span class="keywordtype">char</span> * value );00825 00826 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>00827 <span class="preprocessor"></span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( <span class="keyword">const</span> std::string& name )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( name.c_str() ); }00828 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( <span class="keyword">const</span> std::string& name, <span class="keywordtype">int</span>* i )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( name.c_str(), i ); }00829 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( <span class="keyword">const</span> std::string& name, <span class="keywordtype">double</span>* d )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlElement.html#a5">Attribute</a>( name.c_str(), d ); }00830 <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#a8">QueryIntAttribute</a>( <span class="keyword">const</span> std::string& name, <span class="keywordtype">int</span>* value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlElement.html#a8">QueryIntAttribute</a>( name.c_str(), value ); }00831 <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#a9">QueryDoubleAttribute</a>( <span class="keyword">const</span> std::string& name, <span class="keywordtype">double</span>* value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlElement.html#a9">QueryDoubleAttribute</a>( name.c_str(), value ); }00832 <a name="l00834"></a><a class="code" href="classTiXmlElement.html#a16">00834</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a10">SetAttribute</a>( <span class="keyword">const</span> std::string& name, <span class="keyword">const</span> std::string& _value ) 00835 { 00836 StringToBuffer n( name );00837 StringToBuffer v( _value );00838 <span class="keywordflow">if</span> ( n.buffer && v.buffer )00839 <a class="code" href="classTiXmlElement.html#a10">SetAttribute</a> (n.buffer, v.buffer ); 00840 } 00842 <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a10">SetAttribute</a>( <span class="keyword">const</span> std::string& name, <span class="keywordtype">int</span> _value ) 00843 { 00844 StringToBuffer n( name );00845 <span class="keywordflow">if</span> ( n.buffer )00846 <a class="code" href="classTiXmlElement.html#a10">SetAttribute</a> (n.buffer, _value); 00847 } 00848 <span class="preprocessor"> #endif</span>00849 <span class="preprocessor"></span>00853 <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a10">SetAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * name, <span class="keywordtype">int</span> value );00854 00858 <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a19">SetDoubleAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * name, <span class="keywordtype">double</span> value );00859 00862 <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a20">RemoveAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * name );00863 <span class="preprocessor"> #ifdef TIXML_USE_STL</span><a name="l00864"></a><a class="code" href="classTiXmlElement.html#a21">00864</a> <span class="preprocessor"></span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a20">RemoveAttribute</a>( <span class="keyword">const</span> std::string& name ) { <a class="code" href="classTiXmlElement.html#a20">RemoveAttribute</a> (name.c_str ()); } 00865 <span class="preprocessor"> #endif</span>00866 <span class="preprocessor"></span><a name="l00867"></a><a class="code" href="classTiXmlElement.html#a22">00867</a> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#a22">FirstAttribute</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> attributeSet.First(); } <a name="l00868"></a><a class="code" href="classTiXmlElement.html#a23">00868</a> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#a23">LastAttribute</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> attributeSet.Last(); } 00869 00871 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlElement.html#a24">Clone</a>() <span class="keyword">const</span>;00872 <span class="comment">// Print the Element to a FILE stream.</span>00873 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a25">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>;00874 00875 <span class="comment">/* Attribtue parsing starts: next char past '<'</span>00876 <span class="comment"> returns: next char past '>'</span>00877 <span class="comment"> */</span>00878 <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 );00879 00880 <span class="keyword">protected</span>:00881 00882 <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* target ) <span class="keyword">const</span>;00883 <span class="keywordtype">void</span> ClearThis(); <span class="comment">// like clear, but initializes 'this' object as well</span>00884 00885 <span class="comment">// Used to be public [internal use]</span>00886 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>00887 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( TIXML_ISTREAM * in, TIXML_STRING * tag );00888 <span class="preprocessor"> #endif</span>00889 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamOut( TIXML_OSTREAM * out ) <span class="keyword">const</span>;00890 00891 <span class="comment">/* [internal use]</span>00892 <span class="comment"> Reads the "value" of the element -- another element, or text.</span>00893 <span class="comment"> This should terminate with the current end tag.</span>00894 <span class="comment"> */</span>00895 <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 );00896 00897 <span class="keyword">private</span>:00898 00899 TiXmlAttributeSet attributeSet;00900 };00901 00902 <a name="l00905"></a><a class="code" href="classTiXmlComment.html">00905</a> <span class="keyword">class </span><a class="code" href="classTiXmlComment.html">TiXmlComment</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>00906 {00907 <span class="keyword">public</span>:<a name="l00909"></a><a class="code" href="classTiXmlComment.html#a0">00909</a> <a class="code" href="classTiXmlComment.html#a0">TiXmlComment</a>() : <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>::COMMENT ) {}00910 <a class="code" href="classTiXmlComment.html#a0">TiXmlC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -