external/tinyxml 2_4_1
Change-Id: Id87a03820c20eaa9c9b92028ab859a27872c16da
diff --git a/docs/tinystr_8h-source.html b/docs/tinystr_8h-source.html
index d40a3c5..2d71016 100644
--- a/docs/tinystr_8h-source.html
+++ b/docs/tinystr_8h-source.html
@@ -224,82 +224,90 @@
<a name="l00217"></a>00217 {
<a name="l00218"></a>00218 <span class="keywordflow">if</span> (cap)
<a name="l00219"></a>00219 {
-<a name="l00220"></a>00220 rep_ = static_cast<Rep*>(operator new(<span class="keyword">sizeof</span>(Rep) + cap));
-<a name="l00221"></a>00221 rep_->str[ rep_->size = sz ] = <span class="charliteral">'\0'</span>;
-<a name="l00222"></a>00222 rep_->capacity = cap;
-<a name="l00223"></a>00223 }
-<a name="l00224"></a>00224 <span class="keywordflow">else</span>
-<a name="l00225"></a>00225 {
-<a name="l00226"></a>00226 rep_ = &nullrep_;
-<a name="l00227"></a>00227 }
-<a name="l00228"></a>00228 }
-<a name="l00229"></a>00229
-<a name="l00230"></a>00230 <span class="keywordtype">void</span> quit()
-<a name="l00231"></a>00231 {
-<a name="l00232"></a>00232 <span class="keywordflow">if</span> (rep_ != &nullrep_)
+<a name="l00220"></a>00220 <span class="comment">// Lee: the original form:</span>
+<a name="l00221"></a>00221 <span class="comment">// rep_ = static_cast<Rep*>(operator new(sizeof(Rep) + cap));</span>
+<a name="l00222"></a>00222 <span class="comment">// doesn't work in some cases of new being overloaded. Switching</span>
+<a name="l00223"></a>00223 <span class="comment">// to the normal allocation, although use an 'int' for systems</span>
+<a name="l00224"></a>00224 <span class="comment">// that are overly picky about structure alignment.</span>
+<a name="l00225"></a>00225 <span class="keyword">const</span> size_type bytesNeeded = <span class="keyword">sizeof</span>(Rep) + cap;
+<a name="l00226"></a>00226 <span class="keyword">const</span> size_type intsNeeded = ( bytesNeeded + <span class="keyword">sizeof</span>(int) - 1 ) / <span class="keyword">sizeof</span>( int );
+<a name="l00227"></a>00227 rep_ = reinterpret_cast<Rep*>( <span class="keyword">new</span> <span class="keywordtype">int</span>[ intsNeeded ] );
+<a name="l00228"></a>00228
+<a name="l00229"></a>00229 rep_->str[ rep_->size = sz ] = <span class="charliteral">'\0'</span>;
+<a name="l00230"></a>00230 rep_->capacity = cap;
+<a name="l00231"></a>00231 }
+<a name="l00232"></a>00232 <span class="keywordflow">else</span>
<a name="l00233"></a>00233 {
-<a name="l00234"></a>00234 operator delete(rep_);
+<a name="l00234"></a>00234 rep_ = &nullrep_;
<a name="l00235"></a>00235 }
<a name="l00236"></a>00236 }
<a name="l00237"></a>00237
-<a name="l00238"></a>00238 Rep * rep_;
-<a name="l00239"></a>00239 <span class="keyword">static</span> Rep nullrep_;
-<a name="l00240"></a>00240
-<a name="l00241"></a>00241 } ;
-<a name="l00242"></a>00242
-<a name="l00243"></a>00243
-<a name="l00244"></a>00244 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator == (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> TiXmlString & b)
-<a name="l00245"></a>00245 {
-<a name="l00246"></a>00246 <span class="keywordflow">return</span> ( a.length() == b.length() ) <span class="comment">// optimization on some platforms</span>
-<a name="l00247"></a>00247 && ( strcmp(a.c_str(), b.c_str()) == 0 ); <span class="comment">// actual compare</span>
-<a name="l00248"></a>00248 }
-<a name="l00249"></a>00249 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator < (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> TiXmlString & b)
-<a name="l00250"></a>00250 {
-<a name="l00251"></a>00251 <span class="keywordflow">return</span> strcmp(a.c_str(), b.c_str()) < 0;
-<a name="l00252"></a>00252 }
-<a name="l00253"></a>00253
-<a name="l00254"></a>00254 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator != (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> TiXmlString & b) { <span class="keywordflow">return</span> !(a == b); }
-<a name="l00255"></a>00255 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator > (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> TiXmlString & b) { <span class="keywordflow">return</span> b < a; }
-<a name="l00256"></a>00256 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator <= (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> TiXmlString & b) { <span class="keywordflow">return</span> !(b < a); }
-<a name="l00257"></a>00257 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator >= (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> TiXmlString & b) { <span class="keywordflow">return</span> !(a < b); }
-<a name="l00258"></a>00258
-<a name="l00259"></a>00259 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator == (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> <span class="keywordtype">char</span>* b) { <span class="keywordflow">return</span> strcmp(a.c_str(), b) == 0; }
-<a name="l00260"></a>00260 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator == (<span class="keyword">const</span> <span class="keywordtype">char</span>* a, <span class="keyword">const</span> TiXmlString & b) { <span class="keywordflow">return</span> b == a; }
-<a name="l00261"></a>00261 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator != (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> <span class="keywordtype">char</span>* b) { <span class="keywordflow">return</span> !(a == b); }
-<a name="l00262"></a>00262 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator != (<span class="keyword">const</span> <span class="keywordtype">char</span>* a, <span class="keyword">const</span> TiXmlString & b) { <span class="keywordflow">return</span> !(b == a); }
-<a name="l00263"></a>00263
-<a name="l00264"></a>00264 TiXmlString operator + (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> TiXmlString & b);
-<a name="l00265"></a>00265 TiXmlString operator + (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> <span class="keywordtype">char</span>* b);
-<a name="l00266"></a>00266 TiXmlString operator + (<span class="keyword">const</span> <span class="keywordtype">char</span>* a, <span class="keyword">const</span> TiXmlString & b);
-<a name="l00267"></a>00267
-<a name="l00268"></a>00268
-<a name="l00269"></a>00269 <span class="comment">/*</span>
-<a name="l00270"></a>00270 <span class="comment"> TiXmlOutStream is an emulation of std::ostream. It is based on TiXmlString.</span>
-<a name="l00271"></a>00271 <span class="comment"> Only the operators that we need for TinyXML have been developped.</span>
-<a name="l00272"></a>00272 <span class="comment">*/</span>
-<a name="l00273"></a>00273 <span class="keyword">class </span>TiXmlOutStream : <span class="keyword">public</span> TiXmlString
-<a name="l00274"></a>00274 {
-<a name="l00275"></a>00275 <span class="keyword">public</span> :
+<a name="l00238"></a>00238 <span class="keywordtype">void</span> quit()
+<a name="l00239"></a>00239 {
+<a name="l00240"></a>00240 <span class="keywordflow">if</span> (rep_ != &nullrep_)
+<a name="l00241"></a>00241 {
+<a name="l00242"></a>00242 <span class="keyword">delete</span> [] rep_;
+<a name="l00243"></a>00243 }
+<a name="l00244"></a>00244 }
+<a name="l00245"></a>00245
+<a name="l00246"></a>00246 Rep * rep_;
+<a name="l00247"></a>00247 <span class="keyword">static</span> Rep nullrep_;
+<a name="l00248"></a>00248
+<a name="l00249"></a>00249 } ;
+<a name="l00250"></a>00250
+<a name="l00251"></a>00251
+<a name="l00252"></a>00252 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator == (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> TiXmlString & b)
+<a name="l00253"></a>00253 {
+<a name="l00254"></a>00254 <span class="keywordflow">return</span> ( a.length() == b.length() ) <span class="comment">// optimization on some platforms</span>
+<a name="l00255"></a>00255 && ( strcmp(a.c_str(), b.c_str()) == 0 ); <span class="comment">// actual compare</span>
+<a name="l00256"></a>00256 }
+<a name="l00257"></a>00257 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator < (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> TiXmlString & b)
+<a name="l00258"></a>00258 {
+<a name="l00259"></a>00259 <span class="keywordflow">return</span> strcmp(a.c_str(), b.c_str()) < 0;
+<a name="l00260"></a>00260 }
+<a name="l00261"></a>00261
+<a name="l00262"></a>00262 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator != (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> TiXmlString & b) { <span class="keywordflow">return</span> !(a == b); }
+<a name="l00263"></a>00263 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator > (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> TiXmlString & b) { <span class="keywordflow">return</span> b < a; }
+<a name="l00264"></a>00264 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator <= (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> TiXmlString & b) { <span class="keywordflow">return</span> !(b < a); }
+<a name="l00265"></a>00265 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator >= (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> TiXmlString & b) { <span class="keywordflow">return</span> !(a < b); }
+<a name="l00266"></a>00266
+<a name="l00267"></a>00267 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator == (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> <span class="keywordtype">char</span>* b) { <span class="keywordflow">return</span> strcmp(a.c_str(), b) == 0; }
+<a name="l00268"></a>00268 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator == (<span class="keyword">const</span> <span class="keywordtype">char</span>* a, <span class="keyword">const</span> TiXmlString & b) { <span class="keywordflow">return</span> b == a; }
+<a name="l00269"></a>00269 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator != (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> <span class="keywordtype">char</span>* b) { <span class="keywordflow">return</span> !(a == b); }
+<a name="l00270"></a>00270 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator != (<span class="keyword">const</span> <span class="keywordtype">char</span>* a, <span class="keyword">const</span> TiXmlString & b) { <span class="keywordflow">return</span> !(b == a); }
+<a name="l00271"></a>00271
+<a name="l00272"></a>00272 TiXmlString operator + (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> TiXmlString & b);
+<a name="l00273"></a>00273 TiXmlString operator + (<span class="keyword">const</span> TiXmlString & a, <span class="keyword">const</span> <span class="keywordtype">char</span>* b);
+<a name="l00274"></a>00274 TiXmlString operator + (<span class="keyword">const</span> <span class="keywordtype">char</span>* a, <span class="keyword">const</span> TiXmlString & b);
+<a name="l00275"></a>00275
<a name="l00276"></a>00276
-<a name="l00277"></a>00277 <span class="comment">// TiXmlOutStream << operator.</span>
-<a name="l00278"></a>00278 TiXmlOutStream & operator << (<span class="keyword">const</span> TiXmlString & in)
-<a name="l00279"></a>00279 {
-<a name="l00280"></a>00280 *<span class="keyword">this</span> += in;
-<a name="l00281"></a>00281 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00282"></a>00282 }
-<a name="l00283"></a>00283
-<a name="l00284"></a>00284 <span class="comment">// TiXmlOutStream << operator.</span>
-<a name="l00285"></a>00285 TiXmlOutStream & operator << (<span class="keyword">const</span> <span class="keywordtype">char</span> * in)
-<a name="l00286"></a>00286 {
-<a name="l00287"></a>00287 *<span class="keyword">this</span> += in;
-<a name="l00288"></a>00288 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00289"></a>00289 }
-<a name="l00290"></a>00290
-<a name="l00291"></a>00291 } ;
-<a name="l00292"></a>00292
-<a name="l00293"></a>00293 <span class="preprocessor">#endif // TIXML_STRING_INCLUDED</span>
-<a name="l00294"></a>00294 <span class="preprocessor"></span><span class="preprocessor">#endif // TIXML_USE_STL</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Oct 8 14:15:30 2005 for TinyXml by
+<a name="l00277"></a>00277 <span class="comment">/*</span>
+<a name="l00278"></a>00278 <span class="comment"> TiXmlOutStream is an emulation of std::ostream. It is based on TiXmlString.</span>
+<a name="l00279"></a>00279 <span class="comment"> Only the operators that we need for TinyXML have been developped.</span>
+<a name="l00280"></a>00280 <span class="comment">*/</span>
+<a name="l00281"></a>00281 <span class="keyword">class </span>TiXmlOutStream : <span class="keyword">public</span> TiXmlString
+<a name="l00282"></a>00282 {
+<a name="l00283"></a>00283 <span class="keyword">public</span> :
+<a name="l00284"></a>00284
+<a name="l00285"></a>00285 <span class="comment">// TiXmlOutStream << operator.</span>
+<a name="l00286"></a>00286 TiXmlOutStream & operator << (<span class="keyword">const</span> TiXmlString & in)
+<a name="l00287"></a>00287 {
+<a name="l00288"></a>00288 *<span class="keyword">this</span> += in;
+<a name="l00289"></a>00289 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00290"></a>00290 }
+<a name="l00291"></a>00291
+<a name="l00292"></a>00292 <span class="comment">// TiXmlOutStream << operator.</span>
+<a name="l00293"></a>00293 TiXmlOutStream & operator << (<span class="keyword">const</span> <span class="keywordtype">char</span> * in)
+<a name="l00294"></a>00294 {
+<a name="l00295"></a>00295 *<span class="keyword">this</span> += in;
+<a name="l00296"></a>00296 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00297"></a>00297 }
+<a name="l00298"></a>00298
+<a name="l00299"></a>00299 } ;
+<a name="l00300"></a>00300
+<a name="l00301"></a>00301 <span class="preprocessor">#endif // TIXML_STRING_INCLUDED</span>
+<a name="l00302"></a>00302 <span class="preprocessor"></span><span class="preprocessor">#endif // TIXML_USE_STL</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Oct 18 20:58:44 2005 for TinyXml by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
</body>