summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Wilhelm <daniel@wili.li>2014-04-18 17:05:53 +0200
committerDaniel Wilhelm <daniel@wili.li>2014-04-18 17:05:53 +0200
commit618dfb51d93898632830f1b87443d3f748780871 (patch)
treebac520a2e261154f8d35b0cb8aa345f5ab373811
parent3.4 (diff)
downloadFreeFileSync-618dfb51d93898632830f1b87443d3f748780871.tar.gz
FreeFileSync-618dfb51d93898632830f1b87443d3f748780871.tar.bz2
FreeFileSync-618dfb51d93898632830f1b87443d3f748780871.zip
3.5
-rw-r--r--Application.cpp1
-rw-r--r--BUILD/Changelog.txt15
-rw-r--r--BUILD/FreeFileSync.chmbin265290 -> 340160 bytes
-rw-r--r--BUILD/Help/Table of Contents.hhc2
-rw-r--r--BUILD/Help/html/Links.html6
-rw-r--r--BUILD/Help/html/Overview.html167
-rw-r--r--BUILD/Help/html/Overview_html_165273dc.gifbin0 -> 3529 bytes
-rw-r--r--BUILD/Help/html/Overview_html_m633b851c.gifbin0 -> 3458 bytes
-rw-r--r--BUILD/Help/html/advanced/ScheduleBatch.html4
-rw-r--r--BUILD/Help/html/advanced/ShadowCopy.html6
-rw-r--r--BUILD/Help/html/ffsicon.pngbin0 -> 7709 bytes
-rw-r--r--BUILD/Help/html/main.pngbin0 -> 56030 bytes
-rw-r--r--BUILD/Help/html/menuAdv.pngbin0 -> 2711 bytes
-rw-r--r--BUILD/Help/html/menuFile.pngbin0 -> 5574 bytes
-rw-r--r--BUILD/Help/html/menuHelp.pngbin0 -> 1823 bytes
-rw-r--r--BUILD/Help/html/overview_html_m11e8dbdc.gifbin3379 -> 0 bytes
-rw-r--r--BUILD/Help/html/overview_html_m67668fb2.gifbin3472 -> 0 bytes
-rw-r--r--BUILD/Languages/english_uk.lng888
-rw-r--r--BUILD/Languages/german.lng14
-rw-r--r--BUILD/Languages/portuguese.lng120
-rw-r--r--BUILD/Resources.datbin291613 -> 292292 bytes
-rw-r--r--Cleanup.cmd5
-rw-r--r--FreeFileSync.cbp83
-rw-r--r--FreeFileSync.vcproj34
-rw-r--r--Makefile6
-rw-r--r--RealtimeSync/RealtimeSync.cbp1
-rw-r--r--RealtimeSync/RealtimeSync.vcproj12
-rw-r--r--RealtimeSync/mainDialog.cpp4
-rw-r--r--RealtimeSync/makefile1
-rw-r--r--RealtimeSync/trayMenu.cpp198
-rw-r--r--RealtimeSync/watcher.cpp18
-rw-r--r--RealtimeSync/watcher.h3
-rw-r--r--RealtimeSync/xmlProcessing.cpp21
-rw-r--r--algorithm.cpp63
-rw-r--r--comparison.cpp72
-rw-r--r--comparison.h2
-rw-r--r--copySource7
-rw-r--r--fileHierarchy.cpp406
-rw-r--r--fileHierarchy.h120
-rw-r--r--library/CustomGrid.cpp10
-rw-r--r--library/CustomGrid.h2
-rw-r--r--library/Taskbar_Seven/Taskbar_Seven.vcproj409
-rw-r--r--library/Taskbar_Seven/dllmain.cpp27
-rw-r--r--library/Taskbar_Seven/taskbar.cpp160
-rw-r--r--library/Taskbar_Seven/taskbar.h62
-rw-r--r--library/binary.cpp99
-rw-r--r--library/binary.h2
-rw-r--r--library/dbFile.cpp419
-rw-r--r--library/dbFile.h20
-rw-r--r--library/filter.cpp4
-rw-r--r--library/filter.h17
-rw-r--r--library/processXml.cpp81
-rw-r--r--library/processXml.h10
-rw-r--r--library/softFilter.cpp10
-rw-r--r--library/softFilter.h79
-rw-r--r--library/statistics.cpp10
-rw-r--r--shared/buildInfo.h2
-rw-r--r--shared/fileHandling.cpp94
-rw-r--r--shared/fileHandling.h15
-rw-r--r--shared/fileID.cpp4
-rw-r--r--shared/fileIO.cpp157
-rw-r--r--shared/fileIO.h98
-rw-r--r--shared/fileTraverser.cpp59
-rw-r--r--shared/globalFunctions.cpp4
-rw-r--r--shared/globalFunctions.h24
-rw-r--r--shared/helpProvider.cpp10
-rw-r--r--shared/localization.cpp57
-rw-r--r--shared/localization.h7
-rw-r--r--shared/recycler.cpp6
-rw-r--r--shared/serialize.h12
-rw-r--r--shared/shadow.cpp18
-rw-r--r--shared/systemFunctions.h6
-rw-r--r--shared/taskbar.cpp130
-rw-r--r--shared/taskbar.h48
-rw-r--r--shared/tinyxml/Makefile4
-rw-r--r--shared/tinyxml/changes.txt21
-rw-r--r--shared/tinyxml/docs/annotated.html59
-rw-r--r--shared/tinyxml/docs/classTiXmlAttribute-members.html109
-rw-r--r--shared/tinyxml/docs/classTiXmlAttribute.html268
-rw-r--r--shared/tinyxml/docs/classTiXmlAttribute.pngbin375 -> 401 bytes
-rw-r--r--shared/tinyxml/docs/classTiXmlBase-members.html73
-rw-r--r--shared/tinyxml/docs/classTiXmlBase.html276
-rw-r--r--shared/tinyxml/docs/classTiXmlBase.pngbin1445 -> 1470 bytes
-rw-r--r--shared/tinyxml/docs/classTiXmlComment-members.html201
-rw-r--r--shared/tinyxml/docs/classTiXmlComment.html163
-rw-r--r--shared/tinyxml/docs/classTiXmlComment.pngbin467 -> 518 bytes
-rw-r--r--shared/tinyxml/docs/classTiXmlDeclaration-members.html209
-rw-r--r--shared/tinyxml/docs/classTiXmlDeclaration.html200
-rw-r--r--shared/tinyxml/docs/classTiXmlDeclaration.pngbin503 -> 557 bytes
-rw-r--r--shared/tinyxml/docs/classTiXmlDocument-members.html239
-rw-r--r--shared/tinyxml/docs/classTiXmlDocument.html497
-rw-r--r--shared/tinyxml/docs/classTiXmlDocument.pngbin480 -> 535 bytes
-rw-r--r--shared/tinyxml/docs/classTiXmlElement-members.html235
-rw-r--r--shared/tinyxml/docs/classTiXmlElement.html453
-rw-r--r--shared/tinyxml/docs/classTiXmlElement.pngbin468 -> 514 bytes
-rw-r--r--shared/tinyxml/docs/classTiXmlHandle-members.html89
-rw-r--r--shared/tinyxml/docs/classTiXmlHandle.html409
-rw-r--r--shared/tinyxml/docs/classTiXmlNode-members.html197
-rw-r--r--shared/tinyxml/docs/classTiXmlNode.html880
-rw-r--r--shared/tinyxml/docs/classTiXmlNode.pngbin1302 -> 1303 bytes
-rw-r--r--shared/tinyxml/docs/classTiXmlPrinter-members.html85
-rw-r--r--shared/tinyxml/docs/classTiXmlPrinter.html267
-rw-r--r--shared/tinyxml/docs/classTiXmlPrinter.pngbin358 -> 380 bytes
-rw-r--r--shared/tinyxml/docs/classTiXmlText-members.html205
-rw-r--r--shared/tinyxml/docs/classTiXmlText.html208
-rw-r--r--shared/tinyxml/docs/classTiXmlText.pngbin446 -> 485 bytes
-rw-r--r--shared/tinyxml/docs/classTiXmlUnknown-members.html197
-rw-r--r--shared/tinyxml/docs/classTiXmlUnknown.html154
-rw-r--r--shared/tinyxml/docs/classTiXmlUnknown.pngbin461 -> 521 bytes
-rw-r--r--shared/tinyxml/docs/classTiXmlVisitor-members.html69
-rw-r--r--shared/tinyxml/docs/classTiXmlVisitor.html159
-rw-r--r--shared/tinyxml/docs/classTiXmlVisitor.pngbin369 -> 386 bytes
-rw-r--r--shared/tinyxml/docs/classes.html38
-rw-r--r--shared/tinyxml/docs/deprecated.html71
-rw-r--r--shared/tinyxml/docs/doxygen.css728
-rw-r--r--shared/tinyxml/docs/files.html49
-rw-r--r--shared/tinyxml/docs/functions.html262
-rw-r--r--shared/tinyxml/docs/functions_0x63.html98
-rw-r--r--shared/tinyxml/docs/functions_0x64.html71
-rw-r--r--shared/tinyxml/docs/functions_0x65.html92
-rw-r--r--shared/tinyxml/docs/functions_0x66.html82
-rw-r--r--shared/tinyxml/docs/functions_0x67.html77
-rw-r--r--shared/tinyxml/docs/functions_0x69.html89
-rw-r--r--shared/tinyxml/docs/functions_0x6c.html83
-rw-r--r--shared/tinyxml/docs/functions_0x6e.html89
-rw-r--r--shared/tinyxml/docs/functions_0x6f.html74
-rw-r--r--shared/tinyxml/docs/functions_0x70.html91
-rw-r--r--shared/tinyxml/docs/functions_0x71.html89
-rw-r--r--shared/tinyxml/docs/functions_0x72.html83
-rw-r--r--shared/tinyxml/docs/functions_0x73.html121
-rw-r--r--shared/tinyxml/docs/functions_0x74.html127
-rw-r--r--shared/tinyxml/docs/functions_0x75.html74
-rw-r--r--shared/tinyxml/docs/functions_0x76.html97
-rw-r--r--shared/tinyxml/docs/functions_enum.html75
-rw-r--r--shared/tinyxml/docs/functions_func.html254
-rw-r--r--shared/tinyxml/docs/functions_func_0x63.html97
-rw-r--r--shared/tinyxml/docs/functions_func_0x64.html70
-rw-r--r--shared/tinyxml/docs/functions_func_0x65.html91
-rw-r--r--shared/tinyxml/docs/functions_func_0x66.html81
-rw-r--r--shared/tinyxml/docs/functions_func_0x67.html76
-rw-r--r--shared/tinyxml/docs/functions_func_0x69.html88
-rw-r--r--shared/tinyxml/docs/functions_func_0x6c.html82
-rw-r--r--shared/tinyxml/docs/functions_func_0x6e.html85
-rw-r--r--shared/tinyxml/docs/functions_func_0x70.html90
-rw-r--r--shared/tinyxml/docs/functions_func_0x71.html88
-rw-r--r--shared/tinyxml/docs/functions_func_0x72.html82
-rw-r--r--shared/tinyxml/docs/functions_func_0x73.html120
-rw-r--r--shared/tinyxml/docs/functions_func_0x74.html126
-rw-r--r--shared/tinyxml/docs/functions_func_0x75.html70
-rw-r--r--shared/tinyxml/docs/functions_func_0x76.html96
-rw-r--r--shared/tinyxml/docs/functions_rela.html79
-rw-r--r--shared/tinyxml/docs/functions_vars.html75
-rw-r--r--shared/tinyxml/docs/hierarchy.html83
-rw-r--r--shared/tinyxml/docs/index.html358
-rw-r--r--shared/tinyxml/docs/pages.html42
-rw-r--r--shared/tinyxml/docs/tabs.css15
-rw-r--r--shared/tinyxml/docs/tinystr_8h_source.html (renamed from shared/tinyxml/docs/tinystr_8h-source.html)73
-rw-r--r--shared/tinyxml/docs/tinyxml_8h-source.html1201
-rw-r--r--shared/tinyxml/docs/tinyxml_8h_source.html1205
-rw-r--r--shared/tinyxml/docs/tutorial0.html291
-rw-r--r--shared/tinyxml/readme.txt4
-rw-r--r--shared/tinyxml/tinyXmlTest.vcproj17
-rw-r--r--shared/tinyxml/tinyXmlTestSTL.vcproj17
-rw-r--r--shared/tinyxml/tinystr.cpp92
-rw-r--r--shared/tinyxml/tinyxml.cpp2357
-rw-r--r--shared/tinyxml/tinyxml.h89
-rw-r--r--shared/tinyxml/tinyxml.sln4
-rw-r--r--shared/tinyxml/tinyxmlSTL.vcproj5
-rw-r--r--shared/tinyxml/tinyxml_lib.vcproj5
-rw-r--r--shared/tinyxml/tinyxmlerror.cpp41
-rw-r--r--shared/tinyxml/tinyxmlparser.cpp2833
-rw-r--r--shared/tinyxml/xmltest.cpp108
-rw-r--r--shared/util.cpp (renamed from ui/util.cpp)72
-rw-r--r--shared/util.h (renamed from ui/util.h)6
-rw-r--r--shared/xmlBase.cpp113
-rw-r--r--shared/xmlBase.h12
-rw-r--r--shared/zstring.cpp39
-rw-r--r--shared/zstring.h189
-rw-r--r--structures.cpp2
-rw-r--r--synchronization.cpp39
-rw-r--r--synchronization.h4
-rw-r--r--ui/MainDialog.cpp129
-rw-r--r--ui/MainDialog.h10
-rw-r--r--ui/SmallDialogs.cpp17
-rw-r--r--ui/batchStatusHandler.cpp34
-rw-r--r--ui/gridView.cpp10
-rw-r--r--ui/gridView.h10
-rw-r--r--ui/guiGenerated.cpp11
-rw-r--r--ui/guiGenerated.h1
-rw-r--r--ui/guiStatusHandler.cpp94
-rw-r--r--ui/guiStatusHandler.h3
-rw-r--r--ui/progressIndicator.cpp415
-rw-r--r--ui/progressIndicator.h17
-rw-r--r--ui/search.cpp7
-rw-r--r--ui/settingsDialog.cpp15
-rw-r--r--ui/trayIcon.cpp4
-rw-r--r--version/version.h8
197 files changed, 15247 insertions, 9641 deletions
diff --git a/Application.cpp b/Application.cpp
index 7e11b4d1..cda76616 100644
--- a/Application.cpp
+++ b/Application.cpp
@@ -73,6 +73,7 @@ void Application::OnStartApplication(wxIdleEvent&)
::gtk_rc_parse(FreeFileSync::wxToZ(FreeFileSync::getResourceDir()) + "styles.rc"); //remove inner border from bitmap buttons
#endif
+
//test if FFS is to be started on UI with config file passed as commandline parameter
//try to set config/batch-filename set by %1 parameter
diff --git a/BUILD/Changelog.txt b/BUILD/Changelog.txt
index 9507ff6f..fd8a3fd1 100644
--- a/BUILD/Changelog.txt
+++ b/BUILD/Changelog.txt
@@ -2,6 +2,20 @@
|FreeFileSync|
--------------
+Changelog v3.5
+--------------
+Allow <automatic> mode syncs between 32 bit, 64 bit, Windows and Linux builds
+Show progess indicator in window title
+Support for progess indicator in Windows 7 Superbar
+Reduced progress indicator flicker
+Prevent silent batch mode from taking keyboard focus
+Improved error messages (loading/saving/copying files)
+Improved environment variable tolerance: strip blanks and double-quotes
+RealtimeSync: Fixed crash when double-clicking systray icon
+Allow aborting all operations via Escape key
+Added British English translation
+
+
Changelog v3.4
--------------
Performance: Reduced Recycle Bin access time by 90%
@@ -21,6 +35,7 @@ Fixed GUI right-to-left mirroring for locales Hebrew and Arabic
Portable version: save configuration in installation folder
Many small GUI enhancements
Updated translation files
+New Linux .deb package: ppa:freefilesync/ffs
Changelog v3.3
diff --git a/BUILD/FreeFileSync.chm b/BUILD/FreeFileSync.chm
index 1e1b085f..cf9d84f5 100644
--- a/BUILD/FreeFileSync.chm
+++ b/BUILD/FreeFileSync.chm
Binary files differ
diff --git a/BUILD/Help/Table of Contents.hhc b/BUILD/Help/Table of Contents.hhc
index f262f543..9c8c7330 100644
--- a/BUILD/Help/Table of Contents.hhc
+++ b/BUILD/Help/Table of Contents.hhc
@@ -10,7 +10,7 @@
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
- <param name="Name" value="Overview">
+ <param name="Name" value="Usage">
<param name="Local" value="html\Overview.html">
<param name="ImageNumber" value="17">
</OBJECT>
diff --git a/BUILD/Help/html/Links.html b/BUILD/Help/html/Links.html
index daca1990..3986f2a2 100644
--- a/BUILD/Help/html/Links.html
+++ b/BUILD/Help/html/Links.html
@@ -5,7 +5,7 @@
<TITLE></TITLE>
<META NAME="GENERATOR" CONTENT="OpenOffice.org 3.0 (Win32)">
<META NAME="CREATED" CONTENT="20091206;16574000">
- <META NAME="CHANGED" CONTENT="20091207;23063000">
+ <META NAME="CHANGED" CONTENT="20100323;22205400">
<STYLE TYPE="text/css">
<!--
@page { margin: 2cm }
@@ -32,5 +32,9 @@ to:<BR><A HREF="mailto:zhnmju123@gmx.de">zhnmju123 [at] gmx [dot] de</A></FONT><
</P>
<P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif">Or
report directly to:<BR><A HREF="http://sourceforge.net/tracker/?group_id=234430">http://sourceforge.net/tracker/?group_id=234430</A></FONT></P>
+<P STYLE="margin-bottom: 0cm"><BR>
+</P>
+<P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif">Support
+the FreeFileSync project:<BR><A HREF="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=zhnmju123%40gmx%2Ede&amp;no_shipping=0&amp;no_note=1&amp;tax=0&amp;currency_code=EUR&amp;lc=EN&amp;bn=PP%2DDonationsBF&amp;charset=UTF%2D8">Paypal</A></FONT></P>
</BODY>
</HTML> \ No newline at end of file
diff --git a/BUILD/Help/html/Overview.html b/BUILD/Help/html/Overview.html
index 7f9a7aef..7903e8fd 100644
--- a/BUILD/Help/html/Overview.html
+++ b/BUILD/Help/html/Overview.html
@@ -5,10 +5,15 @@
<TITLE></TITLE>
<META NAME="GENERATOR" CONTENT="OpenOffice.org 3.0 (Win32)">
<META NAME="CREATED" CONTENT="20091206;16574000">
- <META NAME="CHANGED" CONTENT="20091213;16160300">
+ <META NAME="CHANGED" CONTENT="20100323;23421400">
+ <META NAME="Info 1" CONTENT="">
+ <META NAME="Info 2" CONTENT="">
+ <META NAME="Info 3" CONTENT="">
+ <META NAME="Info 4" CONTENT="">
<STYLE TYPE="text/css">
<!--
@page { margin: 2cm }
+ TD P { margin-bottom: 0.21cm }
P { margin-bottom: 0.21cm }
H3 { margin-bottom: 0.21cm }
H3.western { font-family: "Arial", sans-serif }
@@ -18,22 +23,168 @@
</STYLE>
</HEAD>
<BODY LANG="de-DE" DIR="LTR">
-<H3 CLASS="western" ALIGN=CENTER><FONT SIZE=4 STYLE="font-size: 16pt">FreeFileSync<BR><FONT SIZE=3><I><SPAN STYLE="font-weight: normal">-
-Folder Comparison and Synchronization -</SPAN></I></FONT></FONT></H3>
+<H3 CLASS="western" ALIGN=CENTER><IMG SRC="ffsicon.png" NAME="Grafik6" ALIGN=ABSMIDDLE WIDTH=37 HEIGHT=37 BORDER=0>
+<FONT SIZE=4 STYLE="font-size: 16pt">FreeFileSync<BR></FONT><FONT SIZE=3><I><SPAN STYLE="font-weight: normal">-
+Folder Comparison and Synchronization -</SPAN></I></FONT></H3>
<H3 CLASS="western" ALIGN=LEFT>Usage:</H3>
<OL>
<LI VALUE=1><P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif">Choose
left and right directories.<BR></FONT><IMG SRC="overview_html_m7391eb10.gif" NAME="Grafik4" ALIGN=TEXTTOP WIDTH=449 HEIGHT=49 BORDER=0></P>
- <P STYLE="margin-bottom: 0cm"></P>
+ <P STYLE="margin-bottom: 0cm">&nbsp;</P>
<LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif">&quot;</FONT><FONT FACE="Tahoma, sans-serif"><I>Compare</I></FONT><FONT FACE="Tahoma, sans-serif">&quot;
- them.<BR></FONT><IMG SRC="overview_html_m67668fb2.gif" NAME="Grafik1" ALIGN=BOTTOM WIDTH=178 HEIGHT=40 BORDER=0></P>
- <P STYLE="margin-bottom: 0cm"></P>
+ them.<BR></FONT><IMG SRC="Overview_html_165273dc.gif" NAME="Grafik1" ALIGN=BOTTOM WIDTH=178 HEIGHT=40 BORDER=0></P>
+ <P STYLE="margin-bottom: 0cm">&nbsp;</P>
<LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif">Select
synchronization settings.<BR></FONT><IMG SRC="overview_html_mbb6ab4a.gif" NAME="Grafik3" ALIGN=BOTTOM WIDTH=46 HEIGHT=40 BORDER=0></P>
- <P STYLE="margin-bottom: 0cm"></P>
+ <P STYLE="margin-bottom: 0cm">&nbsp;</P>
<LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif">Press
&quot;</FONT><FONT FACE="Tahoma, sans-serif"><I>Synchronize...</I></FONT><FONT FACE="Tahoma, sans-serif">&quot;
- to begin synchronization.<BR></FONT><IMG SRC="overview_html_m11e8dbdc.gif" NAME="Grafik2" ALIGN=BOTTOM WIDTH=198 HEIGHT=40 BORDER=0></P>
+ to begin synchronization.<BR></FONT><IMG SRC="Overview_html_m633b851c.gif" NAME="Grafik2" ALIGN=BOTTOM WIDTH=198 HEIGHT=40 BORDER=0></P>
</OL>
+<P STYLE="margin-bottom: 0cm; border-top: none; border-bottom: 1px solid #000000; border-left: none; border-right: none; padding-top: 0cm; padding-bottom: 0.07cm; padding-left: 0cm; padding-right: 0cm">
+<BR>
+</P>
+<P STYLE="margin-bottom: 0cm"><BR>
+</P>
+<H3 CLASS="western" STYLE="page-break-before: always"><FONT FACE="Tahoma, sans-serif">Main
+Dialog:</FONT></H3>
+<OL>
+ <P STYLE="margin-bottom: 0cm"><IMG SRC="main.png" NAME="Grafik5" ALIGN=BOTTOM WIDTH=736 HEIGHT=467 BORDER=0></P>
+</OL>
+<P STYLE="margin-bottom: 0cm"><BR>
+</P>
+<OL>
+ <LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif"><FONT SIZE=4>Start
+ comparison</FONT></FONT></P>
+ <LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif"><FONT SIZE=4>Specify
+ comparison settings</FONT></FONT></P>
+ <LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif"><FONT SIZE=4>Set
+ sync configuration</FONT></FONT></P>
+ <LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif"><FONT SIZE=4>Start
+ synchronization</FONT></FONT></P>
+ <LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif"><FONT SIZE=4>Select
+ left and right directories</FONT></FONT></P>
+ <LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif"><FONT SIZE=4>Swap
+ sides</FONT></FONT></P>
+ <LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif"><FONT SIZE=4>Add
+ additional folder pairs</FONT></FONT></P>
+ <LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif"><FONT SIZE=4>Exclude
+ files</FONT></FONT></P>
+ <LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif"><FONT SIZE=4>Save/load
+ configuration</FONT></FONT></P>
+ <LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif"><FONT SIZE=4>Synchronization
+ statistics/preview</FONT></FONT></P>
+</OL>
+<P STYLE="margin-bottom: 0cm; border-top: none; border-bottom: 1px solid #000000; border-left: none; border-right: none; padding-top: 0cm; padding-bottom: 0.07cm; padding-left: 0cm; padding-right: 0cm">
+<BR>
+</P>
+<P STYLE="margin-bottom: 0cm"><BR>
+</P>
+<H3 CLASS="western" STYLE="page-break-before: always"><FONT FACE="Tahoma, sans-serif">Menu
+bar:</FONT></H3>
+<P STYLE="margin-bottom: 0cm"><BR>
+</P>
+<TABLE WIDTH=908 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=4 CELLSPACING=0 RULES=NONE STYLE="page-break-inside: avoid">
+ <COL WIDTH=678>
+ <COL WIDTH=212>
+ <TR>
+ <TD WIDTH=678 VALIGN=TOP>
+ <P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif"><B>Menu
+ &quot;F<SPAN STYLE="font-style: normal">ile&quot;</SPAN></B></FONT></P>
+ <UL>
+ <LI><P STYLE="margin-bottom: 0cm; font-style: normal"><FONT FACE="Tahoma, sans-serif"><B>1.
+ Compare</B><BR>Start comparing both sides according to comparison
+ settings (compare by filesize and date or by content).</FONT></P>
+ <LI><P STYLE="margin-bottom: 0cm; font-style: normal"><FONT FACE="Tahoma, sans-serif"><B>2.
+ Synchronize...</B><BR>Begin synchronization and copy files as
+ seen on the middle grid of the main dialog.</FONT></P>
+ <LI><P STYLE="margin-bottom: 0cm; font-style: normal"><FONT FACE="Tahoma, sans-serif"><B>Switch
+ View</B><BR>After comparison has finished the relation between
+ files on left and right side can be visualized by two views: </FONT>
+ </P>
+ </UL>
+ <P STYLE="margin-left: 2cm; margin-bottom: 0cm; font-style: normal">
+ <FONT FACE="Tahoma, sans-serif">1. &bdquo;Comparison Result&ldquo;
+ shows a category for each row like &bdquo;existing on left side
+ only&ldquo; or &bdquo;left file is newer&ldquo;.</FONT></P>
+ <P STYLE="margin-left: 2cm; margin-bottom: 0cm; font-style: normal">
+ <FONT FACE="Tahoma, sans-serif">2. &bdquo;Synchronization Preview&ldquo;
+ is the result of the synchronization configuration applied on each
+ category. The effective directions in which the files will be
+ copied are shown.</FONT></P>
+ <UL>
+ <LI><P STYLE="margin-bottom: 0cm; font-style: normal"><FONT FACE="Tahoma, sans-serif"><B>New</B><BR>Clears
+ all configuration data and restores an initial state.</FONT></P>
+ <LI><P STYLE="margin-bottom: 0cm; font-style: normal"><FONT FACE="Tahoma, sans-serif"><B>Save
+ Configuration...</B><BR>Save the current settings into a file.</FONT></P>
+ <LI><P STYLE="margin-bottom: 0cm; font-style: normal"><FONT FACE="Tahoma, sans-serif"><B>Load
+ Configuration...</B><BR>Load configuration from file.</FONT></P>
+ <LI><P STYLE="font-style: normal"><FONT FACE="Tahoma, sans-serif"><B>Quit</B><BR>Exit
+ FreeFileSync.</FONT></P>
+ </UL>
+ </TD>
+ <TD WIDTH=212>
+ <P><IMG SRC="menuFile.png" NAME="Grafik7" ALIGN=MIDDLE WIDTH=211 HEIGHT=196 BORDER=0></P>
+ </TD>
+ </TR>
+</TABLE>
+<P STYLE="margin-bottom: 0cm"><BR>
+</P>
+<TABLE WIDTH=855 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=4 CELLSPACING=0 RULES=NONE STYLE="page-break-inside: avoid">
+ <COL WIDTH=680>
+ <COL WIDTH=157>
+ <TR>
+ <TD WIDTH=680 VALIGN=TOP>
+ <P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif"><B>Menu
+ &quot;Advanced&quot;</B></FONT></P>
+ <UL>
+ <LI><P STYLE="margin-bottom: 0cm; font-style: normal"><FONT FACE="Tahoma, sans-serif"><B>Language</B><BR>Change
+ the language of the tool.</FONT></P>
+ <LI><P STYLE="margin-bottom: 0cm; font-style: normal"><FONT FACE="Tahoma, sans-serif"><B>Global
+ Settings...</B><BR>A number of settings that have a global status
+ in the sense that they will be applied to all GUI and batch
+ configurations (*.ffs_gui and *.ffs_batch).</FONT></P>
+ <LI><P STYLE="margin-bottom: 0cm; font-style: normal"><FONT FACE="Tahoma, sans-serif"><B>Create
+ Batch Job</B><BR>Creates a FreeFileSync batch file (*.ffs_batch)
+ that executes a predefined synchronization without user
+ intervention.</FONT></P>
+ <LI><P><FONT FACE="Tahoma, sans-serif"><SPAN STYLE="font-style: normal"><B>Export
+ File List...</B></SPAN><SPAN STYLE="font-style: normal"><BR>Export
+ all data that </SPAN>is currently shown on the main grids as a
+ *.csv file that can be imported into Excel.</FONT></P>
+ </UL>
+ </TD>
+ <TD WIDTH=157>
+ <P><IMG SRC="menuAdv.png" NAME="Grafik11" ALIGN=MIDDLE WIDTH=159 HEIGHT=112 BORDER=0></P>
+ </TD>
+ </TR>
+</TABLE>
+<P STYLE="margin-bottom: 0cm"><BR>
+</P>
+<TABLE WIDTH=772 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=4 CELLSPACING=0 RULES=NONE STYLE="page-break-inside: avoid">
+ <COL WIDTH=552>
+ <COL WIDTH=202>
+ <TR>
+ <TD WIDTH=552 VALIGN=TOP>
+ <P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif"><B>Menu
+ &quot;Help&quot;</B></FONT></P>
+ <UL>
+ <LI><P STYLE="margin-bottom: 0cm; font-style: normal"><FONT FACE="Tahoma, sans-serif"><B>Content</B><BR>Show
+ this helpfile.</FONT></P>
+ <LI><P STYLE="margin-bottom: 0cm; font-style: normal"><FONT FACE="Tahoma, sans-serif"><B>Check
+ for new version</B><BR>Check online whether a more recent version
+ of FreeFileSync is existing.</FONT></P>
+ <LI><P STYLE="font-style: normal"><FONT FACE="Tahoma, sans-serif"><B>About...</B><BR>Credits.</FONT></P>
+ </UL>
+ </TD>
+ <TD WIDTH=202>
+ <P><IMG SRC="menuHelp.png" NAME="Grafik8" ALIGN=BOTTOM WIDTH=202 HEIGHT=90 BORDER=0></P>
+ </TD>
+ </TR>
+</TABLE>
+<P STYLE="margin-bottom: 0cm"><BR>
+</P>
+<P STYLE="margin-bottom: 0cm"><BR>
+</P>
</BODY>
</HTML> \ No newline at end of file
diff --git a/BUILD/Help/html/Overview_html_165273dc.gif b/BUILD/Help/html/Overview_html_165273dc.gif
new file mode 100644
index 00000000..3fa6854d
--- /dev/null
+++ b/BUILD/Help/html/Overview_html_165273dc.gif
Binary files differ
diff --git a/BUILD/Help/html/Overview_html_m633b851c.gif b/BUILD/Help/html/Overview_html_m633b851c.gif
new file mode 100644
index 00000000..a1f073bb
--- /dev/null
+++ b/BUILD/Help/html/Overview_html_m633b851c.gif
Binary files differ
diff --git a/BUILD/Help/html/advanced/ScheduleBatch.html b/BUILD/Help/html/advanced/ScheduleBatch.html
index 4df27850..a155b3e6 100644
--- a/BUILD/Help/html/advanced/ScheduleBatch.html
+++ b/BUILD/Help/html/advanced/ScheduleBatch.html
@@ -5,7 +5,7 @@
<TITLE></TITLE>
<META NAME="GENERATOR" CONTENT="OpenOffice.org 3.0 (Win32)">
<META NAME="CREATED" CONTENT="20091206;16574000">
- <META NAME="CHANGED" CONTENT="20100301;18020000">
+ <META NAME="CHANGED" CONTENT="20100323;21404100">
<STYLE TYPE="text/css">
<!--
@page { margin: 2cm }
@@ -42,12 +42,14 @@ XP)</SPAN></FONT></H3>
<LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif">Follow
the wizard and choose &quot;<FONT FACE="Courier New, monospace">C:\SyncJob.ffs_batch</FONT>&quot;
as program to run.</FONT></P>
+ <P STYLE="margin-bottom: 0cm"></P>
<UL>
<LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif">If
you are using the locally installed version of FreeFileSync,
</FONT><FONT FACE="Courier New, monospace">*.ffs_batch</FONT> <FONT FACE="Tahoma, sans-serif">files
are automatically associated with the tool and field &quot;</FONT><FONT FACE="Tahoma, sans-serif"><I>Run:</I></FONT><FONT FACE="Tahoma, sans-serif">&quot;
can be directly filled with the filename:<BR>&quot;</FONT><FONT FACE="Courier New, monospace">C:\SyncJob.ffs_batch</FONT><FONT FACE="Tahoma, sans-serif">&quot;<BR><IMG SRC="ScheduleBatch_html_372f0f3.gif" NAME="Grafik1" ALIGN=BOTTOM WIDTH=406 HEIGHT=455 BORDER=0></FONT></P>
+ <P STYLE="margin-bottom: 0cm"></P>
<LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Tahoma, sans-serif">If
file associations have not been set (portable installation),</FONT>
&quot;<FONT FACE="Tahoma, sans-serif"><I>Run:</I></FONT><FONT FACE="Tahoma, sans-serif">&quot;
diff --git a/BUILD/Help/html/advanced/ShadowCopy.html b/BUILD/Help/html/advanced/ShadowCopy.html
index 374d2e15..09b64e6a 100644
--- a/BUILD/Help/html/advanced/ShadowCopy.html
+++ b/BUILD/Help/html/advanced/ShadowCopy.html
@@ -5,7 +5,7 @@
<TITLE></TITLE>
<META NAME="GENERATOR" CONTENT="OpenOffice.org 3.0 (Win32)">
<META NAME="CREATED" CONTENT="20091206;16574000">
- <META NAME="CHANGED" CONTENT="20091213;16112500">
+ <META NAME="CHANGED" CONTENT="20100323;22190200">
<META NAME="Info 1" CONTENT="">
<META NAME="Info 2" CONTENT="">
<META NAME="Info 3" CONTENT="">
@@ -34,8 +34,8 @@ Copy of the source drive. To enable this feature go to </FONT><FONT FACE="Tahoma
<P><SPAN ID="Rahmen2" DIR="LTR" STYLE="float: left; width: 80%; height: 0.14cm; border: 1px solid #000080; padding: 0.05cm; background: #ccccff">
<P ALIGN=LEFT STYLE="margin-left: 0.79cm; margin-right: 0.98cm; margin-bottom: 0cm">
<FONT FACE="Tahoma, sans-serif"><B>Note:</B><BR>This functionality
- is applied to locked files only. Regular files will not use the
- Volume Shadow Copy Service when being synchronized.</FONT></P>
+ is applied to locked files only. Regular files will not use Volume
+ Shadow Copy Service when being synchronized.</FONT></P>
</SPAN><BR CLEAR=LEFT>
</P>
</UL>
diff --git a/BUILD/Help/html/ffsicon.png b/BUILD/Help/html/ffsicon.png
new file mode 100644
index 00000000..7ff53bb6
--- /dev/null
+++ b/BUILD/Help/html/ffsicon.png
Binary files differ
diff --git a/BUILD/Help/html/main.png b/BUILD/Help/html/main.png
new file mode 100644
index 00000000..6ad6b030
--- /dev/null
+++ b/BUILD/Help/html/main.png
Binary files differ
diff --git a/BUILD/Help/html/menuAdv.png b/BUILD/Help/html/menuAdv.png
new file mode 100644
index 00000000..3626c1f0
--- /dev/null
+++ b/BUILD/Help/html/menuAdv.png
Binary files differ
diff --git a/BUILD/Help/html/menuFile.png b/BUILD/Help/html/menuFile.png
new file mode 100644
index 00000000..7e6844d5
--- /dev/null
+++ b/BUILD/Help/html/menuFile.png
Binary files differ
diff --git a/BUILD/Help/html/menuHelp.png b/BUILD/Help/html/menuHelp.png
new file mode 100644
index 00000000..db51f82f
--- /dev/null
+++ b/BUILD/Help/html/menuHelp.png
Binary files differ
diff --git a/BUILD/Help/html/overview_html_m11e8dbdc.gif b/BUILD/Help/html/overview_html_m11e8dbdc.gif
deleted file mode 100644
index 4fc6ea59..00000000
--- a/BUILD/Help/html/overview_html_m11e8dbdc.gif
+++ /dev/null
Binary files differ
diff --git a/BUILD/Help/html/overview_html_m67668fb2.gif b/BUILD/Help/html/overview_html_m67668fb2.gif
deleted file mode 100644
index 2b5a33ff..00000000
--- a/BUILD/Help/html/overview_html_m67668fb2.gif
+++ /dev/null
Binary files differ
diff --git a/BUILD/Languages/english_uk.lng b/BUILD/Languages/english_uk.lng
new file mode 100644
index 00000000..ff59c909
--- /dev/null
+++ b/BUILD/Languages/english_uk.lng
@@ -0,0 +1,888 @@
+ MinGW \t- Windows port of GNU Compiler Collection\n wxWidgets \t- Open-Source GUI framework\n wxFormBuilder\t- wxWidgets GUI-builder\n CodeBlocks \t- Open-Source IDE
+ MinGW \t- Windows port of GNU Compiler Collection\n wxWidgets \t- Open-Source GUI framework\n wxFormBuilder\t- wxWidgets GUI-builder\n CodeBlocks \t- Open-Source IDE
+ Byte
+ Byte
+ GB
+ GB
+ MB
+ MB
+ PB
+ PB
+ TB
+ TB
+ day(s)
+ day(s)
+ hour(s)
+ hour(s)
+ kB
+ kB
+ min
+ min
+ sec
+ sec
+%x / %y objects deleted successfully
+%x / %y objects deleted successfully
+%x Percent
+%x Percent
+%x directories
+%x directories
+%x files,
+%x files,
+%x is not a valid FreeFileSync batch file!
+%x is not a valid FreeFileSync batch file!
+%x of %y rows in view
+%x of %y rows in view
+%x of 1 row in view
+%x of 1 row in view
+&Abort
+&Abort
+&About...
+&About...
+&Advanced
+&Advanced
+&Cancel
+&Cancel
+&Check for new version
+&Check for new version
+&Content
+&Content
+&Create batch job...
+&Create batch job...
+&Default
+&Default
+&Exit
+&Exit
+&Export file list...
+&Export file list...
+&File
+&File
+&Find next
+&Find next
+&Global settings...
+&Global settings...
+&Help
+&Help
+&Ignore
+&Ignore
+&Language
+&Language
+&Load
+&Load
+&Load configuration...
+&Load configuration...
+&New
+&New
+&No
+&No
+&OK
+&OK
+&Pause
+&Pause
+&Quit
+&Quit
+&Restore
+&Restore
+&Retry
+&Retry
+&Save
+&Save
+&Yes
+&Yes
+(Note that only FAT/FAT32 drives are affected by this problem!\nIn all other cases you can disable the setting \"ignore 1-hour difference\".)
+(Note that only FAT/FAT32 drives are affected by this problem!\nIn all other cases you can disable the setting \"ignore 1-hour difference\".)
+(Requires an Internet connection!)
+(Requires an Internet connection!)
+,
+,
+- Other side's counterpart to %dir
+- Other side's counterpart to %dir
+- Other side's counterpart to %name
+- Other side's counterpart to %name
+- conflict
+- conflict
+- conflict (same date, different size)
+- conflict (same date, different size)
+- different
+- different
+- directory part only
+- directory part only
+- equal
+- equal
+- exists left only
+- exists left only
+- exists right only
+- exists right only
+- full file or directory name
+- full file or directory name
+- left
+- left
+- left newer
+- left newer
+- right
+- right
+- right newer
+- right newer
+-Open-Source file synchronization-
+-Open-Source file synchronisation-
+.
+.
+/sec
+/sec
+1 directory
+1 directory
+1 file,
+1 file,
+1. &Compare
+1. &Compare
+1. Enter relative file or directory names separated by ';' or a new line.
+1. Enter relative file or directory names separated by ';' or a new line.
+1. Select directories to monitor.
+1. Select directories to monitor.
+2. &Synchronize...
+2. &Synchronise...
+2. Enter a command line.
+2. Enter a command line.
+2. Use wildcard characters '*' and '?'.
+2. Use wildcard characters '*' and '?'.
+3. Exclude files directly on main grid via context menu.
+3. Exclude files directly on main grid via context menu.
+3. Press 'Start'.
+3. Press 'Start'.
+<Automatic>
+<Automatic>
+<Directory>
+<Directory>
+<Last session>
+<Last session>
+<multiple selection>
+<multiple selection>
+A newer version of FreeFileSync is available:
+A newer version of FreeFileSync is available:
+Abort requested: Waiting for current operation to finish...
+Abort requested: Waiting for current operation to finish...
+Abort synchronization immediately
+Abort synchronisation immediately
+Aborted
+Aborted
+About
+About
+Action
+Action
+Activate filter
+Activate filter
+Add folder
+Add folder
+Add folder pair
+Add folder pair
+All directories in sync!
+All directories in sync!
+An exception occured!
+An exception occured!
+As a result the files are separated into the following categories:
+As a result the files are separated into the following categories:
+As the name suggests, two files which share the same name are marked as equal if and only if they have the same content. This option is useful for consistency checks rather than backup operations. Therefore the file times are not taken into account at all.\n\nWith this option enabled the decision tree is smaller:
+As the name suggests, two files which share the same name are marked as equal if and only if they have the same content. This option is useful for consistency checks rather than backup operations. Therefore the file times are not taken into account at all.\n\nWith this option enabled the decision tree is smaller:
+Assemble a batch file for automated synchronization. To start in batch mode simply pass the name of the file to the FreeFileSync executable: FreeFileSync.exe <batchfile>. This can also be scheduled in your operating system's task planner.
+Assemble a batch file for automated synchronisation. To start in batch mode simply pass the name of the file to the FreeFileSync executable: FreeFileSync.exe <batchfile>. This can also be scheduled in your operating system's task planner.
+At least one directory input field is empty.
+At least one directory input field is empty.
+Auto-adjust columns
+Auto-adjust columns
+Automatic mode
+Automatic mode
+Batch execution
+Batch execution
+Batch file created successfully!
+Batch file created successfully!
+Batch job
+Batch job
+Big thanks for localizing FreeFileSync goes out to:
+Big thanks for localising FreeFileSync goes out to:
+Both sides have changed since last synchronization!
+Both sides have changed since last synchronisation!
+Browse
+Browse
+Build:
+Build:
+Cannot determine sync-direction:
+Cannot determine sync-direction:
+Cannot find %x
+Cannot find %x
+Category
+Category
+Comma separated list
+Comma separated list
+Command line
+Command line
+Command line is empty!
+Command line is empty!
+Compare
+Compare
+Compare both sides
+Compare both sides
+Compare by \"File content\"
+Compare by \"File content\"
+Compare by \"File size and date\"
+Compare by \"File size and date\"
+Compare by...
+Compare by...
+Comparing content
+Comparing content
+Comparing content of files %x
+Comparing content of files %x
+Comparing content...
+Comparing content...
+Comparing files by content failed.
+Comparing files by content failed.
+Comparison Result
+Comparison Result
+Comparison settings
+Comparison settings
+Completed
+Completed
+Configuration
+Configuration
+Configuration loaded!
+Configuration loaded!
+Configuration overview:
+Configuration overview:
+Configuration saved!
+Configuration saved!
+Configure filter
+Configure filter
+Configure your own synchronization rules.
+Configure your own synchronisation rules.
+Confirm
+Confirm
+Conflict detected:
+Conflict detected:
+Conflicts/files that cannot be categorized
+Conflicts/files that cannot be categorised
+Continue
+Continue
+Conversion error:
+Conversion error:
+Copy from left to right
+Copy from left to right
+Copy from left to right overwriting
+Copy from left to right overwriting
+Copy from right to left
+Copy from right to left
+Copy from right to left overwriting
+Copy from right to left overwriting
+Copy locked files
+Copy locked files
+Copy new or updated files to right folder.
+Copy new or updated files to right folder.
+Copy shared or locked files using Volume Shadow Copy Service
+Copy shared or locked files using Volume Shadow Copy Service
+Copy to clipboard\tCTRL+C
+Copy to clipboard\tCTRL+C
+Copying file %x to %y
+Copying file %x to %y
+Copying file %x to %y overwriting target
+Copying file %x to %y overwriting target
+Could not determine volume name for file:
+Could not determine volume name for file:
+Could not initialize directory monitoring:
+Could not initialise directory monitoring:
+Could not load a required DLL:
+Could not load a required DLL:
+Could not read values for the following XML nodes:
+Could not read values for the following XML nodes:
+Create a batch job
+Create a batch job
+Creating folder %x
+Creating folder %x
+Current operation:
+Current operation:
+Custom
+Custom
+Customize columns
+Customise columns
+Customize...
+Customise...
+D-Click
+D-Click
+DECISION TREE
+DECISION TREE
+Data remaining:
+Data remaining:
+Data transferred:
+Data transferred:
+Data verification error: Source and target file have different content!
+Data verification error: Source and target file have different content!
+Date
+Date
+Delay
+Delay
+Delay between detection of changes and execution of command line in seconds
+Delay between detection of changes and execution of command line in seconds
+Delete files/folders existing on left side only
+Delete files/folders existing on left side only
+Delete files/folders existing on right side only
+Delete files/folders existing on right side only
+Delete files\tDEL
+Delete files\tDEL
+Delete on both sides
+Delete on both sides
+Delete on both sides even if the file is selected on one side only
+Delete on both sides even if the file is selected on one side only
+Delete or overwrite files permanently
+Delete or overwrite files permanently
+Delete permanently
+Delete permanently
+Deleting file %x
+Deleting file %x
+Deleting folder %x
+Deleting folder %x
+Deletion handling
+Deletion handling
+Description
+Description
+Directories are dependent! Be careful when setting up synchronization rules:
+Directories are dependent! Be careful when setting up synchronisation rules:
+Directories to watch
+Directories to watch
+Directory
+Directory
+Directory does not exist:
+Directory does not exist:
+Do not show this dialog again
+Do not show this dialogue again
+Do nothing
+Do nothing
+Do you really want to delete the following objects(s)?
+Do you really want to delete the following objects(s)?
+Do you really want to move the following objects(s) to the Recycle Bin?
+Do you really want to move the following objects(s) to the Recycle Bin?
+Do you want FreeFileSync to automatically check for updates every week?
+Do you want FreeFileSync to automatically check for updates every week?
+Donate with PayPal
+Donate with PayPal
+Download now?
+Download now?
+Drag && drop
+Drag && drop
+Email
+E-mail
+Enable filter to exclude files from synchronization
+Enable filter to exclude files from synchronisation
+Endless loop when traversing directory:
+Endless loop when traversing directory:
+Error
+Error
+Error changing modification time:
+Error changing modification time:
+Error copying file:
+Error copying file:
+Error copying locked file %x!
+Error copying locked file %x!
+Error copying symbolic link:
+Error copying symbolic link:
+Error creating directory:
+Error creating directory:
+Error deleting directory:
+Error deleting directory:
+Error deleting file:
+Error deleting file:
+Error handling
+Error handling
+Error loading library function:
+Error loading library function:
+Error moving directory:
+Error moving directory:
+Error moving file:
+Error moving file:
+Error moving to Recycle Bin:
+Error moving to Recycle Bin:
+Error opening file:
+Error opening file:
+Error parsing configuration file:
+Error parsing configuration file:
+Error reading file attributes:
+Error reading file attributes:
+Error reading file:
+Error reading file:
+Error reading from synchronization database:
+Error reading from synchronisation database:
+Error resolving symbolic link:
+Error resolving symbolic link:
+Error starting Volume Shadow Copy Service!
+Error starting Volume Shadow Copy Service!
+Error traversing directory:
+Error traversing directory:
+Error when monitoring directories.
+Error when monitoring directories.
+Error writing file attributes:
+Error writing file attributes:
+Error writing file:
+Error writing file:
+Error writing to synchronization database:
+Error writing to synchronisation database:
+Example
+Example
+Exclude
+Exclude
+Exclude all rows
+Exclude all rows
+Exclude temporarily
+Exclude temporarily
+Exclude via filter:
+Exclude via filter:
+Exit instantly
+Exit instantly
+Extension
+Extension
+External applications
+External applications
+Fatal Error
+Fatal Error
+Feedback and suggestions are welcome at:
+Feedback and suggestions are welcome at:
+File %x has an invalid date!
+File %x has an invalid date!
+File already exists. Overwrite?
+File already exists. Overwrite?
+File content
+File content
+File does not exist:
+File does not exist:
+File list exported!
+File list exported!
+File size and date
+File size and date
+Filename
+Filename
+Files %x have a file time difference of less than 1 hour!\n\nIt's not safe to decide which one is newer due to Daylight Saving Time issues.
+Files %x have a file time difference of less than 1 hour!\n\nIt's not safe to decide which one is newer due to Daylight Saving Time issues.
+Files %x have the same date but a different size!
+Files %x have the same date but a different size!
+Files are found equal if\n - file content\nis the same
+Files are found equal if\n - file content\nis the same
+Files are found equal if\n - filesize\n - last write time and date\nare the same
+Files are found equal if\n - filesize\n - last write time and date\nare the same
+Files remaining:
+Files remaining:
+Files that are equal on both sides
+Files that are equal on both sides
+Files that exist on both sides and have different content
+Files that exist on both sides and have different content
+Files that exist on both sides, left one is newer
+Files that exist on both sides, left one is newer
+Files that exist on both sides, right one is newer
+Files that exist on both sides, right one is newer
+Files/folders found:
+Files/folders found:
+Files/folders processed:
+Files/folders processed:
+Files/folders remaining:
+Files/folders remaining:
+Files/folders that exist on left side only
+Files/folders that exist on left side only
+Files/folders that exist on right side only
+Files/folders that exist on right side only
+Filter
+Filter
+Filter files
+Filter files
+Filter has been selected
+Filter has been selected
+Filter settings have changed!
+Filter settings have changed!
+Filter view
+Filter view
+Filtering is deactivated
+Filtering is deactivated
+Find
+Find
+Find what:
+Find what:
+Folder Comparison and Synchronization
+Folder Comparison and Synchronisation
+Free disk space available:
+Free disk space available:
+FreeFileSync - Folder Comparison and Synchronization
+FreeFileSync - Folder Comparison and Synchronisation
+FreeFileSync Batch Job
+FreeFileSync Batch Job
+FreeFileSync at Sourceforge
+FreeFileSync at Sourceforge
+FreeFileSync batch file
+FreeFileSync batch file
+FreeFileSync configuration
+FreeFileSync configuration
+FreeFileSync is up to date!
+FreeFileSync is up to date!
+Full path
+Full path
+Generating database...
+Generating database...
+Generating file list...
+Generating file list...
+Global filter
+Global filter
+Global settings
+Global settings
+Help
+Help
+Hidden dialogs:
+Hidden dialogues:
+Hide all error and warning messages
+Hide all error and warning messages
+Hide conflicts
+Hide conflicts
+Hide excluded items
+Hide excluded items
+Hide files that are different
+Hide files that are different
+Hide files that are equal
+Hide files that are equal
+Hide files that are newer on left
+Hide files that are newer on left
+Hide files that are newer on right
+Hide files that are newer on right
+Hide files that exist on left side only
+Hide files that exist on left side only
+Hide files that exist on right side only
+Hide files that exist on right side only
+Hide files that will be created on the left side
+Hide files that will be created on the left side
+Hide files that will be created on the right side
+Hide files that will be created on the right side
+Hide files that will be deleted on the left side
+Hide files that will be deleted on the left side
+Hide files that will be deleted on the right side
+Hide files that will be deleted on the right side
+Hide files that will be overwritten on left side
+Hide files that will be overwritten on left side
+Hide files that will be overwritten on right side
+Hide files that will be overwritten on right side
+Hide files that won't be copied
+Hide files that won't be copied
+Hide filtered or temporarily excluded files
+Hide filtered or temporarily excluded files
+Hide further error messages during the current process
+Hide further error messages during the current process
+Hints:
+Hints:
+Homepage
+Homepage
+Identify and propagate changes on both sides using a database. Deletions and conflicts are detected automatically.
+Identify and propagate changes on both sides using a database. Deletions and conflicts are detected automatically.
+If you like FFS
+If you like FFS
+Ignore 1-hour file time difference
+Ignore 1-hour file time difference
+Ignore errors
+Ignore errors
+Ignore subsequent errors
+Ignore subsequent errors
+Ignore this error, retry or abort synchronization?
+Ignore this error, retry or abort synchronisation?
+Ignore this error, retry or abort?
+Ignore this error, retry or abort?
+Include
+Include
+Include all rows
+Include all rows
+Include temporarily
+Include temporarily
+Include: *.doc;*.zip;*.exe\nExclude: \\stuff\\temp\\*
+Include: *.doc;*.zip;*.exe\nExclude: \\stuff\\temp\\*
+Incompatible synchronization database format:
+Incompatible synchronisation database format:
+Info
+Info
+Information
+Information
+Initial synchronization:
+Initial synchronisation:
+Integrate external applications into context menu. The following macros are available:
+Integrate external applications into context menu. The following macros are available:
+Last synchronization not completed!
+Last synchronisation not completed!
+Leave as unresolved conflict
+Leave as unresolved conflict
+Left
+Left
+Legend
+Legend
+Load configuration from file
+Load configuration from file
+Load configuration history (press DEL to delete items)
+Load configuration history (press DEL to delete items)
+Local filter
+Local filter
+Log-messages:
+Log-messages:
+Logging
+Logging
+Making shadow copies on WOW64 is not supported. Please use FreeFileSync 64-bit version.
+Making shadow copies on WOW64 is not supported. Please use FreeFileSync 64-bit version.
+Match case
+Match case
+Mirror ->>
+Mirror ->>
+Mirror backup of left folder: Right folder will be overwritten and exactly match left folder after synchronization.
+Mirror backup of left folder: Right folder will be overwritten and exactly match left folder after synchronisation.
+Monitoring active...
+Monitoring active...
+More than 50% of the total number of files will be copied or deleted!
+More than 50% of the total number of files will be copied or deleted!
+Move column down
+Move column down
+Move column up
+Move column up
+Move files into a time-stamped subdirectory
+Move files into a time-stamped subdirectory
+Moving %x to Recycle Bin
+Moving %x to Recycle Bin
+Moving file %x to user-defined directory %y
+Moving file %x to user-defined directory %y
+Moving folder %x to user-defined directory %y
+Moving folder %x to user-defined directory %y
+Multiple...
+Multiple...
+No change since last synchronization!
+No change since last synchronisation!
+No filter selected
+No filter selected
+Not enough free disk space available in:
+Not enough free disk space available in:
+Nothing to synchronize according to configuration!
+Nothing to synchronise according to configuration!
+Number of files and directories that will be created
+Number of files and directories that will be created
+Number of files and directories that will be deleted
+Number of files and directories that will be deleted
+Number of files that will be overwritten
+Number of files that will be overwritten
+One of the FreeFileSync database entries within the following file is not yet existing:
+One of the FreeFileSync database entries within the following file is not yet existing:
+One of the FreeFileSync database files is not yet existing:
+One of the FreeFileSync database files is not yet existing:
+Only files/directories that pass filtering will be selected for synchronization. The filter will be applied to the name relative(!) to the base synchronization directories.
+Only files/directories that pass filtering will be selected for synchronisation. The filter will be applied to the name relative(!) to the base synchronisation directories.
+Open directly
+Open directly
+Open with Explorer
+Open with Explorer
+Open with Konqueror
+Open with Konqueror
+Operation aborted!
+Operation aborted!
+Operation:
+Operation:
+Overview
+Overview
+Pause
+Pause
+Paused
+Paused
+Please run a Compare first before synchronizing!
+Please run a Compare first before synchronising!
+Processing folder pair:
+Processing folder pair:
+Published under the GNU General Public License:
+Published under the GNU General Public Licence:
+Question
+Question
+Quit
+Quit
+Re-enable all hidden dialogs?
+Re-enable all hidden dialogues?
+RealtimeSync - Automated Synchronization
+RealtimeSync - Automated Synchronisation
+RealtimeSync configuration
+RealtimeSync configuration
+Recycle Bin not yet supported for this system!
+Recycle Bin not yet supported for this system!
+Relative path
+Relative path
+Remove alternate settings
+Remove alternate settings
+Remove folder
+Remove folder
+Remove folder pair
+Remove folder pair
+Remove local filter settings
+Remove local filter settings
+Renaming file %x to %y
+Renaming file %x to %y
+Report translation error
+Report translation error
+Reset
+Reset
+Right
+Right
+Run minimized and write status information to a logfile
+Run minimised and write status information to a logfile
+S&ave configuration...
+S&ave configuration...
+S&witch view
+S&witch view
+Save changes to current configuration?
+Save changes to current configuration?
+Save current configuration to file
+Save current configuration to file
+Scanning...
+Scanning...
+Scanning:
+Scanning:
+Select a folder
+Select a folder
+Select alternate synchronization settings
+Select alternate synchronisation settings
+Select logfile directory:
+Select logfile directory:
+Select variant:
+Select variant:
+Set direction:
+Set direction:
+Setting default synchronization directions: Old files will be overwritten by newer files.
+Setting default synchronisation directions: Old files will be overwritten by newer files.
+Show conflicts
+Show conflicts
+Show files that are different
+Show files that are different
+Show files that are equal
+Show files that are equal
+Show files that are newer on left
+Show files that are newer on left
+Show files that are newer on right
+Show files that are newer on right
+Show files that exist on left side only
+Show files that exist on left side only
+Show files that exist on right side only
+Show files that exist on right side only
+Show files that will be created on the left side
+Show files that will be created on the left side
+Show files that will be created on the right side
+Show files that will be created on the right side
+Show files that will be deleted on the left side
+Show files that will be deleted on the left side
+Show files that will be deleted on the right side
+Show files that will be deleted on the right side
+Show files that will be overwritten on left side
+Show files that will be overwritten on left side
+Show files that will be overwritten on right side
+Show files that will be overwritten on right side
+Show files that won't be copied
+Show files that won't be copied
+Show hidden dialogs
+Show hidden dialogues
+Show popup
+Show popup
+Show popup on errors or warnings
+Show popup on errors or warnings
+Significant difference detected:
+Significant difference detected:
+Silent mode
+Silent mode
+Size
+Size
+Source code written completely in C++ utilizing:
+Source code written completely in C++ utilising:
+Source directory does not exist anymore:
+Source directory does not exist anymore:
+Speed:
+Speed:
+Start
+Start
+Start synchronization
+Start synchronisation
+Statistics
+Statistics
+Stop
+Stop
+Swap sides
+Swap sides
+Synchronization Preview
+Synchronisation Preview
+Synchronization aborted!
+Synchronisation aborted!
+Synchronization completed successfully!
+Synchronisation completed successfully!
+Synchronization completed with errors!
+Synchronisation completed with errors!
+Synchronization settings
+Synchronisation settings
+Synchronization status
+Synchronisation status
+Synchronize all .doc, .zip and .exe files except everything in subfolder \"temp\".
+Synchronise all .doc, .zip and .exe files except everything in subfolder \"temp\".
+Synchronize both sides using a database. Deletions are detected automatically
+Synchronise both sides using a database. Deletions are detected automatically
+Synchronize...
+Synchronise...
+Synchronizing...
+Synchronising...
+System out of memory!
+System out of memory!
+Target directory already existing!
+Target directory already existing!
+Target file already existing!
+Target file already existing!
+The command line is executed each time:\n- a directory becomes available (e.g. USB stick insert)\n- files within these directories or subdirectories are modified
+The command line is executed each time:\n- a directory becomes available (e.g. USB stick insert)\n- files within these directories or subdirectories are modified
+The file does not contain a valid configuration:
+The file does not contain a valid configuration:
+This variant evaluates two equally named files as being equal when they have the same file size AND the same last write date and time.
+This variant evaluates two equally named files as being equal when they have the same file size AND the same last write date and time.
+Time
+Time
+Time elapsed:
+Time elapsed:
+Time remaining:
+Time remaining:
+Total amount of data that will be transferred
+Total amount of data that will be transferred
+Total required free disk space:
+Total required free disk space:
+Total time:
+Total time:
+Treat file times that differ by exactly +/- 1 hour as equal, less than 1 hour as conflict in order to handle Daylight Saving Time changes
+Treat file times that differ by exactly +/- 1 hour as equal, less than 1 hour as conflict in order to handle Daylight Saving Time changes
+Unable to connect to sourceforge.net!
+Unable to connect to sourceforge.net!
+Unable to create logfile!
+Unable to create logfile!
+Unresolved conflicts existing!
+Unresolved conflicts existing!
+Update ->
+Update ->
+Usage:
+Usage:
+Use Recycle Bin
+Use Recycle Bin
+Use Recycle Bin when deleting or overwriting files
+Use Recycle Bin when deleting or overwriting files
+User-defined directory
+User-defined directory
+User-defined directory for deletion was not specified!
+User-defined directory for deletion was not specified!
+Variant
+Variant
+Verifying file %x
+Verifying file %x
+Volume name %x not part of filename %y!
+Volume name %x not part of filename %y!
+Warning
+Warning
+Warning: Synchronization failed for %x item(s):
+Warning: Synchronisation failed for %x item(s):
+When the comparison is started with this option set the following decision tree is processed:
+When the comparison is started with this option set the following decision tree is processed:
+You can ignore conflicts and continue synchronization.
+You can ignore conflicts and continue synchronisation.
+You can ignore the error to consider not existing directories as empty.
+You can ignore the error to consider not existing directories as empty.
+You may try to synchronize remaining items again (WITHOUT having to re-compare)!
+You may try to synchronise remaining items again (WITHOUT having to re-compare)!
+different
+different
+file exists on both sides
+file exists on both sides
+on one side only
+on one side only
diff --git a/BUILD/Languages/german.lng b/BUILD/Languages/german.lng
index 0c8a3616..b6d8b800 100644
--- a/BUILD/Languages/german.lng
+++ b/BUILD/Languages/german.lng
@@ -22,8 +22,6 @@
Sek.
%x / %y objects deleted successfully
%x von %y Objekten erfolgreich gelöscht
-%x Percent
-%x Prozent
%x directories
%x Verzeichnisse
%x files,
@@ -34,6 +32,8 @@
%x von %y Zeilen zur Ansicht
%x of 1 row in view
%x von 1 Zeile zur Ansicht
+%x%
+
&Abort
&Abbrechen
&About...
@@ -92,8 +92,6 @@ Konfiguration &laden...
(Achtung: Nur FAT/FAT32 Laufwerke sind von diesem Problem betroffen!\nIn allen anderen Fällen kann die Einstellung \"Zeitunterschied von einer Stunde ignorieren\" deaktiviert werden.)
(Requires an Internet connection!)
(Eine Internetverbindung wird benötigt!)
-,
-.
- Other side's counterpart to %dir
- Entsprechung der anderen Seite zu %dir
- Other side's counterpart to %name
@@ -124,8 +122,6 @@ Konfiguration &laden...
- rechts neuer
-Open-Source file synchronization-
-Open-Source Datei-Synchronisation-
-.
-,
/sec
/s
1 directory
@@ -466,12 +462,14 @@ Files remaining:
Verbleibende Dateien:
Files that are equal on both sides
Auf beiden Seiten gleiche Dateien
-Files that exist on both sides and have different content
-Auf beiden Seiten existierende Dateien mit unterschiedlichem Inhalt
Files that exist on both sides, left one is newer
Auf beiden Seiten existierende Dateien; linke Datei ist neuer
Files that exist on both sides, right one is newer
Auf beiden Seiten existierende Dateien; rechte Datei ist neuer
+Files that exist on both sides and have different content
+Auf beiden Seiten existierende Dateien mit unterschiedlichem Inhalt
+Files that have different content
+
Files/folders found:
Gefundene Dateien/Ordner:
Files/folders processed:
diff --git a/BUILD/Languages/portuguese.lng b/BUILD/Languages/portuguese.lng
index 30ea57f6..d9176ab3 100644
--- a/BUILD/Languages/portuguese.lng
+++ b/BUILD/Languages/portuguese.lng
@@ -22,8 +22,6 @@
seg
%x / %y objects deleted successfully
%x / %y objectos eliminados com sucesso
-%x Percent
-%x Por cento
%x directories
%x pastas
%x files,
@@ -34,6 +32,8 @@
%x de %y ficheiros
%x of 1 row in view
%x de 1 linha
+%x%
+
&Abort
&Abortar
&About...
@@ -45,7 +45,7 @@
&Check for new version
&Procurar actualizações
&Content
-
+&Conteúdo
&Create batch job...
&Criar um ficheiro batch...
&Default
@@ -57,7 +57,7 @@
&File
&Ficheiro
&Find next
-
+&Procurar seguinte
&Global settings...
&Opções......
&Help
@@ -91,9 +91,7 @@
(Note that only FAT/FAT32 drives are affected by this problem!\nIn all other cases you can disable the setting \"ignore 1-hour difference\".)
(Apenas as drives FAT/FAT32 são afectadas por este problema! \nPara todas as outras situações pode desactivar a opção \"ignorar diferença de 1 hora\".)
(Requires an Internet connection!)
-
-,
-
+(Necessita acesso à Internet!)
- Other side's counterpart to %dir
- Contrapartida de %dir
- Other side's counterpart to %name
@@ -122,10 +120,6 @@
- direita
- right newer
- mais novo à direita
--Open-Source file synchronization-
--Sincronização open-source de ficheiros-
-.
-,
/sec
/seg
1 directory
@@ -137,17 +131,17 @@
1. Enter relative file or directory names separated by ';' or a new line.
1. Inserir caminho(s) do(s) ficheiro(s) ou pasta(s) separados por ';' ou numa nova linha.
1. Select directories to monitor.
-
+1. Seleccionar directórios a monitorizar.
2. &Synchronize...
2. &Sincronizar...
2. Enter a command line.
-
+2. Insira linha de comando.
2. Use wildcard characters '*' and '?'.
2. Usar '*' e '?' como caracteres de procura.
3. Exclude files directly on main grid via context menu.
3. Excluir ficheiros directamente da grelha através do menu de contexto.
3. Press 'Start'.
-
+3. Pressione 'Iniciar'.
<Automatic>
<Automático>
<Directory>
@@ -161,7 +155,7 @@ Mais recente versão do FreeFileSync disponível:
Abort requested: Waiting for current operation to finish...
Abortar pedido: À espera do fim da operação...
Abort synchronization immediately
-
+Abortar sincronização imediatamente
Aborted
Abortado
About
@@ -169,13 +163,13 @@ Sobre
Action
Acção
Activate filter
-
+Activar filtro
Add folder
Adicionar pasta
Add folder pair
Adicionar um par de pastas
All directories in sync!
-
+Todas as pastas sincronizadas!
An exception occured!
Ocorreu uma excepção!
As a result the files are separated into the following categories:
@@ -185,7 +179,7 @@ Como o nome sugere, dois ficheiros com o mesmo nome são assinalados iguais se e
Assemble a batch file for automated synchronization. To start in batch mode simply pass the name of the file to the FreeFileSync executable: FreeFileSync.exe <batchfile>. This can also be scheduled in your operating system's task planner.
Criar um batch para sincronização automática. Para iniciar o modo batch, passar o nome do ficheiro para o executável do FreeFileSync: FreeFileSync.exe <ficheiro batch>. Também pode ser calendarizado no programador de tarefas.
At least one directory input field is empty.
-
+Pelo menos um dos campos está vazio.
Auto-adjust columns
Auto ajustar colunas
Automatic mode
@@ -205,9 +199,9 @@ Procurar
Build:
Criado:
Cannot determine sync-direction:
-
+Não é possível saber a direcção de sincronização:
Cannot find %x
-
+Não é possível descobrir %x
Category
Categoria
Comma separated list
@@ -215,7 +209,7 @@ Lista de itens separados por virgula
Command line
Linha de comandos
Command line is empty!
-
+Linha de comandos vazia!
Compare
Comparar
Compare both sides
@@ -271,11 +265,11 @@ Copiar da direita para a esquerda
Copy from right to left overwriting
Copiar da direita para a esquerda com sobreposição
Copy locked files
-
+Copiar ficheiros bloqueados
Copy new or updated files to right folder.
Copiar ficheiros novos ou actualizados para a direita
Copy shared or locked files using Volume Shadow Copy Service
-
+Copiar ficheiros partilhados ou bloqueados usando o serviço Volume Shadow Copy
Copy to clipboard\tCTRL+C
Copiar para a Ãrea de transferência\tCTRL+C
Copying file %x to %y
@@ -287,7 +281,7 @@ Não é possível determinar o nome do volume para o ficheiro:
Could not initialize directory monitoring:
Não é possível iniciar monitorização do directório:
Could not load a required DLL:
-
+Não foi possível carregar a DLL:
Could not read values for the following XML nodes:
Não foi possível ler os valores dos seguintes nós XML:
Create a batch job
@@ -309,7 +303,7 @@ DECISION TREE
Data remaining:
Dados em falta:
Data transferred:
-
+Dados transferidos:
Data verification error: Source and target file have different content!
Erro na verificação de dados: ficheiro fonte e de destino têm conteúdo diferente!
Date
@@ -379,7 +373,7 @@ Erro ao copiar ficheiro:
Error copying locked file %x!
Erro ao copiar ficheiro bloqueado %x!
Error copying symbolic link:
-
+Erro ao copiar o link:
Error creating directory:
Erro ao criar a pasta:
Error deleting directory:
@@ -425,19 +419,19 @@ Exemplo
Exclude
Excluir
Exclude all rows
-
+Excluir todas linhas
Exclude temporarily
Excluir temporariamente
Exclude via filter:
Excluir por filtro:
Exit instantly
-
+Sair imediatamente
Extension
-
+Extensão
External applications
Aplicações externas
Fatal Error
-
+Erro fatal
Feedback and suggestions are welcome at:
Comentários e sugestões são benvindos em:
File %x has an invalid date!
@@ -475,7 +469,7 @@ Ficheiros existentes dos dois lados, à direita é mais recente
Files/folders found:
Ficheiros/pastas encontrados:
Files/folders processed:
-
+Ficheiros/pastas processados:
Files/folders remaining:
Ficheiros/pastas restantes:
Files/folders that exist on left side only
@@ -487,17 +481,17 @@ Filtro
Filter files
Filtrar ficheiros
Filter has been selected
-
+Filtro seleccionado
Filter settings have changed!
-
+Opções de filtro alteradas!
Filter view
Filtrar vista
Filtering is deactivated
-
+Filtragem desactivada
Find
-
+Procurar
Find what:
-
+Procurar:
Folder Comparison and Synchronization
Comparação e Sincronização de pastas
Free disk space available:
@@ -521,7 +515,7 @@ A gerar base de dados...
Generating file list...
A gerar lista ficheiros...
Global filter
-
+Filtro global
Global settings
Opções
Help
@@ -533,7 +527,7 @@ Ocultar todas as mensagens de erro ou aviso
Hide conflicts
Ocultar conflitos
Hide excluded items
-
+Ocultar itens excluidos
Hide files that are different
Ocultar ficheiros diferentes
Hide files that are equal
@@ -561,7 +555,7 @@ Ocultar ficheiros a ser substituidos do lado direito
Hide files that won't be copied
Ocultar ficheiros que não serão copiados
Hide filtered or temporarily excluded files
-
+Ocultar ficheiros filtrados ou temporariamente excluidos
Hide further error messages during the current process
Ocultar próximas mensagens de erro durante este processo
Hints:
@@ -569,7 +563,7 @@ Dicas:
Homepage
Site
Identify and propagate changes on both sides using a database. Deletions and conflicts are detected automatically.
-
+Identificar e propagar as mudanças usando base de dados. Eliminações e conflitos serão detectados automaticamente.
If you like FFS
Se gosta do FreeFileSync
Ignore 1-hour file time difference
@@ -585,7 +579,7 @@ Ignorar erro, tentar de novo ou abortar?
Include
Incluir
Include all rows
-
+Incluir todas as linhas
Include temporarily
Incluir temporariamente
Include: *.doc;*.zip;*.exe\nExclude: \\stuff\\temp\\*
@@ -601,7 +595,7 @@ Sincronização inicial:
Integrate external applications into context menu. The following macros are available:
Integrar aplicações externas no menu de contexto. As seguintes macros estão disponíveis:
Last synchronization not completed!
-
+Última sincronização incompleta!
Leave as unresolved conflict
Deixar como conflito
Left
@@ -613,13 +607,13 @@ Carregar configuração do ficheiro
Load configuration history (press DEL to delete items)
Carregar histórico de configuração (pressione DEL para apagar itens)
Local filter
-
+Filtro local
Log-messages:
Log de mensagens:
Logging
A escrever em log
Making shadow copies on WOW64 is not supported. Please use FreeFileSync 64-bit version.
-
+Fazer cópias fantasma em WOW64 não é suportado. Por favor usar a versão 64-bit.
Match case
Mirror ->>
@@ -627,7 +621,7 @@ Espelhar ->>
Mirror backup of left folder: Right folder will be overwritten and exactly match left folder after synchronization.
Espelhar pasta da esquerda: A pasta da direita vai ser sobreposta e uma cópia exacta da pasta esquerda após sincronização.
Monitoring active...
-
+Monitorizar activo...
More than 50% of the total number of files will be copied or deleted!
Mais de 50% dos ficheiros vai ser copiado ou apagado!
Move column down
@@ -635,7 +629,7 @@ Mover coluna para baixo
Move column up
Mover coluna para cima
Move files into a time-stamped subdirectory
-
+Mover ficheiros para uma pasta com a data
Moving %x to Recycle Bin
A mover %x para a Reciclagem
Moving file %x to user-defined directory %y
@@ -645,9 +639,9 @@ A mover pasta %x para o directório %y
Multiple...
Multiplo...
No change since last synchronization!
-
+Não há alterações desde a sincronização!
No filter selected
-
+Nenhum filtro seleccionado
Not enough free disk space available in:
Não há espaço livre suficiente em:
Nothing to synchronize according to configuration!
@@ -659,9 +653,9 @@ Número de itens a ser eliminados
Number of files that will be overwritten
Número de ficheiros substituidos
One of the FreeFileSync database entries within the following file is not yet existing:
-
+Uma das entradas da base de dados dentro do seguinte ficheiro não existe:
One of the FreeFileSync database files is not yet existing:
-
+Um dos ficheiros da base de dados não existe:
Only files/directories that pass filtering will be selected for synchronization. The filter will be applied to the name relative(!) to the base synchronization directories.
Apenas ficheiros/directórios que passem o filtro serão seleccionados para sincronização. O filtro será aplicado ao nome relativo(!) ao directório base de sincronização.
Open directly
@@ -681,9 +675,9 @@ Pausa
Paused
Em pausa
Please run a Compare first before synchronizing!
-
+Use Comparar antes da primeira sincronização!
Processing folder pair:
-
+A processar o par do directorio:
Published under the GNU General Public License:
Publicado sobre GNU General Public License:
Question
@@ -697,7 +691,7 @@ RealtimeSync - Sincronização Automática
RealtimeSync configuration
Configuração do RealtimeSync
Recycle Bin not yet supported for this system!
-
+Reciclagem não é suportada para este sistema!
Relative path
Caminho
Remove alternate settings
@@ -707,9 +701,9 @@ Remover pasta(s)
Remove folder pair
Remover o par de pastas
Remove local filter settings
-
+Remover as opções de filtro local
Renaming file %x to %y
-
+Mudar o nome de %x para %y
Report translation error
Informar um erro de tradução
Reset
@@ -717,7 +711,7 @@ Reiniciar
Right
Direita
Run minimized and write status information to a logfile
-
+Minimizar o programa e enviar status para um ficheiro log
S&ave configuration...
G&uardar a configuração...
S&witch view
@@ -725,7 +719,7 @@ S&witch view
Save changes to current configuration?
Guardar alterações à configuração?
Save current configuration to file
-Guardar o corrente ficheiro de configuração
+Guardar o actual ficheiro de configuração
Scanning...
A pesquisar...
Scanning:
@@ -739,9 +733,9 @@ Seleccione directório para ficheiro log:
Select variant:
Seleccione uma variante:
Set direction:
-
+Escolher direcção:
Setting default synchronization directions: Old files will be overwritten by newer files.
-
+Escolher direcção de sincronização por defeito: Os ficheiros antigos serão substituídos pelos novos.
Show conflicts
Mostrar conflitos
Show files that are different
@@ -825,7 +819,7 @@ Directório de destino já existe!
Target file already existing!
Ficheiro de destino já existe!
The command line is executed each time:\n- a directory becomes available (e.g. USB stick insert)\n- files within these directories or subdirectories are modified
-
+Linha de comnados a executar sempre que: \n- um directorio fica disponível (i.e. pen USB)\n- ficheiros dentro deste directórios ou sub-directórios forem alterados
The file does not contain a valid configuration:
O ficheiro não contém uma configuração válida:
This variant evaluates two equally named files as being equal when they have the same file size AND the same last write date and time.
@@ -849,11 +843,11 @@ Não é possível ligar a sourceforge.net!
Unable to create logfile!
Não é possível criar ficheiro log!
Unresolved conflicts existing!
-
+Existem conflitos por resolver!
Update ->
Actualizar ->
Usage:
-
+Uso:
Use Recycle Bin
Utilizar Reciclagem
Use Recycle Bin when deleting or overwriting files
@@ -875,7 +869,7 @@ Atenção: A sincronização falhou para %x item(s):
When the comparison is started with this option set the following decision tree is processed:
Usar a seguinte árvore de decisão quando inicia com estas opções de comparação:
You can ignore conflicts and continue synchronization.
-
+Pode ignorar os conflitos e continuar a sincronização.
You can ignore the error to consider not existing directories as empty.
Pode ignorar o erro para considerar directórios não existentes como vazios.
You may try to synchronize remaining items again (WITHOUT having to re-compare)!
diff --git a/BUILD/Resources.dat b/BUILD/Resources.dat
index cd781a2b..c91fcd23 100644
--- a/BUILD/Resources.dat
+++ b/BUILD/Resources.dat
Binary files differ
diff --git a/Cleanup.cmd b/Cleanup.cmd
index b570fa15..cd3c2110 100644
--- a/Cleanup.cmd
+++ b/Cleanup.cmd
@@ -32,6 +32,7 @@ del BUILD\FreeFileSync_x64.exe
del BUILD\RealtimeSync.exe
del BUILD\RealtimeSync_Win32.exe
del BUILD\RealtimeSync_x64.exe
+del BUILD\gmon.out
del library\ShadowCopy\ShadowCopy.ncb
attrib library\ShadowCopy\ShadowCopy.suo -h
@@ -51,3 +52,7 @@ attrib library\Recycler\Recycler_Vista.suo -h
del library\Recycler\Recycler_Vista.suo
del library\Recycler\Recycler_Vista.vcproj.*.user
del library\Recycler\Test.vcproj.*.user
+
+attrib library\Taskbar_Seven\Taskbar_Seven.suo -h
+del library\Taskbar_Seven\Taskbar_Seven.suo
+del library\Taskbar_Seven\Taskbar_Seven.vcproj.*.user
diff --git a/FreeFileSync.cbp b/FreeFileSync.cbp
index f21e35ea..968ad8a1 100644
--- a/FreeFileSync.cbp
+++ b/FreeFileSync.cbp
@@ -82,6 +82,33 @@
<Add library="libwxzlibd.a" />
</Linker>
</Target>
+ <Target title="Performance Test">
+ <Option output="BUILD\FreeFileSync" prefix_auto="1" extension_auto="1" />
+ <Option working_dir="BUILD\" />
+ <Option object_output="OBJ\Release_FFS_GCC\" />
+ <Option type="0" />
+ <Option compiler="gcc" />
+ <Option projectLinkerOptionsRelation="2" />
+ <Compiler>
+ <Add option="-O3" />
+ <Add option="-pg" />
+ <Add option="-g" />
+ <Add option="-DNDEBUG" />
+ <Add directory="C:\Programme\C++\wxWidgets\lib\gcc_lib\mswu" />
+ </Compiler>
+ <ResourceCompiler>
+ <Add directory="C:\Programme\C++\wxWidgets\lib\gcc_lib\mswu" />
+ </ResourceCompiler>
+ <Linker>
+ <Add option="-pg -lgmon" />
+ <Add library="libwxmsw28u_adv.a" />
+ <Add library="libwxmsw28u_core.a" />
+ <Add library="libwxbase28u.a" />
+ <Add library="libwxpng.a" />
+ <Add library="libwxzlib.a" />
+ <Add library="libwxbase28u_net.a" />
+ </Linker>
+ </Target>
</Build>
<Compiler>
<Add option="-Wshadow" />
@@ -132,6 +159,7 @@
<Unit filename="application.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="application.h">
<Option target="&lt;{~None~}&gt;" />
@@ -147,18 +175,27 @@
<Unit filename="library\customGrid.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="library\customGrid.h">
<Option target="&lt;{~None~}&gt;" />
</Unit>
+ <Unit filename="library\dbFile.cpp" />
+ <Unit filename="library\dbFile.h">
+ <Option target="Debug" />
+ <Option target="Release" />
+ <Option target="Performance Test" />
+ </Unit>
<Unit filename="library\detectRenaming.h" />
<Unit filename="library\errorLogging.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="library\errorLogging.h">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="library\filter.cpp" />
<Unit filename="library\filter.h">
@@ -188,10 +225,12 @@
<Unit filename="library\iconBuffer.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="library\iconBuffer.h">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="library\multithreading.cpp">
<Option target="Unit Test" />
@@ -210,9 +249,12 @@
<Unit filename="library\resources.h">
<Option target="&lt;{~None~}&gt;" />
</Unit>
+ <Unit filename="library\softFilter.cpp" />
+ <Unit filename="library\softFilter.h" />
<Unit filename="library\statistics.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="library\statistics.h">
<Option target="&lt;{~None~}&gt;" />
@@ -225,50 +267,61 @@
<Option compilerVar="WINDRES" />
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="shared\Recycler.h" />
<Unit filename="shared\appMain.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="shared\appMain.h">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="shared\buildInfo.h" />
<Unit filename="shared\customButton.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="shared\customButton.h">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="shared\customComboBox.cpp" />
<Unit filename="shared\customComboBox.h" />
<Unit filename="shared\customTooltip.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="shared\customTooltip.h">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="shared\dllLoader.cpp" />
<Unit filename="shared\dllLoader.h" />
<Unit filename="shared\dragAndDrop.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="shared\dragAndDrop.h">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="shared\fileError.h" />
<Unit filename="shared\fileHandling.cpp" />
<Unit filename="shared\fileHandling.h" />
<Unit filename="shared\fileID.cpp" />
<Unit filename="shared\fileID.h" />
+ <Unit filename="shared\fileIO.cpp" />
+ <Unit filename="shared\fileIO.h" />
<Unit filename="shared\fileTraverser.cpp" />
<Unit filename="shared\fileTraverser.h" />
<Unit filename="shared\globalFunctions.cpp" />
@@ -278,10 +331,12 @@
<Unit filename="shared\helpProvider.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="shared\helpProvider.h">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="shared\localization.cpp" />
<Unit filename="shared\localization.h" />
@@ -300,6 +355,16 @@
<Unit filename="shared\systemConstants.h" />
<Unit filename="shared\systemFunctions.cpp" />
<Unit filename="shared\systemFunctions.h" />
+ <Unit filename="shared\taskbar.cpp">
+ <Option target="Debug" />
+ <Option target="Release" />
+ <Option target="Performance Test" />
+ </Unit>
+ <Unit filename="shared\taskbar.h">
+ <Option target="Debug" />
+ <Option target="Release" />
+ <Option target="Performance Test" />
+ </Unit>
<Unit filename="shared\tinyxml\tinystr.cpp" />
<Unit filename="shared\tinyxml\tinyxml.cpp" />
<Unit filename="shared\tinyxml\tinyxmlerror.cpp" />
@@ -307,11 +372,15 @@
<Unit filename="shared\toggleButton.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="shared\toggleButton.h">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
+ <Unit filename="shared\util.cpp" />
+ <Unit filename="shared\util.h" />
<Unit filename="shared\xmlBase.cpp" />
<Unit filename="shared\xmlBase.h" />
<Unit filename="shared\zstring.cpp" />
@@ -327,11 +396,13 @@
<Unit filename="ui\batchStatusHandler.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="ui\batchStatusHandler.h" />
<Unit filename="ui\checkVersion.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="ui\checkVersion.h">
<Option target="&lt;{~None~}&gt;" />
@@ -339,10 +410,12 @@
<Unit filename="ui\folderPair.h">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="ui\gridView.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="ui\gridView.h">
<Option target="&lt;{~None~}&gt;" />
@@ -350,6 +423,7 @@
<Unit filename="ui\guiGenerated.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="ui\guiGenerated.h">
<Option target="&lt;{~None~}&gt;" />
@@ -357,6 +431,7 @@
<Unit filename="ui\guiStatusHandler.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="ui\guiStatusHandler.h">
<Option target="&lt;{~None~}&gt;" />
@@ -364,6 +439,7 @@
<Unit filename="ui\mainDialog.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="ui\mainDialog.h">
<Option target="&lt;{~None~}&gt;" />
@@ -371,6 +447,7 @@
<Unit filename="ui\messagePopup.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="ui\messagePopup.h" />
<Unit filename="ui\mouseMoveWindow.cpp" />
@@ -378,16 +455,19 @@
<Unit filename="ui\progressIndicator.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="ui\progressIndicator.h" />
<Unit filename="ui\search.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="ui\search.h" />
<Unit filename="ui\settingsDialog.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="ui\settingsDialog.h">
<Option target="&lt;{~None~}&gt;" />
@@ -395,6 +475,7 @@
<Unit filename="ui\smallDialogs.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="ui\smallDialogs.h">
<Option target="&lt;{~None~}&gt;" />
@@ -405,9 +486,9 @@
<Unit filename="ui\trayIcon.cpp">
<Option target="Debug" />
<Option target="Release" />
+ <Option target="Performance Test" />
</Unit>
<Unit filename="ui\trayIcon.h" />
- <Unit filename="ui\util.cpp" />
<Unit filename="ui\util.h" />
<Extensions>
<code_completion />
diff --git a/FreeFileSync.vcproj b/FreeFileSync.vcproj
index fa01bd2b..7846fec1 100644
--- a/FreeFileSync.vcproj
+++ b/FreeFileSync.vcproj
@@ -50,11 +50,13 @@
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
- UsePrecompiledHeader="0"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="$(ProjectDir)library\pch.h"
WarningLevel="4"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
- DisableSpecificWarnings="4804;4100"
+ DisableSpecificWarnings="4100"
+ ForcedIncludeFiles="$(ProjectDir)library/pch.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -136,11 +138,13 @@
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
- UsePrecompiledHeader="0"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="$(ProjectDir)library\pch.h"
WarningLevel="4"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
- DisableSpecificWarnings="4804;4100"
+ DisableSpecificWarnings="4100"
+ ForcedIncludeFiles="$(ProjectDir)library/pch.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -224,7 +228,7 @@
UsePrecompiledHeader="0"
WarningLevel="4"
DebugInformationFormat="3"
- DisableSpecificWarnings="4804;4100"
+ DisableSpecificWarnings="4100"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -309,7 +313,7 @@
WarningLevel="4"
SuppressStartupBanner="false"
DebugInformationFormat="3"
- DisableSpecificWarnings="4804;4100"
+ DisableSpecificWarnings="4100"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -411,6 +415,10 @@
>
</File>
<File
+ RelativePath=".\library\dbFile.cpp"
+ >
+ </File>
+ <File
RelativePath=".\shared\dllLoader.cpp"
>
</File>
@@ -435,6 +443,10 @@
>
</File>
<File
+ RelativePath=".\shared\fileIO.cpp"
+ >
+ </File>
+ <File
RelativePath=".\shared\fileTraverser.cpp"
>
</File>
@@ -559,6 +571,10 @@
</FileConfiguration>
</File>
<File
+ RelativePath=".\library\softFilter.cpp"
+ >
+ </File>
+ <File
RelativePath=".\shared\standardPaths.cpp"
>
</File>
@@ -583,6 +599,10 @@
>
</File>
<File
+ RelativePath=".\shared\taskbar.cpp"
+ >
+ </File>
+ <File
RelativePath=".\shared\tinyxml\tinystr.cpp"
>
</File>
@@ -607,7 +627,7 @@
>
</File>
<File
- RelativePath=".\ui\util.cpp"
+ RelativePath=".\shared\util.cpp"
>
</File>
<File
diff --git a/Makefile b/Makefile
index 9b26c764..4aa455b4 100644
--- a/Makefile
+++ b/Makefile
@@ -16,7 +16,7 @@ FILE_LIST+=synchronization.cpp
FILE_LIST+=fileHierarchy.cpp
FILE_LIST+=application.cpp
FILE_LIST+=ui/guiGenerated.cpp
-FILE_LIST+=ui/util.cpp
+FILE_LIST+=shared/util.cpp
FILE_LIST+=ui/gridView.cpp
FILE_LIST+=ui/mainDialog.cpp
FILE_LIST+=ui/settingsDialog.cpp
@@ -36,6 +36,8 @@ FILE_LIST+=library/processXml.cpp
FILE_LIST+=library/statistics.cpp
FILE_LIST+=library/filter.cpp
FILE_LIST+=library/binary.cpp
+FILE_LIST+=library/dbFile.cpp
+FILE_LIST+=shared/fileIO.cpp
FILE_LIST+=shared/dragAndDrop.cpp
FILE_LIST+=shared/localization.cpp
FILE_LIST+=shared/guid.cpp
@@ -110,8 +112,8 @@ FreeFileSync: init removeBOM osspUUID $(DEP_LIST)
clean:
rm -rf OBJ
rm -f BUILD/$(APPNAME)
- cd shared/ossp_uuid && make clean
rm -f removeBOM
+ if [ -e shared/ossp_uuid/Makefile ]; then cd shared/ossp_uuid && make clean; fi
install:
if [ ! -d $(BINDIR) ] ; then mkdir -p $(BINDIR); fi
diff --git a/RealtimeSync/RealtimeSync.cbp b/RealtimeSync/RealtimeSync.cbp
index 6d5760fd..9a5d9f93 100644
--- a/RealtimeSync/RealtimeSync.cbp
+++ b/RealtimeSync/RealtimeSync.cbp
@@ -129,6 +129,7 @@
<Unit filename="..\shared\fileHandling.cpp" />
<Unit filename="..\shared\fileHandling.h" />
<Unit filename="..\shared\fileID.cpp" />
+ <Unit filename="..\shared\fileIO.cpp" />
<Unit filename="..\shared\fileTraverser.cpp" />
<Unit filename="..\shared\globalFunctions.cpp" />
<Unit filename="..\shared\globalFunctions.h" />
diff --git a/RealtimeSync/RealtimeSync.vcproj b/RealtimeSync/RealtimeSync.vcproj
index d84e8525..8d60d6ba 100644
--- a/RealtimeSync/RealtimeSync.vcproj
+++ b/RealtimeSync/RealtimeSync.vcproj
@@ -50,10 +50,12 @@
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
- UsePrecompiledHeader="0"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="$(ProjectDir)../library/pch.h"
WarningLevel="4"
DebugInformationFormat="4"
DisableSpecificWarnings="4804;4100"
+ ForcedIncludeFiles="$(ProjectDir)../library/pch.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -134,10 +136,12 @@
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
- UsePrecompiledHeader="0"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="$(ProjectDir)../library/pch.h"
WarningLevel="4"
DebugInformationFormat="3"
DisableSpecificWarnings="4804;4100"
+ ForcedIncludeFiles="$(ProjectDir)../library/pch.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -388,6 +392,10 @@
>
</File>
<File
+ RelativePath="..\shared\fileIO.cpp"
+ >
+ </File>
+ <File
RelativePath="..\shared\fileTraverser.cpp"
>
</File>
diff --git a/RealtimeSync/mainDialog.cpp b/RealtimeSync/mainDialog.cpp
index ec53cd02..72b19a35 100644
--- a/RealtimeSync/mainDialog.cpp
+++ b/RealtimeSync/mainDialog.cpp
@@ -37,7 +37,6 @@ MainDialog::MainDialog(wxDialog *dlg,
m_bpButtonAddFolder->SetBitmapLabel(GlobalResources::getInstance().getImageByName(wxT("addFolderPair")));
m_bpButtonRemoveTopFolder->SetBitmapLabel(GlobalResources::getInstance().getImageByName(wxT("removeFolderPair")));
m_buttonStart->setBitmapFront(GlobalResources::getInstance().getImageByName(wxT("startRed")));
- m_buttonStart->SetFocus();
//register key event
Connect(wxEVT_CHAR_HOOK, wxKeyEventHandler(MainDialog::OnKeyPressed), NULL, this);
@@ -81,7 +80,6 @@ MainDialog::MainDialog(wxDialog *dlg,
setConfiguration(newConfig);
- m_buttonStart->SetFocus();
Fit();
Center();
@@ -90,6 +88,8 @@ MainDialog::MainDialog(wxDialog *dlg,
wxCommandEvent dummy2(wxEVT_COMMAND_BUTTON_CLICKED);
this->OnStart(dummy2);
}
+ else
+ m_buttonStart->SetFocus(); //don't "steal" focus if program is running from sys-tray"
}
diff --git a/RealtimeSync/makefile b/RealtimeSync/makefile
index 59e4a25e..8f42e2e3 100644
--- a/RealtimeSync/makefile
+++ b/RealtimeSync/makefile
@@ -34,6 +34,7 @@ FILE_LIST+=../shared/fileTraverser.cpp
FILE_LIST+=../shared/localization.cpp
FILE_LIST+=../shared/standardPaths.cpp
FILE_LIST+=../shared/helpProvider.cpp
+FILE_LIST+=../shared/fileIO.cpp
#list of all *.o files
OBJECT_LIST=$(foreach file, $(FILE_LIST), OBJ/$(subst .cpp,.o,$(notdir $(file))))
diff --git a/RealtimeSync/trayMenu.cpp b/RealtimeSync/trayMenu.cpp
index ff88a950..79076abd 100644
--- a/RealtimeSync/trayMenu.cpp
+++ b/RealtimeSync/trayMenu.cpp
@@ -9,24 +9,25 @@
#include <wx/taskbar.h>
#include <wx/app.h>
#include "resources.h"
-#include <memory>
+//#include <memory>
#include <wx/utils.h>
#include <wx/menu.h>
#include "watcher.h"
-#include <wx/timer.h>
#include <wx/utils.h>
#include <wx/log.h>
#include "../shared/staticAssert.h"
#include "../shared/buildInfo.h"
#include <wx/icon.h> //Linux needs this
+#include <wx/timer.h>
-class RtsTrayIcon;
+using namespace RealtimeSync;
-class WaitCallbackImpl : public RealtimeSync::WaitCallback
+class WaitCallbackImpl : private wxEvtHandler, public RealtimeSync::WaitCallback //keep this order: else VC++ generated wrong code
{
public:
WaitCallbackImpl();
+ ~WaitCallbackImpl();
virtual void requestUiRefresh();
@@ -35,156 +36,157 @@ public:
m_abortRequested = true;
}
- void requestResume()
+ void OnRequestResume(wxCommandEvent& event)
{
m_resumeRequested = true;
}
+ enum Selection
+ {
+ CONTEXT_ABORT,
+ CONTEXT_RESTORE,
+ CONTEXT_ABOUT
+ };
+
+ void OnContextMenuSelection(wxCommandEvent& event);
+
private:
- std::auto_ptr<RtsTrayIcon> trayMenu;
+ class RtsTrayIcon;
+ RtsTrayIcon* trayMenu;
+
bool m_abortRequested;
bool m_resumeRequested;
};
-class RtsTrayIcon : public wxTaskBarIcon
+//RtsTrayIcon shall be a dumb class whose sole purpose is to enable wxWidgets deferred deletion
+class WaitCallbackImpl::RtsTrayIcon : public wxTaskBarIcon
{
public:
- RtsTrayIcon(WaitCallbackImpl* callback) :
- m_callback(callback)
- {
-#ifdef FFS_WIN
- const wxIcon& realtimeIcon = *GlobalResources::getInstance().programIcon;
-#elif defined FFS_LINUX
- wxIcon realtimeIcon;
- realtimeIcon.CopyFromBitmap(GlobalResources::getInstance().getImageByName(wxT("RTS_tray_linux.png"))); //use a 22x22 bitmap for perfect fit
-#endif
- wxTaskBarIcon::SetIcon(realtimeIcon, wxString(wxT("RealtimeSync")) + wxT(" - ") + _("Monitoring active..."));
+ RtsTrayIcon(WaitCallbackImpl* parent) : parent_(parent) {}
- //register double-click
- Connect(wxEVT_TASKBAR_LEFT_DCLICK, wxCommandEventHandler(RtsTrayIcon::resumeToMain), NULL, this);
- }
-
- void updateSysTray()
+ void parentHasDied() //call before tray icon is marked for deferred deletion
{
- wxTheApp->Yield();
+ parent_ = NULL;
}
private:
- enum Selection
- {
- CONTEXT_ABORT,
- CONTEXT_RESTORE,
- CONTEXT_ABOUT
- };
-
virtual wxMenu* CreatePopupMenu()
{
+ if (!parent_)
+ return NULL;
+
wxMenu* contextMenu = new wxMenu;
contextMenu->Append(CONTEXT_RESTORE, _("&Restore"));
contextMenu->Append(CONTEXT_ABOUT, _("&About..."));
contextMenu->AppendSeparator();
contextMenu->Append(CONTEXT_ABORT, _("&Exit"));
//event handling
- contextMenu->Connect(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(RtsTrayIcon::OnContextMenuSelection), NULL, this);
+ contextMenu->Connect(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WaitCallbackImpl::OnContextMenuSelection), NULL, parent_);
- return contextMenu; //ownership transferred to library
+ return contextMenu; //ownership transferred to caller
}
- void OnContextMenuSelection(wxCommandEvent& event)
- {
- const int eventId = event.GetId();
- switch (static_cast<Selection>(eventId))
- {
- case CONTEXT_ABORT:
- m_callback->requestAbort();
- break;
- case CONTEXT_ABOUT:
- {
- //build information
- wxString build = wxString(wxT("(")) + _("Build:") + wxT(" ") + __TDATE__;
-#if wxUSE_UNICODE
- build += wxT(" - Unicode");
-#else
- build += wxT(" - ANSI");
-#endif //wxUSE_UNICODE
+ WaitCallbackImpl* parent_;
+};
+//##############################################################################################################
- //compile time info about 32/64-bit build
- if (Utility::is64BitBuild)
- build += wxT(" x64)");
- else
- build += wxT(" x86)");
- assert_static(Utility::is32BitBuild || Utility::is64BitBuild);
- wxMessageDialog* aboutDlg = new wxMessageDialog(NULL, wxString(wxT("RealtimeSync")) + wxT("\n\n") + build, _("About"), wxOK);
- aboutDlg->ShowModal();
- aboutDlg->Destroy();
- }
- break;
- case CONTEXT_RESTORE:
- m_callback->requestResume();
- break;
- }
- }
+class AbortThisProcess //exception class
+{
+public:
+ AbortThisProcess(MonitorResponse command) : command_(command) {}
- void resumeToMain(wxCommandEvent& event)
+ MonitorResponse getCommand() const
{
- m_callback->requestResume();
+ return command_;
}
- WaitCallbackImpl* m_callback;
+private:
+ MonitorResponse command_;
};
+//##############################################################################################################
-bool updateUiIsAllowed()
+WaitCallbackImpl::WaitCallbackImpl() :
+ m_abortRequested(false),
+ m_resumeRequested(false)
{
- static wxLongLong lastExec = 0;
- const wxLongLong newExec = wxGetLocalTimeMillis();
+ trayMenu = new RtsTrayIcon(this); //not in initialization list: give it a valid parent object!
- if (newExec - lastExec >= RealtimeSync::UI_UPDATE_INTERVAL) //perform ui updates not more often than necessary
- {
- lastExec = newExec;
- return true;
- }
- return false;
+#ifdef FFS_WIN
+ const wxIcon& realtimeIcon = *GlobalResources::getInstance().programIcon;
+#elif defined FFS_LINUX
+ wxIcon realtimeIcon;
+ realtimeIcon.CopyFromBitmap(GlobalResources::getInstance().getImageByName(wxT("RTS_tray_linux.png"))); //use a 22x22 bitmap for perfect fit
+#endif
+ trayMenu->SetIcon(realtimeIcon, wxString(wxT("RealtimeSync")) + wxT(" - ") + _("Monitoring active..."));
+
+ //register double-click
+ trayMenu->Connect(wxEVT_TASKBAR_LEFT_DCLICK, wxCommandEventHandler(WaitCallbackImpl::OnRequestResume), NULL, this);
}
-class AbortThisProcess //exception class
+WaitCallbackImpl::~WaitCallbackImpl()
{
-public:
- AbortThisProcess(bool backToMain) : m_backToMain(backToMain) {}
+ trayMenu->Disconnect(wxEVT_TASKBAR_LEFT_DCLICK, wxCommandEventHandler(WaitCallbackImpl::OnRequestResume), NULL, this);
+ trayMenu->RemoveIcon(); //(try to) hide icon until final deletion takes place
+ trayMenu->parentHasDied();
- bool backToMainMenu() const
- {
- return m_backToMain;
- }
+ //use wxWidgets delayed destruction: delete during next idle loop iteration (handle late window messages, e.g. when double-clicking)
+ if (!wxPendingDelete.Member(trayMenu))
+ wxPendingDelete.Append(trayMenu);
+}
-private:
- bool m_backToMain;
-};
+void WaitCallbackImpl::OnContextMenuSelection(wxCommandEvent& event)
+{
+ const int eventId = event.GetId();
+ switch (static_cast<Selection>(eventId))
+ {
+ case CONTEXT_ABORT:
+ requestAbort();
+ break;
+ case CONTEXT_RESTORE:
+ OnRequestResume(event); //just remember: never throw exceptions through a C-Layer (GUI) ;)
+ break;
+ case CONTEXT_ABOUT:
+ {
+ //build information
+ wxString build = wxString(wxT("(")) + _("Build:") + wxT(" ") + __TDATE__;
+#if wxUSE_UNICODE
+ build += wxT(" - Unicode");
+#else
+ build += wxT(" - ANSI");
+#endif //wxUSE_UNICODE
+ //compile time info about 32/64-bit build
+ if (Utility::is64BitBuild)
+ build += wxT(" x64)");
+ else
+ build += wxT(" x86)");
+ assert_static(Utility::is32BitBuild || Utility::is64BitBuild);
-WaitCallbackImpl::WaitCallbackImpl() :
- m_abortRequested(false),
- m_resumeRequested(false)
-{
- trayMenu.reset(new RtsTrayIcon(this));
+ wxMessageDialog aboutDlg(NULL, wxString(wxT("RealtimeSync")) + wxT("\n\n") + build, _("About"), wxOK);
+ aboutDlg.ShowModal();
+ }
+ break;
+ }
}
void WaitCallbackImpl::requestUiRefresh()
{
if (updateUiIsAllowed())
- trayMenu->updateSysTray();
+ wxTheApp->Yield();
if (m_abortRequested)
- throw ::AbortThisProcess(false);
+ throw ::AbortThisProcess(QUIT);
if (m_resumeRequested)
- throw ::AbortThisProcess(true);
+ throw ::AbortThisProcess(RESUME);
}
+//##############################################################################################################
RealtimeSync::MonitorResponse RealtimeSync::startDirectoryMonitor(const xmlAccess::XmlRealConfig& config)
@@ -216,10 +218,7 @@ RealtimeSync::MonitorResponse RealtimeSync::startDirectoryMonitor(const xmlAcces
}
catch (const ::AbortThisProcess& ab)
{
- if (ab.backToMainMenu())
- return RESUME;
- else
- return QUIT;
+ return ab.getCommand();
}
catch (const FreeFileSync::FileError& error)
{
@@ -229,4 +228,3 @@ RealtimeSync::MonitorResponse RealtimeSync::startDirectoryMonitor(const xmlAcces
return RESUME;
}
-
diff --git a/RealtimeSync/watcher.cpp b/RealtimeSync/watcher.cpp
index 2bb91b8a..3aa40520 100644
--- a/RealtimeSync/watcher.cpp
+++ b/RealtimeSync/watcher.cpp
@@ -31,6 +31,19 @@
using namespace FreeFileSync;
+bool RealtimeSync::updateUiIsAllowed()
+{
+ static wxLongLong lastExec = 0;
+ const wxLongLong newExec = wxGetLocalTimeMillis();
+
+ if (newExec - lastExec >= RealtimeSync::UI_UPDATE_INTERVAL) //perform ui updates not more often than necessary
+ {
+ lastExec = newExec;
+ return true;
+ }
+ return false;
+}
+
#ifdef FFS_WIN
/*
template <class T> //have a disctinct static variable per class!
@@ -216,6 +229,7 @@ private:
};
*/
+
//--------------------------------------------------------------------------------------------------------------
class ChangeNotifications
{
@@ -232,7 +246,7 @@ public:
arrayHandle.push_back(hndl);
}
- size_t getSize()
+ size_t getSize() const
{
return arrayHandle.size();
}
@@ -307,7 +321,7 @@ public:
}
private:
- std::map<Zstring, bool> availablility; //save avail. status for each directory
+ std::map<Zstring, bool> availablility; //save avail. status for each directory, avoid double-entries
};
diff --git a/RealtimeSync/watcher.h b/RealtimeSync/watcher.h
index 87edde86..58b20d99 100644
--- a/RealtimeSync/watcher.h
+++ b/RealtimeSync/watcher.h
@@ -16,6 +16,9 @@ namespace RealtimeSync
{
const int UI_UPDATE_INTERVAL = 100; //perform ui updates not more often than necessary, 100 seems to be a good value with only a minimal performance loss
+bool updateUiIsAllowed();
+
+
class WaitCallback
{
public:
diff --git a/RealtimeSync/xmlProcessing.cpp b/RealtimeSync/xmlProcessing.cpp
index 7cf78c7a..e9420d1b 100644
--- a/RealtimeSync/xmlProcessing.cpp
+++ b/RealtimeSync/xmlProcessing.cpp
@@ -27,17 +27,16 @@ void xmlAccess::readRealConfig(const wxString& filename, XmlRealConfig& config)
{
//load XML
if (!wxFileExists(filename))
- throw XmlError(wxString(_("File does not exist:")) + wxT(" \"") + filename + wxT("\""));
+ throw XmlError(wxString(_("File does not exist:")) + wxT("\n\"") + filename + wxT("\""));
TiXmlDocument doc;
- if (!loadXmlDocument(filename, XML_REAL_CONFIG, doc))
- throw XmlError(wxString(_("Error reading file:")) + wxT(" \"") + filename + wxT("\""));
+ loadXmlDocument(filename, XML_REAL_CONFIG, doc); //throw (XmlError)
RtsXmlParser parser(doc.RootElement());
parser.readXmlRealConfig(config); //read GUI layout configuration
if (parser.errorsOccured())
- throw XmlError(wxString(_("Error parsing configuration file:")) + wxT(" \"") + filename + wxT("\"\n\n") +
+ throw XmlError(wxString(_("Error parsing configuration file:")) + wxT("\n\"") + filename + wxT("\"\n\n") +
parser.getErrorMessageFormatted(), XmlError::WARNING);
}
@@ -48,10 +47,10 @@ void xmlAccess::writeRealConfig(const XmlRealConfig& outputCfg, const wxString&
getDefaultXmlDocument(XML_REAL_CONFIG, doc);
//populate and write XML tree
- if ( !writeXmRealSettings(outputCfg, doc) || //add GUI layout configuration settings
- !saveXmlDocument(filename, doc)) //save XML
- throw XmlError(wxString(_("Error writing file:")) + wxT(" \"") + filename + wxT("\""));
- return;
+ if (!writeXmRealSettings(outputCfg, doc)) //add GUI layout configuration settings
+ throw XmlError(wxString(_("Error writing file:")) + wxT("\n\"") + filename + wxT("\""));
+
+ saveXmlDocument(filename, doc); //throw (XmlError)
}
//--------------------------------------------------------------------------------
@@ -60,15 +59,15 @@ void xmlAccess::writeRealConfig(const XmlRealConfig& outputCfg, const wxString&
void RtsXmlParser::readXmlRealConfig(xmlAccess::XmlRealConfig& outputCfg)
{
//read directories for monitoring
- const TiXmlElement* directoriesToWatch = TiXmlHandleConst(root).FirstChild("Directories").ToElement();
+ const TiXmlElement* directoriesToWatch = TiXmlHandleConst(getRoot()).FirstChild("Directories").ToElement();
readXmlElementLogging("Folder", directoriesToWatch, outputCfg.directories);
//commandline to execute
- readXmlElementLogging("Commandline", root, outputCfg.commandline);
+ readXmlElementLogging("Commandline", getRoot(), outputCfg.commandline);
//delay
- readXmlElementLogging("Delay", root, outputCfg.delay);
+ readXmlElementLogging("Delay", getRoot(), outputCfg.delay);
}
diff --git a/algorithm.cpp b/algorithm.cpp
index c6690185..159cef52 100644
--- a/algorithm.cpp
+++ b/algorithm.cpp
@@ -17,6 +17,7 @@
#include "shared/stringConv.h"
#include "shared/globalFunctions.h"
#include "shared/loki/TypeManip.h"
+#include "library/dbFile.h"
//#include "shared/loki/NullType.h"
using namespace FreeFileSync;
@@ -38,9 +39,9 @@ public:
void execute(HierarchyObject& hierObj) const
{
//process files
- std::for_each(hierObj.subFiles.begin(), hierObj.subFiles.end(), *this);
+ std::for_each(hierObj.useSubFiles().begin(), hierObj.useSubFiles().end(), *this);
//process directories
- std::for_each(hierObj.subDirs.begin(), hierObj.subDirs.end(), *this);
+ std::for_each(hierObj.useSubDirs().begin(), hierObj.useSubDirs().end(), *this);
}
private:
@@ -105,11 +106,11 @@ public:
bool findNonEqual(const HierarchyObject& hierObj) const
{
//files
- if (std::find_if(hierObj.subFiles.begin(), hierObj.subFiles.end(), *this) != hierObj.subFiles.end())
+ if (std::find_if(hierObj.useSubFiles().begin(), hierObj.useSubFiles().end(), *this) != hierObj.useSubFiles().end())
return true;
//directories
- return std::find_if(hierObj.subDirs.begin(), hierObj.subDirs.end(), *this) != hierObj.subDirs.end();
+ return std::find_if(hierObj.useSubDirs().begin(), hierObj.useSubDirs().end(), *this) != hierObj.useSubDirs().end();
}
bool operator()(const FileMapping& fileObj) const
@@ -146,9 +147,9 @@ inline
bool sameFileTime(const wxLongLong& a, const wxLongLong& b, const unsigned int tolerance)
{
if (a < b)
- return b - a <= tolerance;
+ return b <= a + tolerance;
else
- return a - b <= tolerance;
+ return a <= b + tolerance;
}
//---------------------------------------------------------------------------------------------------------------
@@ -254,12 +255,7 @@ private:
DataSetFile retrieveDataSetFile(const Zstring& objShortName, const DirContainer* dbDirectory)
{
if (dbDirectory)
- {
- const DirContainer::SubFileList& fileList = dbDirectory->getSubFiles();
- const DirContainer::SubFileList::const_iterator j = fileList.find(objShortName);
- if (j != fileList.end())
- return DataSetFile(&j->second);
- }
+ return dbDirectory->findFile(objShortName); //return value may be NULL
//object not found
return DataSetFile(NULL);
@@ -270,10 +266,9 @@ std::pair<DataSetDir, const DirContainer*> retrieveDataSetDir(const Zstring& obj
{
if (dbDirectory)
{
- const DirContainer::SubDirList& dirList = dbDirectory->getSubDirs();
- const DirContainer::SubDirList::const_iterator j = dirList.find(objShortName);
- if (j != dirList.end())
- return std::make_pair(DataSetDir(true), &j->second);
+ const DirContainer* dbDir = dbDirectory->findDir(objShortName);
+ if (dbDir)
+ return std::make_pair(DataSetDir(true), dbDir);
}
//object not found
@@ -291,9 +286,9 @@ public:
void execute(HierarchyObject& hierObj) const
{
//files
- std::for_each(hierObj.subFiles.begin(), hierObj.subFiles.end(), *this);
+ std::for_each(hierObj.useSubFiles().begin(), hierObj.useSubFiles().end(), *this);
//directories
- std::for_each(hierObj.subDirs.begin(), hierObj.subDirs.end(), *this);
+ std::for_each(hierObj.useSubDirs().begin(), hierObj.useSubDirs().end(), *this);
}
private:
@@ -431,10 +426,10 @@ private:
const DirContainer* dbDirectoryRight)
{
//process files
- std::for_each(hierObj.subFiles.begin(), hierObj.subFiles.end(),
+ std::for_each(hierObj.useSubFiles().begin(), hierObj.useSubFiles().end(),
boost::bind(&RedetermineAuto::processFile, this, _1, dbDirectoryLeft, dbDirectoryRight));
//process directories
- std::for_each(hierObj.subDirs.begin(), hierObj.subDirs.end(),
+ std::for_each(hierObj.useSubDirs().begin(), hierObj.useSubDirs().end(),
boost::bind(&RedetermineAuto::processDir, this, _1, dbDirectoryLeft, dbDirectoryRight));
}
@@ -654,9 +649,9 @@ public:
void execute(HierarchyObject& hierObj) const
{
//directories
- std::for_each(hierObj.subDirs.begin(), hierObj.subDirs.end(), *this);
+ std::for_each(hierObj.useSubDirs().begin(), hierObj.useSubDirs().end(), *this);
//files
- std::for_each(hierObj.subFiles.begin(), hierObj.subFiles.end(), *this);
+ std::for_each(hierObj.useSubFiles().begin(), hierObj.useSubFiles().end(), *this);
}
private:
@@ -704,8 +699,8 @@ public:
void execute(FreeFileSync::HierarchyObject& hierObj) const //don't create ambiguity by replacing with operator()
{
- std::for_each(hierObj.subFiles.begin(), hierObj.subFiles.end(), *this); //files
- std::for_each(hierObj.subDirs.begin(), hierObj.subDirs.end(), *this); //directories
+ std::for_each(hierObj.useSubFiles().begin(), hierObj.useSubFiles().end(), *this); //files
+ std::for_each(hierObj.useSubDirs(). begin(), hierObj.useSubDirs().end(), *this); //directories
}
private:
@@ -754,13 +749,13 @@ class FilterData
public:
FilterData(const BaseFilter& filterProcIn) : filterProc(filterProcIn) {}
- void execute(FreeFileSync::HierarchyObject& hierObj)
+ void execute(FreeFileSync::HierarchyObject& hierObj) const
{
//files
- std::for_each(hierObj.subFiles.begin(), hierObj.subFiles.end(), *this);
+ std::for_each(hierObj.useSubFiles().begin(), hierObj.useSubFiles().end(), *this);
//directories
- std::for_each(hierObj.subDirs.begin(), hierObj.subDirs.end(), *this);
+ std::for_each(hierObj.useSubDirs().begin(), hierObj.useSubDirs().end(), *this);
};
private:
@@ -768,12 +763,12 @@ private:
friend Function std::for_each(Iterator, Iterator, Function);
- void operator()(FreeFileSync::FileMapping& fileObj)
+ void operator()(FreeFileSync::FileMapping& fileObj) const
{
fileObj.setActive(filterProc.passFileFilter(fileObj.getObjRelativeName()));
}
- void operator()(FreeFileSync::DirMapping& dirObj)
+ void operator()(FreeFileSync::DirMapping& dirObj) const
{
bool subObjMightMatch = true;
dirObj.setActive(filterProc.passDirFilter(dirObj.getObjRelativeName(), &subObjMightMatch));
@@ -1040,16 +1035,6 @@ N(M) =
60/1000000 * M + 35 for 400000 < M
-inline
-bool sameFileTime(const time_t a, const time_t b)
-{
- if (a < b)
- return b - a <= FILE_TIME_PRECISION;
- else
- return a - b <= FILE_TIME_PRECISION;
-}
-
-
#ifdef FFS_WIN
unsigned int getThreshold(const unsigned filesWithSameSizeTotal)
{
diff --git a/comparison.cpp b/comparison.cpp
index 7c3f3b9a..9d4a3e66 100644
--- a/comparison.cpp
+++ b/comparison.cpp
@@ -12,10 +12,9 @@
#include <wx/msgdlg.h>
#include <wx/log.h>
#include "algorithm.h"
-#include "ui/util.h"
+#include "shared/util.h"
#include <memory>
#include "shared/stringConv.h"
-#include "library/statusHandler.h"
#include "shared/fileHandling.h"
#include "shared/systemFunctions.h"
#include "shared/fileTraverser.h"
@@ -228,8 +227,8 @@ TraverseCallback::ReturnValue BaseDirCallback::onFile(
const Zstring& fullName,
const TraverseCallback::FileInfo& details)
{
- //do not list the database file sync.ffs_db
- if (getSyncDBFilename().cmpFileName(shortName) == 0)
+ //do not list the database file(s) sync.ffs_db, sync.x64.ffs_db, etc.
+ if (Zstring(shortName).AfterLast(DefaultChar('.')).cmpFileName(DefaultStr("ffs_db")) == 0)
return TraverseCallback::TRAVERSING_CONTINUE;
return DirCallback::onFile(shortName, fullName, details);
@@ -470,7 +469,7 @@ bool filesHaveSameContentUpdating(const Zstring& filename1, const Zstring& filen
bool sameContent = true;
try
{
- sameContent = filesHaveSameContent(filename1, filename2, &callback);
+ sameContent = filesHaveSameContent(filename1, filename2, callback);
}
catch (...)
{
@@ -491,7 +490,9 @@ struct ToBeRemoved
{
bool operator()(const DirMapping& dirObj) const
{
- return !dirObj.isActive() && dirObj.subDirs.size() == 0 && dirObj.subFiles.size() == 0;
+ return !dirObj.isActive() &&
+ dirObj.useSubDirs(). size() == 0 &&
+ dirObj.useSubFiles().size() == 0;
}
};
@@ -505,10 +506,11 @@ public:
void execute(HierarchyObject& hierObj)
{
//process subdirs recursively
- std::for_each(hierObj.subDirs.begin(), hierObj.subDirs.end(), *this);
+ std::for_each(hierObj.useSubDirs().begin(), hierObj.useSubDirs().end(), *this);
//remove superfluous directories
- hierObj.subDirs.erase(std::remove_if(hierObj.subDirs.begin(), hierObj.subDirs.end(), ::ToBeRemoved()), hierObj.subDirs.end());
+ hierObj.useSubDirs().erase(std::remove_if(hierObj.useSubDirs().begin(), hierObj.useSubDirs().end(),
+ ::ToBeRemoved()), hierObj.useSubDirs().end());
}
private:
@@ -696,9 +698,9 @@ inline
bool sameFileTime(const wxLongLong& a, const wxLongLong& b, const unsigned int tolerance)
{
if (a < b)
- return b - a <= tolerance;
+ return b <= a + tolerance;
else
- return a - b <= tolerance;
+ return a <= b + tolerance;
}
@@ -839,7 +841,7 @@ void CompareProcess::compareByContent(const std::vector<FolderPairCfg>& director
const size_t objectsTotal = filesToCompareBytewise.size() * 2;
const wxULongLong bytesTotal = getBytesToCompare(filesToCompareBytewise);
- statusUpdater->initNewProcess(objectsTotal,
+ statusUpdater->initNewProcess(static_cast<int>(objectsTotal),
globalFunctions::convertToSigned(bytesTotal),
StatusHandler::PROCESS_COMPARING_CONTENT);
@@ -910,13 +912,13 @@ template <>
void MergeSides::fillOneSide<LEFT_SIDE>(const DirContainer& dirCont, HierarchyObject& output)
{
//reserve() fulfills two task here: 1. massive performance improvement! 2. ensure references in appendUndefined remain valid!
- output.subFiles.reserve(dirCont.getSubFiles().size());
- output.subDirs.reserve( dirCont.getSubDirs(). size());
+ output.useSubFiles().reserve(dirCont.fileCount());
+ output.useSubDirs(). reserve(dirCont.dirCount());
- for (DirContainer::SubFileList::const_iterator i = dirCont.getSubFiles().begin(); i != dirCont.getSubFiles().end(); ++i)
+ for (DirContainer::SubFileList::const_iterator i = dirCont.fileBegin(); i != dirCont.fileEnd(); ++i)
output.addSubFile(i->second.getData(), i->first);
- for (DirContainer::SubDirList::const_iterator i = dirCont.getSubDirs().begin(); i != dirCont.getSubDirs().end(); ++i)
+ for (DirContainer::SubDirList::const_iterator i = dirCont.dirBegin(); i != dirCont.dirEnd(); ++i)
{
DirMapping& newDirMap = output.addSubDir(true, i->first, false);
fillOneSide<LEFT_SIDE>(i->second, newDirMap); //recurse into subdirectories
@@ -928,13 +930,13 @@ template <>
void MergeSides::fillOneSide<RIGHT_SIDE>(const DirContainer& dirCont, HierarchyObject& output)
{
//reserve() fulfills two task here: 1. massive performance improvement! 2. ensure references in appendUndefined remain valid!
- output.subFiles.reserve(dirCont.getSubFiles().size());
- output.subDirs.reserve( dirCont.getSubDirs(). size());
+ output.useSubFiles().reserve(dirCont.fileCount());
+ output.useSubDirs(). reserve(dirCont.dirCount());
- for (DirContainer::SubFileList::const_iterator i = dirCont.getSubFiles().begin(); i != dirCont.getSubFiles().end(); ++i)
+ for (DirContainer::SubFileList::const_iterator i = dirCont.fileBegin(); i != dirCont.fileEnd(); ++i)
output.addSubFile(i->first, i->second.getData());
- for (DirContainer::SubDirList::const_iterator i = dirCont.getSubDirs().begin(); i != dirCont.getSubDirs().end(); ++i)
+ for (DirContainer::SubDirList::const_iterator i = dirCont.dirBegin(); i != dirCont.dirEnd(); ++i)
{
DirMapping& newDirMap = output.addSubDir(false, i->first, true);
fillOneSide<RIGHT_SIDE>(i->second, newDirMap); //recurse into subdirectories
@@ -951,39 +953,39 @@ void MergeSides::execute(const DirContainer& leftSide, const DirContainer& right
//=> this allows for a quasi-binary search by id!
//reserve() fulfills two task here: 1. massive performance improvement! 2. ensure references in appendUndefined remain valid!
- output.subFiles.reserve(leftSide.getSubFiles().size() + rightSide.getSubFiles().size()); //assume worst case!
- output.subDirs.reserve( leftSide.getSubDirs().size() + rightSide.getSubDirs().size()); //
+ output.useSubFiles().reserve(leftSide.fileCount() + rightSide.fileCount()); //assume worst case!
+ output.useSubDirs(). reserve(leftSide.dirCount() + rightSide.dirCount()); //
- for (DirContainer::SubFileList::const_iterator i = leftSide.getSubFiles().begin(); i != leftSide.getSubFiles().end(); ++i)
+ for (DirContainer::SubFileList::const_iterator i = leftSide.fileBegin(); i != leftSide.fileEnd(); ++i)
{
- DirContainer::SubFileList::const_iterator j = rightSide.getSubFiles().find(i->first);
+ const FileContainer* rightFile = rightSide.findFile(i->first);
//find files that exist on left but not on right
- if (j == rightSide.getSubFiles().end())
+ if (rightFile == NULL)
output.addSubFile(i->second.getData(), i->first);
//find files that exist on left and right
else
{
appendUndefined.push_back(
- &output.addSubFile(i->second.getData(), i->first, FILE_EQUAL, j->second.getData())); //FILE_EQUAL is just a dummy-value here
+ &output.addSubFile(i->second.getData(), i->first, FILE_EQUAL, rightFile->getData())); //FILE_EQUAL is just a dummy-value here
}
}
//find files that exist on right but not on left
- for (DirContainer::SubFileList::const_iterator j = rightSide.getSubFiles().begin(); j != rightSide.getSubFiles().end(); ++j)
+ for (DirContainer::SubFileList::const_iterator j = rightSide.fileBegin(); j != rightSide.fileEnd(); ++j)
{
- if (leftSide.getSubFiles().find(j->first) == leftSide.getSubFiles().end())
+ if (leftSide.findFile(j->first) == NULL)
output.addSubFile(j->first, j->second.getData());
}
//-----------------------------------------------------------------------------------------------
- for (DirContainer::SubDirList::const_iterator i = leftSide.getSubDirs().begin(); i != leftSide.getSubDirs().end(); ++i)
+ for (DirContainer::SubDirList::const_iterator i = leftSide.dirBegin(); i != leftSide.dirEnd(); ++i)
{
- DirContainer::SubDirList::const_iterator j = rightSide.getSubDirs().find(i->first);
+ const DirContainer* rightDir = rightSide.findDir(i->first);
//find directories that exist on left but not on right
- if (j == rightSide.getSubDirs().end())
+ if (rightDir == NULL)
{
DirMapping& newDirMap = output.addSubDir(true, i->first, false);
fillOneSide<LEFT_SIDE>(i->second, newDirMap); //recurse into subdirectories
@@ -991,14 +993,14 @@ void MergeSides::execute(const DirContainer& leftSide, const DirContainer& right
else //directories that exist on both sides
{
DirMapping& newDirMap = output.addSubDir(true, i->first, true);
- execute(i->second, j->second, newDirMap); //recurse into subdirectories
+ execute(i->second, *rightDir, newDirMap); //recurse into subdirectories
}
}
//find directories that exist on right but not on left
- for (DirContainer::SubDirList::const_iterator j = rightSide.getSubDirs().begin(); j != rightSide.getSubDirs().end(); ++j)
+ for (DirContainer::SubDirList::const_iterator j = rightSide.dirBegin(); j != rightSide.dirEnd(); ++j)
{
- if (leftSide.getSubDirs().find(j->first) == leftSide.getSubDirs().end())
+ if (leftSide.findDir(j->first) == NULL)
{
DirMapping& newDirMap = output.addSubDir(false, j->first, true);
fillOneSide<RIGHT_SIDE>(j->second, newDirMap); //recurse into subdirectories
@@ -1009,8 +1011,8 @@ void MergeSides::execute(const DirContainer& leftSide, const DirContainer& right
void CompareProcess::performBaseComparison(BaseDirMapping& output, std::vector<FileMapping*>& appendUndefined)
{
- assert(output.subDirs.empty());
- assert(output.subFiles.empty());
+ assert(output.useSubDirs(). empty());
+ assert(output.useSubFiles().empty());
//PERF_START;
diff --git a/comparison.h b/comparison.h
index 9c2cf71a..7ebb66a4 100644
--- a/comparison.h
+++ b/comparison.h
@@ -9,8 +9,8 @@
#include "fileHierarchy.h"
#include "library/processXml.h"
+#include "library/statusHandler.h"
-class StatusHandler;
namespace FreeFileSync
{
diff --git a/copySource b/copySource
new file mode 100644
index 00000000..f59c1791
--- /dev/null
+++ b/copySource
@@ -0,0 +1,7 @@
+cp /cdrom/Backup/* . -r
+chmod -R 0755 .
+touch *
+touch ui/*
+touch shared/*
+touch library/*
+touch RealtimeSync/*
diff --git a/fileHierarchy.cpp b/fileHierarchy.cpp
index 25ee618d..dc616db0 100644
--- a/fileHierarchy.cpp
+++ b/fileHierarchy.cpp
@@ -5,24 +5,9 @@
// **************************************************************************
//
#include "fileHierarchy.h"
-#include <wx/wfstream.h>
-#include <wx/zstream.h>
-#include "shared/globalFunctions.h"
-#include "shared/fileError.h"
-#include <wx/intl.h>
-#include "shared/stringConv.h"
-#include "shared/fileHandling.h"
-#include <wx/mstream.h>
-#include "shared/serialize.h"
#include "shared/buildInfo.h"
-#ifdef FFS_WIN
-#include <wx/msw/wrapwin.h> //includes "windows.h"
-#include "shared/longPathPrefix.h"
-#endif
-
using namespace FreeFileSync;
-using namespace globalFunctions;
struct LowerID
@@ -90,12 +75,12 @@ struct IsInvalid
void FileSystemObject::removeEmptyNonRec(HierarchyObject& hierObj)
{
//remove invalid files
- hierObj.subFiles.erase(std::remove_if(hierObj.subFiles.begin(), hierObj.subFiles.end(), IsInvalid()),
- hierObj.subFiles.end());
+ hierObj.useSubFiles().erase(std::remove_if(hierObj.useSubFiles().begin(), hierObj.useSubFiles().end(), IsInvalid()),
+ hierObj.useSubFiles().end());
//remove invalid directories
- hierObj.subDirs.erase(std::remove_if(hierObj.subDirs.begin(), hierObj.subDirs.end(), IsInvalid()),
- hierObj.subDirs.end());
+ hierObj.useSubDirs().erase(std::remove_if(hierObj.useSubDirs().begin(), hierObj.useSubDirs().end(), IsInvalid()),
+ hierObj.useSubDirs().end());
}
@@ -104,7 +89,7 @@ void removeEmptyRec(HierarchyObject& hierObj)
FileSystemObject::removeEmptyNonRec(hierObj);
//recurse into remaining directories
- std::for_each(hierObj.subDirs.begin(), hierObj.subDirs.end(), removeEmptyRec);
+ std::for_each(hierObj.useSubDirs().begin(), hierObj.useSubDirs().end(), removeEmptyRec);
}
@@ -191,382 +176,19 @@ SyncOperation FileSystemObject::getSyncOperation(const CompareFilesResult cmpRes
}
-//-------------------------------------------------------------------------------------------------
const Zstring& FreeFileSync::getSyncDBFilename()
{
+ //32 and 64 bit for Linux and Windows builds are binary incompatible! So give them different names
+ //make sure they end with ".ffs_db". These files will not be included into comparison when located in base sync directories
#ifdef FFS_WIN
- static Zstring output(DefaultStr("sync.ffs_db"));
+ static Zstring output(Utility::is64BitBuild ?
+ DefaultStr("sync.x64.ffs_db") :
+ DefaultStr("sync.ffs_db"));
#elif defined FFS_LINUX
- static Zstring output(DefaultStr(".sync.ffs_db")); //files beginning with dots are hidden e.g. in Nautilus
+ //files beginning with dots are hidden e.g. in Nautilus
+ static Zstring output(Utility::is64BitBuild ?
+ DefaultStr(".sync.x64.ffs_db") :
+ DefaultStr(".sync.ffs_db"));
#endif
return output;
}
-
-
-//-------------------------------------------------------------------------------------------------------------------------------
-const char FILE_FORMAT_DESCR[] = "FreeFileSync";
-const int FILE_FORMAT_VER = Utility::is64BitBuild ? -3 : 3; //32 and 64 bit builds are binary incompatible! So give them different IDs
-//-------------------------------------------------------------------------------------------------------------------------------
-
-
-class ReadDirInfo : public Utility::ReadInputStream
-{
-public:
- ReadDirInfo(wxInputStream& stream, const wxString& errorObjName, DirInformation& dirInfo) : ReadInputStream(stream, errorObjName)
- {
- //read filter settings
- dirInfo.filter = BaseFilter::loadFilter(stream_);
- check();
-
- //start recursion
- execute(dirInfo.baseDirContainer);
- }
-
-private:
- void execute(DirContainer& dirCont)
- {
- unsigned int fileCount = readNumberC<unsigned int>();
- while (fileCount-- != 0)
- readSubFile(dirCont);
-
- unsigned int dirCount = readNumberC<unsigned int>();
- while (dirCount-- != 0)
- readSubDirectory(dirCont);
- }
-
- void readSubFile(DirContainer& dirCont)
- {
- //attention: order of function argument evaluation is undefined! So do it one after the other...
- const Zstring shortName = readStringC(); //file name
-
- const long modHigh = readNumberC<long>();
- const unsigned long modLow = readNumberC<unsigned long>();
-
- const unsigned long sizeHigh = readNumberC<unsigned long>();
- const unsigned long sizeLow = readNumberC<unsigned long>();
-
- //const Utility::FileID fileIdentifier(stream_);
- //check();
-
- dirCont.addSubFile(shortName,
- FileDescriptor(wxLongLong(modHigh, modLow),
- wxULongLong(sizeHigh, sizeLow)));
- }
-
- void readSubDirectory(DirContainer& dirCont)
- {
- const Zstring shortName = readStringC(); //directory name
- DirContainer& subDir = dirCont.addSubDir(shortName);
- execute(subDir); //recurse
- }
-};
-
-
-typedef boost::shared_ptr<std::vector<char> > MemoryStreamPtr; //byte stream representing DirInformation
-typedef std::map<Utility::UniqueId, MemoryStreamPtr> DirectoryTOC; //list of streams ordered by a UUID pointing to their partner database
-typedef std::pair<Utility::UniqueId, DirectoryTOC> DbStreamData; //header data: UUID representing this database, item data: list of dir-streams
-/* Example
-left side right side
---------- ----------
-DB-ID 123 <-\ /-> DB-ID 567
- \/
-Partner-ID 111 /\ Partner-ID 222
-Partner-ID 567 _/ \_ Partner-ID 123
- ... ...
-*/
-
-class ReadFileStream : public Utility::ReadInputStream
-{
-public:
- ReadFileStream(wxInputStream& stream, const wxString& filename, DbStreamData& output) : ReadInputStream(stream, filename)
- {
- if (readNumberC<int>() != FILE_FORMAT_VER) //read file format version
- throw FileError(wxString(_("Incompatible synchronization database format:")) + wxT(" \n") + wxT("\"") + filename + wxT("\""));
-
- //read DB id
- output.first = Utility::UniqueId(stream_);
- check();
-
- DirectoryTOC& dbList = output.second;
- dbList.clear();
-
- size_t dbCount = readNumberC<size_t>(); //number of databases: one for each sync-pair
- while (dbCount-- != 0)
- {
- const Utility::UniqueId partnerID(stream_); //DB id of partner databases
- check();
-
- CharArray buffer = readArrayC(); //read db-entry stream (containing DirInformation)
-
- dbList.insert(std::make_pair(partnerID, buffer));
- }
- }
-};
-
-
-DbStreamData loadFile(const Zstring& filename) //throw (FileError)
-{
- if (!FreeFileSync::fileExists(filename))
- throw FileError(wxString(_("Initial synchronization:")) + wxT(" \n\n") +
- _("One of the FreeFileSync database files is not yet existing:") + wxT(" \n") +
- wxT("\"") + zToWx(filename) + wxT("\""));
-
-
- //read format description (uncompressed)
- wxFFileInputStream uncompressed(zToWx(filename), wxT("rb"));
-
- char formatDescr[sizeof(FILE_FORMAT_DESCR)];
- uncompressed.Read(formatDescr, sizeof(formatDescr));
- formatDescr[sizeof(FILE_FORMAT_DESCR) - 1] = 0;
- if (uncompressed.GetLastError() != wxSTREAM_NO_ERROR)
- throw FileError(wxString(_("Error reading from synchronization database:")) + wxT(" \n") + wxT("\"") + zToWx(filename) + wxT("\""));
- if (std::string(formatDescr) != FILE_FORMAT_DESCR)
- throw FileError(wxString(_("Incompatible synchronization database format:")) + wxT(" \n") + wxT("\"") + zToWx(filename) + wxT("\""));
-
-
- wxZlibInputStream input(uncompressed, wxZLIB_ZLIB);
-
- DbStreamData output;
- ReadFileStream(input, zToWx(filename), output);
- return output;
-}
-
-
-std::pair<DirInfoPtr, DirInfoPtr> FreeFileSync::loadFromDisk(const BaseDirMapping& baseMapping) //throw (FileError)
-{
- const Zstring fileNameLeft = baseMapping.getDBFilename<LEFT_SIDE>();
- const Zstring fileNameRight = baseMapping.getDBFilename<RIGHT_SIDE>();
-
- //read file data: db ID + mapping of partner-ID/DirInfo-stream
- const DbStreamData dbEntriesLeft = ::loadFile(fileNameLeft);
- const DbStreamData dbEntriesRight = ::loadFile(fileNameRight);
-
- //find associated DirInfo-streams
- DirectoryTOC::const_iterator dbLeft = dbEntriesLeft.second.find(dbEntriesRight.first); //find left db-entry that corresponds to right database
- if (dbLeft == dbEntriesLeft.second.end())
- throw FileError(wxString(_("Initial synchronization:")) + wxT(" \n\n") +
- _("One of the FreeFileSync database entries within the following file is not yet existing:") + wxT(" \n") +
- wxT("\"") + zToWx(fileNameLeft) + wxT("\""));
-
- DirectoryTOC::const_iterator dbRight = dbEntriesRight.second.find(dbEntriesLeft.first); //find left db-entry that corresponds to right database
- if (dbRight == dbEntriesRight.second.end())
- throw FileError(wxString(_("Initial synchronization:")) + wxT(" \n\n") +
- _("One of the FreeFileSync database entries within the following file is not yet existing:") + wxT(" \n") +
- wxT("\"") + zToWx(fileNameRight) + wxT("\""));
-
- //read streams into DirInfo
- boost::shared_ptr<DirInformation> dirInfoLeft(new DirInformation);
- wxMemoryInputStream buffer(&(*dbLeft->second)[0], dbLeft->second->size()); //convert char-array to inputstream: no copying, ownership not transferred
- ReadDirInfo(buffer, zToWx(fileNameLeft), *dirInfoLeft); //read file/dir information
-
- boost::shared_ptr<DirInformation> dirInfoRight(new DirInformation);
- wxMemoryInputStream buffer2(&(*dbRight->second)[0], dbRight->second->size()); //convert char-array to inputstream: no copying, ownership not transferred
- ReadDirInfo(buffer2, zToWx(fileNameRight), *dirInfoRight); //read file/dir information
-
- return std::make_pair(dirInfoLeft, dirInfoRight);
-}
-
-
-//-------------------------------------------------------------------------------------------------------------------------
-
-template <SelectedSide side>
-struct IsNonEmpty
-{
- bool operator()(const FileSystemObject& fsObj) const
- {
- return !fsObj.isEmpty<side>();
- }
-};
-
-
-template <SelectedSide side>
-class SaveDirInfo : public Utility::WriteOutputStream
-{
-public:
- SaveDirInfo(const BaseDirMapping& baseMapping, const wxString& errorObjName, wxOutputStream& stream) : WriteOutputStream(errorObjName, stream)
- {
- //save filter settings
- baseMapping.getFilter()->saveFilter(stream_);
- check();
-
- //start recursion
- execute(baseMapping);
- }
-
-private:
- template<typename Iterator, typename Function>
- friend Function std::for_each(Iterator, Iterator, Function);
-
- void execute(const HierarchyObject& hierObj)
- {
- writeNumberC<unsigned int>(std::count_if(hierObj.subFiles.begin(), hierObj.subFiles.end(), IsNonEmpty<side>())); //number of (existing) files
- std::for_each(hierObj.subFiles.begin(), hierObj.subFiles.end(), *this);
-
- writeNumberC<unsigned int>(std::count_if(hierObj.subDirs.begin(), hierObj.subDirs.end(), IsNonEmpty<side>())); //number of (existing) directories
- std::for_each(hierObj.subDirs.begin(), hierObj.subDirs.end(), *this);
- }
-
- void operator()(const FileMapping& fileMap)
- {
- if (!fileMap.isEmpty<side>())
- {
- writeStringC(fileMap.getObjShortName()); //file name
- writeNumberC<long>( fileMap.getLastWriteTime<side>().GetHi()); //last modification time
- writeNumberC<unsigned long>(fileMap.getLastWriteTime<side>().GetLo()); //
- writeNumberC<unsigned long>(fileMap.getFileSize<side>().GetHi()); //filesize
- writeNumberC<unsigned long>(fileMap.getFileSize<side>().GetLo()); //
-
- //fileMap.getFileID<side>().toStream(stream_); //unique file identifier
- //check();
- }
- }
-
- void operator()(const DirMapping& dirMap)
- {
- if (!dirMap.isEmpty<side>())
- {
- writeStringC(dirMap.getObjShortName()); //directory name
- execute(dirMap); //recurse
- }
- }
-};
-
-
-class WriteFileStream : public Utility::WriteOutputStream
-{
-public:
- WriteFileStream(const DbStreamData& input, const wxString& filename, wxOutputStream& stream) : WriteOutputStream(filename, stream)
- {
- //save file format version
- writeNumberC<int>(FILE_FORMAT_VER);
-
- //write DB id
- input.first.toStream(stream_);
- check();
-
- const DirectoryTOC& dbList = input.second;
-
- writeNumberC<size_t>(dbList.size()); //number of database records: one for each sync-pair
-
- for (DirectoryTOC::const_iterator i = dbList.begin(); i != dbList.end(); ++i)
- {
- i->first.toStream(stream_); //DB id of partner database
- check();
-
- writeArrayC(*(i->second)); //write DirInformation stream
- }
- }
-};
-
-
-//save/load DirContainer
-void saveFile(const DbStreamData& dbStream, const Zstring& filename) //throw (FileError)
-{
- //write format description (uncompressed)
- wxFFileOutputStream uncompressed(zToWx(filename), wxT("wb"));
- uncompressed.Write(FILE_FORMAT_DESCR, sizeof(FILE_FORMAT_DESCR));
- if (uncompressed.GetLastError() != wxSTREAM_NO_ERROR)
- throw FileError(wxString(_("Error writing to synchronization database:")) + wxT(" \n") +
- wxT("\"") + zToWx(filename) + wxT("\""));
-
- wxZlibOutputStream output(uncompressed, 4, wxZLIB_ZLIB);
- /* 4 - best compromise between speed and compression: (scanning 200.000 objects)
- 0 (uncompressed) 8,95 MB - 422 ms
- 2 2,07 MB - 470 ms
- 4 1,87 MB - 500 ms
- 6 1,77 MB - 613 ms
- 9 (maximal compression) 1,74 MB - 3330 ms */
-
- WriteFileStream(dbStream, zToWx(filename), output);
-
- //(try to) hide database file
-#ifdef FFS_WIN
- output.Close();
- ::SetFileAttributes(FreeFileSync::applyLongPathPrefix(filename).c_str(), FILE_ATTRIBUTE_HIDDEN);
-#endif
-}
-
-
-void FreeFileSync::saveToDisk(const BaseDirMapping& baseMapping) //throw (FileError)
-{
- //transactional behaviour! write to tmp files first
- const Zstring fileNameLeftTmp = baseMapping.getDBFilename<LEFT_SIDE>() + DefaultStr(".tmp");
- const Zstring fileNameRightTmp = baseMapping.getDBFilename<RIGHT_SIDE>() + DefaultStr(".tmp");;
-
- //delete old tmp file, if necessary -> throws if deletion fails!
- removeFile(fileNameLeftTmp);
- removeFile(fileNameRightTmp);
-
- try
- {
- //load old database files...
-
- //read file data: db ID + mapping of partner-ID/DirInfo-stream: may throw!
- DbStreamData dbEntriesLeft;
- if (FreeFileSync::fileExists(baseMapping.getDBFilename<LEFT_SIDE>()))
- try
- {
- dbEntriesLeft = ::loadFile(baseMapping.getDBFilename<LEFT_SIDE>());
- }
- catch(FileError&) {} //if error occurs: just overwrite old file! User is informed about issues right after comparing!
- //else -> dbEntriesLeft has empty mapping, but already a DB-ID!
-
- //read file data: db ID + mapping of partner-ID/DirInfo-stream: may throw!
- DbStreamData dbEntriesRight;
- if (FreeFileSync::fileExists(baseMapping.getDBFilename<RIGHT_SIDE>()))
- try
- {
- dbEntriesRight = ::loadFile(baseMapping.getDBFilename<RIGHT_SIDE>());
- }
- catch(FileError&) {} //if error occurs: just overwrite old file! User is informed about issues right after comparing!
-
- //create new database entries
- MemoryStreamPtr dbEntryLeft(new std::vector<char>);
- {
- wxMemoryOutputStream buffer;
- SaveDirInfo<LEFT_SIDE>(baseMapping, zToWx(baseMapping.getDBFilename<LEFT_SIDE>()), buffer);
- dbEntryLeft->resize(buffer.GetSize()); //convert output stream to char-array
- buffer.CopyTo(&(*dbEntryLeft)[0], buffer.GetSize()); //
- }
-
- MemoryStreamPtr dbEntryRight(new std::vector<char>);
- {
- wxMemoryOutputStream buffer;
- SaveDirInfo<RIGHT_SIDE>(baseMapping, zToWx(baseMapping.getDBFilename<RIGHT_SIDE>()), buffer);
- dbEntryRight->resize(buffer.GetSize()); //convert output stream to char-array
- buffer.CopyTo(&(*dbEntryRight)[0], buffer.GetSize()); //
- }
-
- //create/update DirInfo-streams
- dbEntriesLeft.second[dbEntriesRight.first] = dbEntryLeft;
- dbEntriesRight.second[dbEntriesLeft.first] = dbEntryRight;
-
- //write (temp-) files...
- saveFile(dbEntriesLeft, fileNameLeftTmp); //throw (FileError)
- saveFile(dbEntriesRight, fileNameRightTmp); //throw (FileError)
-
- //operation finished: rename temp files -> this should work transactionally:
- //if there were no write access, creation of temp files would have failed
- removeFile(baseMapping.getDBFilename<LEFT_SIDE>());
- removeFile(baseMapping.getDBFilename<RIGHT_SIDE>());
- renameFile(fileNameLeftTmp, baseMapping.getDBFilename<LEFT_SIDE>()); //throw (FileError);
- renameFile(fileNameRightTmp, baseMapping.getDBFilename<RIGHT_SIDE>()); //throw (FileError);
- }
- catch (...)
- {
- try //clean up: (try to) delete old tmp files
- {
- removeFile(fileNameLeftTmp);
- }
- catch (...) {}
- try
- {
- removeFile(fileNameRightTmp);
- }
- catch (...) {}
-
- throw;
- }
-}
-
-
diff --git a/fileHierarchy.h b/fileHierarchy.h
index 9bd0b7f2..5d97393a 100644
--- a/fileHierarchy.h
+++ b/fileHierarchy.h
@@ -78,8 +78,18 @@ public:
typedef std::map<Zstring, FileContainer, CmpFilename> SubFileList; //
//------------------------------------------------------------------
- const SubDirList& getSubDirs() const;
- const SubFileList& getSubFiles() const;
+ //iterator access: std::map is implementation detail! don't expose
+ SubDirList::const_iterator dirBegin() const;
+ SubDirList::const_iterator dirEnd() const;
+
+ SubFileList::const_iterator fileBegin() const;
+ SubFileList::const_iterator fileEnd() const;
+
+ size_t dirCount() const;
+ size_t fileCount() const;
+
+ const DirContainer* findDir (const Zstring& shortName) const; //returns NULL if not found
+ const FileContainer* findFile(const Zstring& shortName) const; //
DirContainer() {} //default constructor use for base directory only!
@@ -117,10 +127,6 @@ struct DirInformation
//save/load full directory information
const Zstring& getSyncDBFilename(); //get short filename of database file
-void saveToDisk(const BaseDirMapping& baseMapping); //throw (FileError)
-
-typedef boost::shared_ptr<const DirInformation> DirInfoPtr;
-std::pair<DirInfoPtr, DirInfoPtr> loadFromDisk(const BaseDirMapping& baseMapping); //throw (FileError) -> return value always bound!
//------------------------------------------------------------------
/* class hierarchy:
@@ -136,7 +142,7 @@ FileMapping DirMapping BaseDirMapping
class HierarchyObject
{
public:
- typedef unsigned int ObjectID;
+ typedef size_t ObjectID;
FileSystemObject* retrieveById(ObjectID id); //returns NULL if object is not found; logarithmic complexity
const FileSystemObject* retrieveById(ObjectID id) const; //
@@ -162,8 +168,10 @@ public:
typedef std::vector<FileMapping> SubFileMapping;
typedef std::vector<DirMapping> SubDirMapping;
- SubFileMapping subFiles; //contained file maps
- SubDirMapping subDirs; //contained directory maps
+ SubDirMapping& useSubDirs();
+ SubFileMapping& useSubFiles();
+ const SubDirMapping& useSubDirs() const;
+ const SubFileMapping& useSubFiles() const;
protected:
//constructor used by DirMapping
@@ -182,6 +190,9 @@ protected:
virtual void swap();
private:
+ SubDirMapping subDirs; //contained directory maps
+ SubFileMapping subFiles; //contained file maps
+
Zstring relNamePf;
Zstring baseDirLeft; //directory name ending with FILE_NAME_SEPARATOR
Zstring baseDirRight; //directory name ending with FILE_NAME_SEPARATOR
@@ -436,7 +447,7 @@ HierarchyObject::ObjectID FileSystemObject::getId() const
inline
HierarchyObject::ObjectID FileSystemObject::getUniqueId()
{
- static unsigned int id = 0;
+ static HierarchyObject::ObjectID id = 0;
return ++id;
}
@@ -453,17 +464,62 @@ bool DirContainer::CmpFilename::operator()(const Zstring& a, const Zstring& b) c
return a.cmpFileName(b) < 0;
}
+
inline
-const DirContainer::SubDirList& DirContainer::getSubDirs() const
+DirContainer::SubDirList::const_iterator DirContainer::dirBegin() const
{
- return subDirs;
+ return subDirs.begin();
}
inline
-const DirContainer::SubFileList& DirContainer::getSubFiles() const
+DirContainer::SubDirList::const_iterator DirContainer::dirEnd() const
{
- return subFiles;
+ return subDirs.end();
+}
+
+
+inline
+DirContainer::SubFileList::const_iterator DirContainer::fileBegin() const
+{
+ return subFiles.begin();
+}
+
+
+inline
+DirContainer::SubFileList::const_iterator DirContainer::fileEnd() const
+{
+ return subFiles.end();
+}
+
+
+inline
+size_t DirContainer::dirCount() const
+{
+ return subDirs.size();
+}
+
+
+inline
+size_t DirContainer::fileCount() const
+{
+ return subFiles.size();
+}
+
+
+inline
+const DirContainer* DirContainer::findDir(const Zstring& shortName) const
+{
+ const SubDirList::const_iterator iter = subDirs.find(shortName);
+ return iter == subDirs.end() ? NULL : &iter->second;
+}
+
+
+inline
+const FileContainer* DirContainer::findFile(const Zstring& shortName) const
+{
+ const SubFileList::const_iterator iter = subFiles.find(shortName);
+ return iter == subFiles.end() ? NULL : &iter->second;
}
@@ -768,6 +824,34 @@ void HierarchyObject::addSubFile(const Zstring& fileNameShort, //file e
inline
+const HierarchyObject::SubDirMapping& HierarchyObject::useSubDirs() const
+{
+ return subDirs;
+}
+
+
+inline
+const HierarchyObject::SubFileMapping& HierarchyObject::useSubFiles() const
+{
+ return subFiles;
+}
+
+
+inline
+HierarchyObject::SubDirMapping& HierarchyObject::useSubDirs()
+{
+ return const_cast<SubDirMapping&>(static_cast<const HierarchyObject*>(this)->useSubDirs());
+}
+
+
+inline
+HierarchyObject::SubFileMapping& HierarchyObject::useSubFiles()
+{
+ return const_cast<SubFileMapping&>(static_cast<const HierarchyObject*>(this)->useSubFiles());
+}
+
+
+inline
void BaseDirMapping::swap()
{
//call base class versions
@@ -801,8 +885,8 @@ inline
void DirMapping::removeObjectL()
{
cmpResult = DIR_RIGHT_SIDE_ONLY;
- std::for_each(subFiles.begin(), subFiles.end(), std::mem_fun_ref(&FileSystemObject::removeObject<LEFT_SIDE>));
- std::for_each(subDirs.begin(), subDirs.end(), std::mem_fun_ref(&FileSystemObject::removeObject<LEFT_SIDE>));
+ std::for_each(useSubFiles().begin(), useSubFiles().end(), std::mem_fun_ref(&FileSystemObject::removeObject<LEFT_SIDE>));
+ std::for_each(useSubDirs().begin(), useSubDirs().end(), std::mem_fun_ref(&FileSystemObject::removeObject<LEFT_SIDE>));
}
@@ -810,8 +894,8 @@ inline
void DirMapping::removeObjectR()
{
cmpResult = DIR_LEFT_SIDE_ONLY;
- std::for_each(subFiles.begin(), subFiles.end(), std::mem_fun_ref(&FileSystemObject::removeObject<RIGHT_SIDE>));
- std::for_each(subDirs.begin(), subDirs.end(), std::mem_fun_ref(&FileSystemObject::removeObject<RIGHT_SIDE>));
+ std::for_each(useSubFiles().begin(), useSubFiles().end(), std::mem_fun_ref(&FileSystemObject::removeObject<RIGHT_SIDE>));
+ std::for_each(useSubDirs().begin(), useSubDirs().end(), std::mem_fun_ref(&FileSystemObject::removeObject<RIGHT_SIDE>));
}
diff --git a/library/CustomGrid.cpp b/library/CustomGrid.cpp
index a04548a3..e9fe9eb6 100644
--- a/library/CustomGrid.cpp
+++ b/library/CustomGrid.cpp
@@ -8,7 +8,7 @@
#include "../shared/systemConstants.h"
#include "resources.h"
#include <wx/dc.h>
-#include "../ui/util.h"
+#include "../shared/util.h"
#include "../shared/stringConv.h"
#include "resources.h"
#include <typeinfo>
@@ -296,7 +296,7 @@ protected:
case xmlAccess::DIRECTORY:
return zToWx(fileObj->getBaseDirPf<side>());
case xmlAccess::SIZE: //file size
- return FreeFileSync::includeNumberSeparator(fileObj->getFileSize<side>().ToString());
+ return FreeFileSync::numberToWxString(fileObj->getFileSize<side>(), true);
case xmlAccess::DATE: //date
return FreeFileSync::utcTimeToLocalString(fileObj->getLastWriteTime<side>(), fileObj->getFullName<side>());
case xmlAccess::EXTENSION: //file extension
@@ -896,14 +896,14 @@ void CustomGrid::DrawColLabel(wxDC& dc, int col)
}
-std::set<unsigned int> CustomGrid::getAllSelectedRows() const
+std::set<size_t> CustomGrid::getAllSelectedRows() const
{
- std::set<unsigned int> output;
+ std::set<size_t> output;
const wxArrayInt selectedRows = this->GetSelectedRows();
if (!selectedRows.IsEmpty())
{
- for (unsigned int i = 0; i < selectedRows.GetCount(); ++i)
+ for (size_t i = 0; i < selectedRows.GetCount(); ++i)
output.insert(selectedRows[i]);
}
diff --git a/library/CustomGrid.h b/library/CustomGrid.h
index 7a0d1b10..35915811 100644
--- a/library/CustomGrid.h
+++ b/library/CustomGrid.h
@@ -65,7 +65,7 @@ public:
CustomGridRight* gridRight,
const FreeFileSync::GridView* gridDataView);
- std::set<unsigned int> getAllSelectedRows() const;
+ std::set<size_t> getAllSelectedRows() const;
//set sort direction indicator on UI
typedef int SortColumn;
diff --git a/library/Taskbar_Seven/Taskbar_Seven.vcproj b/library/Taskbar_Seven/Taskbar_Seven.vcproj
new file mode 100644
index 00000000..bf8e0993
--- /dev/null
+++ b/library/Taskbar_Seven/Taskbar_Seven.vcproj
@@ -0,0 +1,409 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="Taskbar_Seven"
+ ProjectGUID="{70394AEF-5897-4911-AFA1-82EAF0581EFA}"
+ RootNamespace="ShadowDll"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="OBJ\$(ProjectName)_$(ConfigurationName)_$(PlatformName)\"
+ IntermediateDirectory="OBJ\$(ProjectName)_$(ConfigurationName)_$(PlatformName)\"
+ ConfigurationType="2"
+ CharacterSet="1"
+ BuildLogFile="$(IntDir)\Build.html"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="_DEBUG;_WINDOWS;_USRDLL;TASKBAR_SEVEN_DLL_EXPORTS"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="Taskbar7_$(PlatformName).dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="false"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(IntDir)$(TargetName).pdb"
+ SubSystem="2"
+ ProfileGuidedDatabase=""
+ ImportLibrary="$(IntDir)$(TargetName).lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="OBJ\$(ProjectName)_$(ConfigurationName)_$(PlatformName)\"
+ IntermediateDirectory="OBJ\$(ProjectName)_$(ConfigurationName)_$(PlatformName)\"
+ ConfigurationType="2"
+ CharacterSet="1"
+ BuildLogFile="$(IntDir)\Build.html"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="_DEBUG;_WINDOWS;_USRDLL;TASKBAR_SEVEN_DLL_EXPORTS"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="Taskbar7_$(PlatformName).dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="false"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(IntDir)$(TargetName).pdb"
+ SubSystem="2"
+ ProfileGuidedDatabase=""
+ ImportLibrary="$(IntDir)$(TargetName).lib"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="OBJ\$(ProjectName)_$(ConfigurationName)_$(PlatformName)\"
+ IntermediateDirectory="OBJ\$(ProjectName)_$(ConfigurationName)_$(PlatformName)\"
+ ConfigurationType="2"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ BuildLogFile="$(IntDir)\Build.html"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions="NDEBUG;_WINDOWS;_USRDLL;TASKBAR_SEVEN_DLL_EXPORTS"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="Taskbar7_$(PlatformName).dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="false"
+ GenerateDebugInformation="false"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ LinkTimeCodeGeneration="1"
+ ProfileGuidedDatabase=""
+ ImportLibrary="$(IntDir)$(TargetName).lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="OBJ\$(ProjectName)_$(ConfigurationName)_$(PlatformName)\"
+ IntermediateDirectory="OBJ\$(ProjectName)_$(ConfigurationName)_$(PlatformName)\"
+ ConfigurationType="2"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ BuildLogFile="$(IntDir)\Build.html"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions="NDEBUG;_WINDOWS;_USRDLL;TASKBAR_SEVEN_DLL_EXPORTS"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ SuppressStartupBanner="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="Taskbar7_$(PlatformName).dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="false"
+ GenerateDebugInformation="false"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ LinkTimeCodeGeneration="1"
+ ProfileGuidedDatabase=""
+ ImportLibrary="$(IntDir)$(TargetName).lib"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Quelldateien"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\dllmain.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ CompileAsManaged="0"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ CompileAsManaged="0"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ CompileAsManaged="0"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ CompileAsManaged="0"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath=".\taskbar.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Headerdateien"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath=".\taskbar.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/library/Taskbar_Seven/dllmain.cpp b/library/Taskbar_Seven/dllmain.cpp
new file mode 100644
index 00000000..7db39bff
--- /dev/null
+++ b/library/Taskbar_Seven/dllmain.cpp
@@ -0,0 +1,27 @@
+// **************************************************************************
+// * This file is part of the FreeFileSync project. It is distributed under *
+// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
+// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) *
+// **************************************************************************
+//
+
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+
+
+BOOL APIENTRY DllMain( HMODULE hModule,
+ DWORD ul_reason_for_call,
+ LPVOID lpReserved
+ )
+{
+ switch (ul_reason_for_call)
+ {
+ case DLL_PROCESS_ATTACH:
+ case DLL_THREAD_ATTACH:
+ case DLL_THREAD_DETACH:
+ case DLL_PROCESS_DETACH:
+ break;
+ }
+ return TRUE;
+}
+
diff --git a/library/Taskbar_Seven/taskbar.cpp b/library/Taskbar_Seven/taskbar.cpp
new file mode 100644
index 00000000..4baf2392
--- /dev/null
+++ b/library/Taskbar_Seven/taskbar.cpp
@@ -0,0 +1,160 @@
+// **************************************************************************
+// * This file is part of the FreeFileSync project. It is distributed under *
+// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
+// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) *
+// **************************************************************************
+//
+#include "taskbar.h"
+
+#define WIN32_LEAN_AND_MEAN
+#include "windows.h"
+#include <ShObjIdl.h>
+
+#include <map>
+#include <string>
+#include <comdef.h>
+
+
+namespace
+{
+void writeString(const std::wstring& input, wchar_t* output, size_t outputBufferLen)
+{
+ const size_t newSize = min(input.length() + 1, outputBufferLen); //including null-termination
+ memcpy(output, input.c_str(), newSize * sizeof(wchar_t));
+ output[newSize-1] = 0; //if output buffer is too small...
+}
+
+
+std::wstring numberToHexString(const long number)
+{
+ wchar_t result[100];
+ swprintf(result, 100, L"0x%08x", number);
+ return std::wstring(result);
+}
+
+
+std::wstring writeErrorMsg(const wchar_t* input, HRESULT hr)
+{
+ std::wstring output(input);
+ output += L" (";
+ output += numberToHexString(hr);
+ output += L": ";
+ output += _com_error(hr).ErrorMessage();
+ output += L")";
+ return output;
+}
+
+
+using TaskbarSeven::TBHandle;
+typedef std::map<TBHandle, ITaskbarList3*> TaskBarHandleMap;
+
+TaskbarSeven::TBHandle generateHandle()
+{
+ static TBHandle handle = 0;
+ return ++handle; //don't return 0! 0 is reserved for indicating failure
+}
+
+TaskBarHandleMap taskBarHandles;
+
+std::wstring lastErrorMessage;
+}
+//##################################################################################################
+
+
+TaskbarSeven::TBHandle TaskbarSeven::init() //call on app initializaiton; returns handle
+{
+ ITaskbarList3* pto = NULL;
+ HRESULT hr = CoCreateInstance(CLSID_TaskbarList,
+ NULL,
+ CLSCTX_ALL,
+ IID_PPV_ARGS(&pto));
+ if (FAILED(hr))
+ {
+ lastErrorMessage = writeErrorMsg(L"Error calling \"CoCreateInstance\".", hr);
+ return 0;
+ }
+
+ TBHandle newHandle = ::generateHandle();
+ taskBarHandles[newHandle] = pto;
+ return newHandle;
+}
+
+
+void TaskbarSeven::release(TBHandle handle) //release handle on app exit
+{
+ TaskBarHandleMap::const_iterator iter = taskBarHandles.find(handle);
+ if (iter != taskBarHandles.end())
+ {
+ if (iter->second != NULL)
+ iter->second->Release();
+ taskBarHandles.erase(iter);
+ }
+}
+
+
+bool TaskbarSeven::setStatus(TBHandle handle,
+ void* hwnd, //HWND: window assciated to the taskbar icon
+ TaskBarStatus status)
+{
+ TBPFLAG flag = TBPF_NORMAL;
+ switch (status)
+ {
+ case STATUS_NOPROGRESS:
+ flag = TBPF_NOPROGRESS;
+ break;
+ case STATUS_INDETERMINATE:
+ flag = TBPF_INDETERMINATE;
+ break;
+ case STATUS_NORMAL:
+ flag = TBPF_NORMAL;
+ break;
+ case STATUS_ERROR:
+ flag = TBPF_ERROR;
+ break;
+ case STATUS_PAUSED:
+ flag = TBPF_PAUSED;
+ break;
+ }
+
+ ITaskbarList3* pto = taskBarHandles[handle];
+ if (pto)
+ {
+ HRESULT hr = pto->SetProgressState(static_cast<HWND>(hwnd), //[in] HWND hwnd,
+ flag); //[in] TBPFLAG tbpFlags
+ if (FAILED(hr))
+ {
+ lastErrorMessage = writeErrorMsg(L"Error calling \"SetProgressState\".", hr);
+ return false;
+ }
+ }
+ return true;
+}
+
+
+bool TaskbarSeven::setProgress(TBHandle handle,
+ void* hwnd, //HWND: window assciated to the taskbar icon
+ size_t current,
+ size_t total)
+{
+ ITaskbarList3* pto = taskBarHandles[handle];
+
+ if (pto)
+ {
+ HRESULT hr = pto->SetProgressValue(
+ static_cast<HWND>(hwnd), //[in] HWND hwnd,
+ current, //[in] ULONGLONG ullCompleted,
+ total); //[in] ULONGLONG ullTotal
+ if (FAILED(hr))
+ {
+ lastErrorMessage = writeErrorMsg(L"Error calling \"SetProgressValue\".", hr);
+ return false;
+ }
+ }
+ return true;
+}
+
+
+void TaskbarSeven::getLastError(wchar_t* errorMessage, size_t errorBufferLen)
+{
+ writeString(lastErrorMessage, errorMessage, errorBufferLen);
+}
diff --git a/library/Taskbar_Seven/taskbar.h b/library/Taskbar_Seven/taskbar.h
new file mode 100644
index 00000000..835f02ec
--- /dev/null
+++ b/library/Taskbar_Seven/taskbar.h
@@ -0,0 +1,62 @@
+// **************************************************************************
+// * This file is part of the FreeFileSync project. It is distributed under *
+// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
+// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) *
+// **************************************************************************
+//
+#ifndef TASKBAR_SEVEN_DLL_H
+#define TASKBAR_SEVEN_DLL_H
+
+#ifdef TASKBAR_SEVEN_DLL_EXPORTS
+#define DLL_FUNCTION_DECLARATION extern "C" __declspec(dllexport)
+#else
+#define DLL_FUNCTION_DECLARATION extern "C" __declspec(dllimport)
+#endif
+
+
+namespace TaskbarSeven
+{
+enum TaskBarStatus
+{
+ STATUS_NOPROGRESS,
+ STATUS_INDETERMINATE,
+ STATUS_NORMAL,
+ STATUS_ERROR,
+ STATUS_PAUSED
+};
+
+typedef size_t TBHandle;
+
+
+//COM needs to be initialized before calling any of these functions! CoInitializeEx/CoUninitialize
+DLL_FUNCTION_DECLARATION
+TBHandle init(); //returns handle; 0 on failure
+
+DLL_FUNCTION_DECLARATION
+void release(TBHandle handle); //release taskbar handle
+
+DLL_FUNCTION_DECLARATION
+bool setStatus(TBHandle handle,
+ void* hwnd, //HWND: window assciated to the taskbar icon
+ TaskBarStatus status);
+
+
+DLL_FUNCTION_DECLARATION
+bool setProgress(TBHandle handle,
+ void* hwnd, //HWND: window assciated to the taskbar icon
+ size_t current,
+ size_t total);
+
+//if any of the functions above returns 'false', this message returns last error
+void getLastError(wchar_t* errorMessage, size_t errorBufferLen);
+
+
+//function typedefs
+typedef TBHandle (*initFct)();
+typedef void (*releaseFct)(TBHandle handle);
+typedef bool (*setStatusFct)(TBHandle handle, void* hwnd, TaskBarStatus status);
+typedef bool (*setProgressFct)(TBHandle handle, void* hwnd, size_t current, size_t total);
+typedef void (*getLastErrorFct)(wchar_t* errorMessage, size_t errorBufferLen);
+}
+
+#endif //TASKBAR_SEVEN_DLL_H \ No newline at end of file
diff --git a/library/binary.cpp b/library/binary.cpp
index bc5ba814..409b024a 100644
--- a/library/binary.cpp
+++ b/library/binary.cpp
@@ -6,103 +6,23 @@
//
#include "binary.h"
#include <boost/scoped_array.hpp>
-#include <wx/intl.h>
-#include "../shared/stringConv.h"
+#include "../shared/fileIO.h"
-#ifdef FFS_WIN
-#include "../shared/longPathPrefix.h"
-#include <wx/msw/wrapwin.h> //includes "windows.h"
-#include <boost/shared_ptr.hpp>
-#elif defined FFS_LINUX
-#include <wx/ffile.h>
-#endif
-
-
-bool FreeFileSync::filesHaveSameContent(const Zstring& filename1, const Zstring& filename2, CompareCallback* callback)
+bool FreeFileSync::filesHaveSameContent(const Zstring& filename1, const Zstring& filename2, CompareCallback& callback)
{
const size_t BUFFER_SIZE = 512 * 1024; //512 kb seems to be the perfect buffer size
static boost::scoped_array<unsigned char> memory1(new unsigned char[BUFFER_SIZE]);
static boost::scoped_array<unsigned char> memory2(new unsigned char[BUFFER_SIZE]);
-#ifdef FFS_WIN
- const HANDLE hFile1 = ::CreateFile(FreeFileSync::applyLongPathPrefix(filename1).c_str(),
- GENERIC_READ,
- FILE_SHARE_READ,
- NULL,
- OPEN_EXISTING,
- FILE_FLAG_OPEN_REPARSE_POINT | FILE_FLAG_SEQUENTIAL_SCAN,
- NULL);
- if (hFile1 == INVALID_HANDLE_VALUE)
- throw FileError(wxString(_("Error opening file:")) + wxT(" \"") + zToWx(filename1) + wxT("\""));
-
- boost::shared_ptr<void> dummy1(hFile1, &::CloseHandle);
-
- const HANDLE hFile2 = ::CreateFile(FreeFileSync::applyLongPathPrefix(filename2).c_str(),
- GENERIC_READ,
- FILE_SHARE_READ,
- NULL,
- OPEN_EXISTING,
- FILE_FLAG_OPEN_REPARSE_POINT | FILE_FLAG_SEQUENTIAL_SCAN,
- NULL);
- if (hFile2 == INVALID_HANDLE_VALUE)
- throw FileError(wxString(_("Error opening file:")) + wxT(" \"") + zToWx(filename2) + wxT("\""));
-
- boost::shared_ptr<void> dummy2(hFile2, &::CloseHandle);
-
- wxLongLong bytesCompared;
- DWORD length1 = 0;
- do
- {
- if (!::ReadFile(
- hFile1, //__in HANDLE hFile,
- memory1.get(), //__out LPVOID lpBuffer,
- BUFFER_SIZE, //__in DWORD nNumberOfBytesToRead,
- &length1, //__out_opt LPDWORD lpNumberOfBytesRead,
- NULL)) //__inout_opt LPOVERLAPPED lpOverlapped
- throw FileError(wxString(_("Error reading file:")) + wxT(" \"") + zToWx(filename1) + wxT("\""));
-
- DWORD length2 = 0;
- if (!::ReadFile(
- hFile2, //__in HANDLE hFile,
- memory2.get(), //__out LPVOID lpBuffer,
- BUFFER_SIZE, //__in DWORD nNumberOfBytesToRead,
- &length2, //__out_opt LPDWORD lpNumberOfBytesRead,
- NULL)) //__inout_opt LPOVERLAPPED lpOverlapped
- throw FileError(wxString(_("Error reading file:")) + wxT(" \"") + zToWx(filename2) + wxT("\""));
-
- if (length1 != length2 || ::memcmp(memory1.get(), memory2.get(), length1) != 0)
- return false;
-
- bytesCompared += length1 * 2;
-
- //send progress updates
- callback->updateCompareStatus(bytesCompared);
- }
- while (length1 == BUFFER_SIZE);
-
- return true;
-
-
-#elif defined FFS_LINUX
- wxFFile file1(::fopen(filename1.c_str(), DefaultStr("rb,type=record,noseek"))); //utilize UTF-8 filename
- if (!file1.IsOpened())
- throw FileError(wxString(_("Error opening file:")) + wxT(" \"") + zToWx(filename1) + wxT("\""));
-
- wxFFile file2(::fopen(filename2.c_str(), DefaultStr("rb,type=record,noseek"))); //utilize UTF-8 filename
- if (!file2.IsOpened())
- throw FileError(wxString(_("Error opening file:")) + wxT(" \"") + zToWx(filename2) + wxT("\""));
+ FileInput file1(filename1); //throw FileError()
+ FileInput file2(filename2); //throw FileError()
wxLongLong bytesCompared;
do
{
- const size_t length1 = file1.Read(memory1.get(), BUFFER_SIZE);
- if (file1.Error())
- throw FileError(wxString(_("Error reading file:")) + wxT(" \"") + zToWx(filename1) + wxT("\""));
-
- const size_t length2 = file2.Read(memory2.get(), BUFFER_SIZE);
- if (file2.Error())
- throw FileError(wxString(_("Error reading file:")) + wxT(" \"") + zToWx(filename2) + wxT("\""));
+ const size_t length1 = file1.read(memory1.get(), BUFFER_SIZE); //returns actual number of bytes read; throw FileError()
+ const size_t length2 = file2.read(memory2.get(), BUFFER_SIZE); //
if (length1 != length2 || ::memcmp(memory1.get(), memory2.get(), length1) != 0)
return false;
@@ -110,13 +30,12 @@ bool FreeFileSync::filesHaveSameContent(const Zstring& filename1, const Zstring&
bytesCompared += length1 * 2;
//send progress updates
- callback->updateCompareStatus(bytesCompared);
+ callback.updateCompareStatus(bytesCompared);
}
- while (!file1.Eof());
+ while (!file1.eof());
- if (!file2.Eof()) //highly unlikely, but theoretically possible! (but then again, not in this context where both files have same size...)
+ if (!file1.eof()) //highly unlikely, but theoretically possible! (but then again, not in this context where both files have same size...)
return false;
return true;
-#endif
}
diff --git a/library/binary.h b/library/binary.h
index c4e9c928..e33e46bf 100644
--- a/library/binary.h
+++ b/library/binary.h
@@ -22,7 +22,7 @@ public:
virtual void updateCompareStatus(const wxLongLong& totalBytesTransferred) = 0;
};
-bool filesHaveSameContent(const Zstring& filename1, const Zstring& filename2, CompareCallback* callback); //throw FileError
+bool filesHaveSameContent(const Zstring& filename1, const Zstring& filename2, CompareCallback& callback); //throw FileError
}
#endif // BINARY_H_INCLUDED
diff --git a/library/dbFile.cpp b/library/dbFile.cpp
new file mode 100644
index 00000000..c08c8ae8
--- /dev/null
+++ b/library/dbFile.cpp
@@ -0,0 +1,419 @@
+// **************************************************************************
+// * This file is part of the FreeFileSync project. It is distributed under *
+// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
+// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) *
+// **************************************************************************
+//
+#include "dbFile.h"
+#include <wx/wfstream.h>
+#include <wx/zstream.h>
+#include "../shared/globalFunctions.h"
+#include "../shared/fileError.h"
+#include <wx/intl.h>
+#include "../shared/stringConv.h"
+#include "../shared/fileHandling.h"
+#include <wx/mstream.h>
+#include "../shared/serialize.h"
+#include "../shared/fileIO.h"
+
+#ifdef FFS_WIN
+#include <wx/msw/wrapwin.h> //includes "windows.h"
+#include "../shared/longPathPrefix.h"
+#endif
+
+using namespace FreeFileSync;
+
+
+namespace
+{
+//-------------------------------------------------------------------------------------------------------------------------------
+const char FILE_FORMAT_DESCR[] = "FreeFileSync";
+const int FILE_FORMAT_VER = 3;
+//-------------------------------------------------------------------------------------------------------------------------------
+
+
+//yet another layer of indirection: Since 32/64 bit builds are binary incompatible, we want them to write into "distinct parts" of the db-file
+//just like we were actually accessing different files
+class FileInputStreamDB : public FileInputStream
+{
+public:
+ FileInputStreamDB(const Zstring& filename) : //throw FileError()
+ FileInputStream(filename)
+ {
+ //read FreeFileSync file identifier
+ char formatDescr[sizeof(FILE_FORMAT_DESCR)];
+ Read(formatDescr, sizeof(formatDescr)); //throw (FileError)
+ formatDescr[sizeof(formatDescr) - 1] = 0;
+
+ if (std::string(formatDescr) != FILE_FORMAT_DESCR)
+ throw FileError(wxString(_("Incompatible synchronization database format:")) + wxT(" \n") + wxT("\"") + zToWx(filename) + wxT("\""));
+ }
+
+private:
+};
+
+
+class FileOutputStreamDB : public FileOutputStream
+{
+public:
+ FileOutputStreamDB(const Zstring& filename) : //throw FileError()
+ FileOutputStream(filename)
+ {
+ //write FreeFileSync file identifier
+ Write(FILE_FORMAT_DESCR, sizeof(FILE_FORMAT_DESCR)); //throw (FileError)
+ }
+
+private:
+};
+}
+//#######################################################################################################################################
+
+
+
+
+class ReadDirInfo : public Utility::ReadInputStream
+{
+public:
+ ReadDirInfo(wxInputStream& stream, const wxString& errorObjName, DirInformation& dirInfo) : ReadInputStream(stream, errorObjName)
+ {
+ //read filter settings
+ dirInfo.filter = BaseFilter::loadFilter(getStream());
+ check();
+
+ //start recursion
+ execute(dirInfo.baseDirContainer);
+ }
+
+private:
+ void execute(DirContainer& dirCont)
+ {
+ unsigned int fileCount = readNumberC<unsigned int>();
+ while (fileCount-- != 0)
+ readSubFile(dirCont);
+
+ unsigned int dirCount = readNumberC<unsigned int>();
+ while (dirCount-- != 0)
+ readSubDirectory(dirCont);
+ }
+
+ void readSubFile(DirContainer& dirCont)
+ {
+ //attention: order of function argument evaluation is undefined! So do it one after the other...
+ const Zstring shortName = readStringC(); //file name
+
+ const long modHigh = readNumberC<long>();
+ const unsigned long modLow = readNumberC<unsigned long>();
+
+ const unsigned long sizeHigh = readNumberC<unsigned long>();
+ const unsigned long sizeLow = readNumberC<unsigned long>();
+
+ //const Utility::FileID fileIdentifier(stream_);
+ //check();
+
+ dirCont.addSubFile(shortName,
+ FileDescriptor(wxLongLong(modHigh, modLow),
+ wxULongLong(sizeHigh, sizeLow)));
+ }
+
+ void readSubDirectory(DirContainer& dirCont)
+ {
+ const Zstring shortName = readStringC(); //directory name
+ DirContainer& subDir = dirCont.addSubDir(shortName);
+ execute(subDir); //recurse
+ }
+};
+
+
+typedef boost::shared_ptr<std::vector<char> > MemoryStreamPtr; //byte stream representing DirInformation
+typedef std::map<Utility::UniqueId, MemoryStreamPtr> DirectoryTOC; //list of streams ordered by a UUID pointing to their partner database
+typedef std::pair<Utility::UniqueId, DirectoryTOC> DbStreamData; //header data: UUID representing this database, item data: list of dir-streams
+/* Example
+left side right side
+--------- ----------
+DB-ID 123 <-\ /-> DB-ID 567
+ \/
+Partner-ID 111 /\ Partner-ID 222
+Partner-ID 567 _/ \_ Partner-ID 123
+ ... ...
+*/
+
+class ReadFileStream : public Utility::ReadInputStream
+{
+public:
+ ReadFileStream(wxInputStream& stream, const wxString& filename, DbStreamData& output) : ReadInputStream(stream, filename)
+ {
+ if (readNumberC<int>() != FILE_FORMAT_VER) //read file format version
+ throw FileError(wxString(_("Incompatible synchronization database format:")) + wxT(" \n") + wxT("\"") + filename + wxT("\""));
+
+ //read DB id
+ output.first = Utility::UniqueId(getStream());
+ check();
+
+ DirectoryTOC& dbList = output.second;
+ dbList.clear();
+
+ size_t dbCount = readNumberC<size_t>(); //number of databases: one for each sync-pair
+ while (dbCount-- != 0)
+ {
+ const Utility::UniqueId partnerID(getStream()); //DB id of partner databases
+ check();
+
+ CharArray buffer = readArrayC(); //read db-entry stream (containing DirInformation)
+
+ dbList.insert(std::make_pair(partnerID, buffer));
+ }
+ }
+};
+
+
+DbStreamData loadFile(const Zstring& filename) //throw (FileError)
+{
+ if (!FreeFileSync::fileExists(filename))
+ throw FileError(wxString(_("Initial synchronization:")) + wxT(" \n\n") +
+ _("One of the FreeFileSync database files is not yet existing:") + wxT(" \n") +
+ wxT("\"") + zToWx(filename) + wxT("\""));
+
+
+ //read format description (uncompressed)
+ FileInputStreamDB uncompressed(filename); //throw (FileError)
+
+ wxZlibInputStream input(uncompressed, wxZLIB_ZLIB);
+
+ DbStreamData output;
+ ReadFileStream(input, zToWx(filename), output);
+ return output;
+}
+
+
+std::pair<DirInfoPtr, DirInfoPtr> FreeFileSync::loadFromDisk(const BaseDirMapping& baseMapping) //throw (FileError)
+{
+ const Zstring fileNameLeft = baseMapping.getDBFilename<LEFT_SIDE>();
+ const Zstring fileNameRight = baseMapping.getDBFilename<RIGHT_SIDE>();
+
+ //read file data: db ID + mapping of partner-ID/DirInfo-stream
+ const DbStreamData dbEntriesLeft = ::loadFile(fileNameLeft);
+ const DbStreamData dbEntriesRight = ::loadFile(fileNameRight);
+
+ //find associated DirInfo-streams
+ DirectoryTOC::const_iterator dbLeft = dbEntriesLeft.second.find(dbEntriesRight.first); //find left db-entry that corresponds to right database
+ if (dbLeft == dbEntriesLeft.second.end())
+ throw FileError(wxString(_("Initial synchronization:")) + wxT(" \n\n") +
+ _("One of the FreeFileSync database entries within the following file is not yet existing:") + wxT(" \n") +
+ wxT("\"") + zToWx(fileNameLeft) + wxT("\""));
+
+ DirectoryTOC::const_iterator dbRight = dbEntriesRight.second.find(dbEntriesLeft.first); //find left db-entry that corresponds to right database
+ if (dbRight == dbEntriesRight.second.end())
+ throw FileError(wxString(_("Initial synchronization:")) + wxT(" \n\n") +
+ _("One of the FreeFileSync database entries within the following file is not yet existing:") + wxT(" \n") +
+ wxT("\"") + zToWx(fileNameRight) + wxT("\""));
+
+ //read streams into DirInfo
+ boost::shared_ptr<DirInformation> dirInfoLeft(new DirInformation);
+ wxMemoryInputStream buffer(&(*dbLeft->second)[0], dbLeft->second->size()); //convert char-array to inputstream: no copying, ownership not transferred
+ ReadDirInfo(buffer, zToWx(fileNameLeft), *dirInfoLeft); //read file/dir information
+
+ boost::shared_ptr<DirInformation> dirInfoRight(new DirInformation);
+ wxMemoryInputStream buffer2(&(*dbRight->second)[0], dbRight->second->size()); //convert char-array to inputstream: no copying, ownership not transferred
+ ReadDirInfo(buffer2, zToWx(fileNameRight), *dirInfoRight); //read file/dir information
+
+ return std::make_pair(dirInfoLeft, dirInfoRight);
+}
+
+
+//-------------------------------------------------------------------------------------------------------------------------
+
+template <SelectedSide side>
+struct IsNonEmpty
+{
+ bool operator()(const FileSystemObject& fsObj) const
+ {
+ return !fsObj.isEmpty<side>();
+ }
+};
+
+
+template <SelectedSide side>
+class SaveDirInfo : public Utility::WriteOutputStream
+{
+public:
+ SaveDirInfo(const BaseDirMapping& baseMapping, const wxString& errorObjName, wxOutputStream& stream) : WriteOutputStream(errorObjName, stream)
+ {
+ //save filter settings
+ baseMapping.getFilter()->saveFilter(getStream());
+ check();
+
+ //start recursion
+ execute(baseMapping);
+ }
+
+private:
+ template<typename Iterator, typename Function>
+ friend Function std::for_each(Iterator, Iterator, Function);
+
+ void execute(const HierarchyObject& hierObj)
+ {
+ writeNumberC<unsigned int>(std::count_if(hierObj.useSubFiles().begin(), hierObj.useSubFiles().end(), IsNonEmpty<side>())); //number of (existing) files
+ std::for_each(hierObj.useSubFiles().begin(), hierObj.useSubFiles().end(), *this);
+
+ writeNumberC<unsigned int>(std::count_if(hierObj.useSubDirs().begin(), hierObj.useSubDirs().end(), IsNonEmpty<side>())); //number of (existing) directories
+ std::for_each(hierObj.useSubDirs().begin(), hierObj.useSubDirs().end(), *this);
+ }
+
+ void operator()(const FileMapping& fileMap)
+ {
+ if (!fileMap.isEmpty<side>())
+ {
+ writeStringC(fileMap.getObjShortName()); //file name
+ writeNumberC<long>( fileMap.getLastWriteTime<side>().GetHi()); //last modification time
+ writeNumberC<unsigned long>(fileMap.getLastWriteTime<side>().GetLo()); //
+ writeNumberC<unsigned long>(fileMap.getFileSize<side>().GetHi()); //filesize
+ writeNumberC<unsigned long>(fileMap.getFileSize<side>().GetLo()); //
+
+ //fileMap.getFileID<side>().toStream(stream_); //unique file identifier
+ //check();
+ }
+ }
+
+ void operator()(const DirMapping& dirMap)
+ {
+ if (!dirMap.isEmpty<side>())
+ {
+ writeStringC(dirMap.getObjShortName()); //directory name
+ execute(dirMap); //recurse
+ }
+ }
+};
+
+
+class WriteFileStream : public Utility::WriteOutputStream
+{
+public:
+ WriteFileStream(const DbStreamData& input, const wxString& filename, wxOutputStream& stream) : WriteOutputStream(filename, stream)
+ {
+ //save file format version
+ writeNumberC<int>(FILE_FORMAT_VER);
+
+ //write DB id
+ input.first.toStream(getStream());
+ check();
+
+ const DirectoryTOC& dbList = input.second;
+
+ writeNumberC<size_t>(dbList.size()); //number of database records: one for each sync-pair
+
+ for (DirectoryTOC::const_iterator i = dbList.begin(); i != dbList.end(); ++i)
+ {
+ i->first.toStream(getStream()); //DB id of partner database
+ check();
+
+ writeArrayC(*(i->second)); //write DirInformation stream
+ }
+ }
+};
+
+
+//save/load DirContainer
+void saveFile(const DbStreamData& dbStream, const Zstring& filename) //throw (FileError)
+{
+ {
+ //write format description (uncompressed)
+ FileOutputStreamDB uncompressed(filename); //throw (FileError)
+
+ wxZlibOutputStream output(uncompressed, 4, wxZLIB_ZLIB);
+ /* 4 - best compromise between speed and compression: (scanning 200.000 objects)
+ 0 (uncompressed) 8,95 MB - 422 ms
+ 2 2,07 MB - 470 ms
+ 4 1,87 MB - 500 ms
+ 6 1,77 MB - 613 ms
+ 9 (maximal compression) 1,74 MB - 3330 ms */
+
+ WriteFileStream(dbStream, zToWx(filename), output);
+ }
+ //(try to) hide database file
+#ifdef FFS_WIN
+ ::SetFileAttributes(FreeFileSync::applyLongPathPrefix(filename).c_str(), FILE_ATTRIBUTE_HIDDEN);
+#endif
+}
+
+
+void FreeFileSync::saveToDisk(const BaseDirMapping& baseMapping) //throw (FileError)
+{
+ //transactional behaviour! write to tmp files first
+ const Zstring fileNameLeftTmp = baseMapping.getDBFilename<LEFT_SIDE>() + DefaultStr(".tmp");
+ const Zstring fileNameRightTmp = baseMapping.getDBFilename<RIGHT_SIDE>() + DefaultStr(".tmp");;
+
+ //delete old tmp file, if necessary -> throws if deletion fails!
+ removeFile(fileNameLeftTmp);
+ removeFile(fileNameRightTmp);
+
+ try
+ {
+ //load old database files...
+
+ //read file data: db ID + mapping of partner-ID/DirInfo-stream: may throw!
+ DbStreamData dbEntriesLeft;
+ if (FreeFileSync::fileExists(baseMapping.getDBFilename<LEFT_SIDE>()))
+ try
+ {
+ dbEntriesLeft = ::loadFile(baseMapping.getDBFilename<LEFT_SIDE>());
+ }
+ catch(FileError&) {} //if error occurs: just overwrite old file! User is informed about issues right after comparing!
+ //else -> dbEntriesLeft has empty mapping, but already a DB-ID!
+
+ //read file data: db ID + mapping of partner-ID/DirInfo-stream: may throw!
+ DbStreamData dbEntriesRight;
+ if (FreeFileSync::fileExists(baseMapping.getDBFilename<RIGHT_SIDE>()))
+ try
+ {
+ dbEntriesRight = ::loadFile(baseMapping.getDBFilename<RIGHT_SIDE>());
+ }
+ catch(FileError&) {} //if error occurs: just overwrite old file! User is informed about issues right after comparing!
+
+ //create new database entries
+ MemoryStreamPtr dbEntryLeft(new std::vector<char>);
+ {
+ wxMemoryOutputStream buffer;
+ SaveDirInfo<LEFT_SIDE>(baseMapping, zToWx(baseMapping.getDBFilename<LEFT_SIDE>()), buffer);
+ dbEntryLeft->resize(buffer.GetSize()); //convert output stream to char-array
+ buffer.CopyTo(&(*dbEntryLeft)[0], buffer.GetSize()); //
+ }
+
+ MemoryStreamPtr dbEntryRight(new std::vector<char>);
+ {
+ wxMemoryOutputStream buffer;
+ SaveDirInfo<RIGHT_SIDE>(baseMapping, zToWx(baseMapping.getDBFilename<RIGHT_SIDE>()), buffer);
+ dbEntryRight->resize(buffer.GetSize()); //convert output stream to char-array
+ buffer.CopyTo(&(*dbEntryRight)[0], buffer.GetSize()); //
+ }
+
+ //create/update DirInfo-streams
+ dbEntriesLeft.second[dbEntriesRight.first] = dbEntryLeft;
+ dbEntriesRight.second[dbEntriesLeft.first] = dbEntryRight;
+
+ //write (temp-) files...
+ saveFile(dbEntriesLeft, fileNameLeftTmp); //throw (FileError)
+ saveFile(dbEntriesRight, fileNameRightTmp); //throw (FileError)
+
+ //operation finished: rename temp files -> this should work transactionally:
+ //if there were no write access, creation of temp files would have failed
+ removeFile(baseMapping.getDBFilename<LEFT_SIDE>());
+ removeFile(baseMapping.getDBFilename<RIGHT_SIDE>());
+ renameFile(fileNameLeftTmp, baseMapping.getDBFilename<LEFT_SIDE>()); //throw (FileError);
+ renameFile(fileNameRightTmp, baseMapping.getDBFilename<RIGHT_SIDE>()); //throw (FileError);
+ }
+ catch (...)
+ {
+ try //clean up: (try to) delete old tmp files
+ {
+ removeFile(fileNameLeftTmp);
+ }
+ catch (...) {}
+ try
+ {
+ removeFile(fileNameRightTmp);
+ }
+ catch (...) {}
+
+ throw;
+ }
+}
diff --git a/library/dbFile.h b/library/dbFile.h
new file mode 100644
index 00000000..e7db0393
--- /dev/null
+++ b/library/dbFile.h
@@ -0,0 +1,20 @@
+// **************************************************************************
+// * This file is part of the FreeFileSync project. It is distributed under *
+// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
+// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) *
+// **************************************************************************
+//
+#ifndef DBFILE_H_INCLUDED
+#define DBFILE_H_INCLUDED
+
+#include "../fileHierarchy.h"
+
+namespace FreeFileSync
+{
+void saveToDisk(const BaseDirMapping& baseMapping); //throw (FileError)
+
+typedef boost::shared_ptr<const DirInformation> DirInfoPtr;
+std::pair<DirInfoPtr, DirInfoPtr> loadFromDisk(const BaseDirMapping& baseMapping); //throw (FileError) -> return value always bound!
+}
+
+#endif // DBFILE_H_INCLUDED
diff --git a/library/filter.cpp b/library/filter.cpp
index b1b67b86..d7f12bec 100644
--- a/library/filter.cpp
+++ b/library/filter.cpp
@@ -273,8 +273,8 @@ bool NameFilter::isNull() const
bool NameFilter::cmpLessSameType(const BaseFilter& other) const
{
- //typeid(*this) == typeid(other) in this context!
- assert(typeid(*this) == typeid(other));
+ assert(typeid(*this) == typeid(other)); //always given in this context!
+
const NameFilter& otherNameFilt = static_cast<const NameFilter&>(other);
if (filterFileIn != otherNameFilt.filterFileIn)
diff --git a/library/filter.h b/library/filter.h
index 6ec5a3d5..5df74997 100644
--- a/library/filter.h
+++ b/library/filter.h
@@ -55,7 +55,7 @@ public:
static FilterRef loadFilter(wxInputStream& stream); //CAVEAT!!! adapt this method for each new derivation!!!
private:
- virtual Zstring uniqueClassIdentifier() const = 0; //get identifier, used for serialization
+ virtual Zstring uniqueClassIdentifier() const = 0; //get identifier, used for serialization
virtual void save(wxOutputStream& stream) const = 0; //serialization
virtual bool cmpLessSameType(const BaseFilter& other) const = 0; //typeid(*this) == typeid(other) in this context!
};
@@ -91,10 +91,10 @@ private:
virtual void save(wxOutputStream& stream) const;
virtual bool cmpLessSameType(const BaseFilter& other) const;
- std::set<Zstring> filterFileIn;
- std::set<Zstring> filterFolderIn;
- std::set<Zstring> filterFileEx;
- std::set<Zstring> filterFolderEx;
+ std::set<Zstring> filterFileIn; //upper case (windows)
+ std::set<Zstring> filterFolderIn; //
+ std::set<Zstring> filterFileEx; //
+ std::set<Zstring> filterFolderEx; //
const Zstring includeFilterTmp; //save constructor arguments for serialization
const Zstring excludeFilterTmp; //
@@ -175,8 +175,7 @@ bool NullFilter::isNull() const
inline
bool NullFilter::cmpLessSameType(const BaseFilter& other) const
{
- //typeid(*this) == typeid(other) in this context!
- assert(typeid(*this) == typeid(other));
+ assert(typeid(*this) == typeid(other)); //always given in this context!
return false;
}
@@ -214,8 +213,8 @@ bool CombinedFilter::isNull() const
inline
bool CombinedFilter::cmpLessSameType(const BaseFilter& other) const
{
- //typeid(*this) == typeid(other) in this context!
- assert(typeid(*this) == typeid(other));
+ assert(typeid(*this) == typeid(other)); //always given in this context!
+
const CombinedFilter& otherCombFilt = static_cast<const CombinedFilter&>(other);
if (*first_ != *otherCombFilt.first_)
diff --git a/library/processXml.cpp b/library/processXml.cpp
index 69cf8baf..1cc279b0 100644
--- a/library/processXml.cpp
+++ b/library/processXml.cpp
@@ -6,16 +6,12 @@
//
#include "processXml.h"
#include "../shared/xmlBase.h"
-#include <wx/filefn.h>
#include <wx/intl.h>
+#include <wx/filefn.h>
#include "../shared/globalFunctions.h"
#include "../shared/standardPaths.h"
#include "../shared/stringConv.h"
-#ifdef FFS_WIN
-#include <wx/msw/wrapwin.h> //includes "windows.h"
-#endif
-
using namespace FreeFileSync;
using namespace xmlAccess; //functionally needed!!!
@@ -57,17 +53,16 @@ void xmlAccess::readGuiConfig(const wxString& filename, xmlAccess::XmlGuiConfig&
{
//load XML
if (!wxFileExists(filename))
- throw XmlError(wxString(_("File does not exist:")) + wxT(" \"") + filename + wxT("\""));
+ throw XmlError(wxString(_("File does not exist:")) + wxT("\n\"") + filename + wxT("\""));
TiXmlDocument doc;
- if (!loadXmlDocument(filename, XML_GUI_CONFIG, doc))
- throw XmlError(wxString(_("Error reading file:")) + wxT(" \"") + filename + wxT("\""));
+ loadXmlDocument(filename, XML_GUI_CONFIG, doc); //throw (XmlError)
FfsXmlParser parser(doc.RootElement());
parser.readXmlGuiConfig(config); //read GUI layout configuration
if (parser.errorsOccured())
- throw XmlError(wxString(_("Error parsing configuration file:")) + wxT(" \"") + filename + wxT("\"\n\n") +
+ throw XmlError(wxString(_("Error parsing configuration file:")) + wxT("\n\"") + filename + wxT("\"\n\n") +
parser.getErrorMessageFormatted(), XmlError::WARNING);
}
@@ -76,17 +71,16 @@ void xmlAccess::readBatchConfig(const wxString& filename, xmlAccess::XmlBatchCon
{
//load XML
if (!wxFileExists(filename))
- throw XmlError(wxString(_("File does not exist:")) + wxT(" \"") + filename + wxT("\""));
+ throw XmlError(wxString(_("File does not exist:")) + wxT("\n\"") + filename + wxT("\""));
TiXmlDocument doc;
- if (!loadXmlDocument(filename, XML_BATCH_CONFIG, doc))
- throw XmlError(wxString(_("Error reading file:")) + wxT(" \"") + filename + wxT("\""));
+ loadXmlDocument(filename, XML_BATCH_CONFIG, doc); //throw (XmlError)
FfsXmlParser parser(doc.RootElement());
parser.readXmlBatchConfig(config); //read GUI layout configuration
if (parser.errorsOccured())
- throw XmlError(wxString(_("Error parsing configuration file:")) + wxT(" \"") + filename + wxT("\"\n\n") +
+ throw XmlError(wxString(_("Error parsing configuration file:")) + wxT("\n\"") + filename + wxT("\"\n\n") +
parser.getErrorMessageFormatted(), XmlError::WARNING);
}
@@ -95,17 +89,16 @@ void xmlAccess::readGlobalSettings(xmlAccess::XmlGlobalSettings& config)
{
//load XML
if (!wxFileExists(getGlobalConfigFile()))
- throw XmlError(wxString(_("File does not exist:")) + wxT(" \"") + getGlobalConfigFile() + wxT("\""));
+ throw XmlError(wxString(_("File does not exist:")) + wxT("\n\"") + getGlobalConfigFile() + wxT("\""));
TiXmlDocument doc;
- if (!loadXmlDocument(getGlobalConfigFile(), XML_GLOBAL_SETTINGS, doc))
- throw XmlError(wxString(_("Error reading file:")) + wxT(" \"") + getGlobalConfigFile() + wxT("\""));
+ loadXmlDocument(getGlobalConfigFile(), XML_GLOBAL_SETTINGS, doc); //throw (XmlError)
FfsXmlParser parser(doc.RootElement());
parser.readXmlGlobalSettings(config); //read GUI layout configuration
if (parser.errorsOccured())
- throw XmlError(wxString(_("Error parsing configuration file:")) + wxT(" \"") + getGlobalConfigFile() + wxT("\"\n\n") +
+ throw XmlError(wxString(_("Error parsing configuration file:")) + wxT("\n\"") + getGlobalConfigFile() + wxT("\"\n\n") +
parser.getErrorMessageFormatted(), XmlError::WARNING);
}
@@ -116,10 +109,10 @@ void xmlAccess::writeGuiConfig(const XmlGuiConfig& outputCfg, const wxString& fi
getDefaultXmlDocument(XML_GUI_CONFIG, doc);
//populate and write XML tree
- if ( !writeXmlGuiConfig(outputCfg, doc) || //add GUI layout configuration settings
- !saveXmlDocument(filename, doc)) //save XML
- throw XmlError(wxString(_("Error writing file:")) + wxT(" \"") + filename + wxT("\""));
- return;
+ if (!writeXmlGuiConfig(outputCfg, doc)) //add GUI layout configuration settings
+ throw XmlError(wxString(_("Error writing file:")) + wxT("\n\"") + filename + wxT("\""));
+
+ saveXmlDocument(filename, doc); //throw (XmlError)
}
@@ -129,10 +122,10 @@ void xmlAccess::writeBatchConfig(const XmlBatchConfig& outputCfg, const wxString
getDefaultXmlDocument(XML_BATCH_CONFIG, doc);
//populate and write XML tree
- if ( !writeXmlBatchConfig(outputCfg, doc) || //add batch configuration settings
- !saveXmlDocument(filename, doc)) //save XML
- throw XmlError(wxString(_("Error writing file:")) + wxT(" \"") + filename + wxT("\""));
- return;
+ if (!writeXmlBatchConfig(outputCfg, doc)) //add batch configuration settings
+ throw XmlError(wxString(_("Error writing file:")) + wxT("\n\"") + filename + wxT("\""));
+
+ saveXmlDocument(filename, doc); //throw (XmlError)
}
@@ -142,10 +135,10 @@ void xmlAccess::writeGlobalSettings(const XmlGlobalSettings& outputCfg)
getDefaultXmlDocument(XML_GLOBAL_SETTINGS, doc);
//populate and write XML tree
- if ( !writeXmlGlobalSettings(outputCfg, doc) || //add GUI layout configuration settings
- !saveXmlDocument(getGlobalConfigFile(), doc)) //save XML
- throw XmlError(wxString(_("Error writing file:")) + wxT(" \"") + getGlobalConfigFile() + wxT("\""));
- return;
+ if (!writeXmlGlobalSettings(outputCfg, doc)) //add GUI layout configuration settings
+ throw XmlError(wxString(_("Error writing file:")) + wxT("\n\"") + getGlobalConfigFile() + wxT("\""));
+
+ saveXmlDocument(getGlobalConfigFile(), doc); //throw (XmlError)
}
@@ -298,7 +291,7 @@ void FfsXmlParser::readXmlLocalConfig(const TiXmlElement& folderPair, FolderPair
void FfsXmlParser::readXmlMainConfig(MainConfiguration& mainCfg)
{
- TiXmlHandleConst hRoot(root); //custom const handle: TiXml API seems broken in this regard
+ TiXmlHandleConst hRoot(getRoot()); //custom const handle: TiXml API seems broken in this regard
//###########################################################
const TiXmlElement* cmpSettings = hRoot.FirstChild("MainConfig").FirstChild("Comparison").ToElement();
@@ -378,7 +371,7 @@ void FfsXmlParser::readXmlGuiConfig(xmlAccess::XmlGuiConfig& outputCfg)
readXmlMainConfig(outputCfg.mainCfg);
//read GUI specific config data
- const TiXmlElement* guiConfig = TiXmlHandleConst(root).FirstChild("GuiConfig").ToElement();
+ const TiXmlElement* guiConfig = TiXmlHandleConst(getRoot()).FirstChild("GuiConfig").ToElement();
readXmlElementLogging("HideFiltered", guiConfig, outputCfg.hideFilteredElements);
@@ -396,7 +389,7 @@ void FfsXmlParser::readXmlBatchConfig(xmlAccess::XmlBatchConfig& outputCfg)
readXmlMainConfig(outputCfg.mainCfg);
//read batch specific config
- const TiXmlElement* batchConfig = TiXmlHandleConst(root).FirstChild("BatchConfig").ToElement();
+ const TiXmlElement* batchConfig = TiXmlHandleConst(getRoot()).FirstChild("BatchConfig").ToElement();
readXmlElementLogging("Silent", batchConfig, outputCfg.silent);
readXmlElementLogging("LogfileDirectory", batchConfig, outputCfg.logFileDirectory);
@@ -407,7 +400,7 @@ void FfsXmlParser::readXmlBatchConfig(xmlAccess::XmlBatchConfig& outputCfg)
void FfsXmlParser::readXmlGlobalSettings(xmlAccess::XmlGlobalSettings& outputCfg)
{
//read global settings
- const TiXmlElement* global = TiXmlHandleConst(root).FirstChild("Shared").ToElement();
+ const TiXmlElement* global = TiXmlHandleConst(getRoot()).FirstChild("Shared").ToElement();
//try to read program language setting
readXmlElementLogging("Language", global, outputCfg.programLanguage);
@@ -418,11 +411,8 @@ void FfsXmlParser::readXmlGlobalSettings(xmlAccess::XmlGlobalSettings& outputCfg
//copy locked files using VSS
readXmlElementLogging("CopyLockedFiles", global, outputCfg.copyLockedFiles);
- //last update check
- readXmlElementLogging("LastCheckForUpdates", global, outputCfg.lastUpdateCheck);
-
- const TiXmlElement* optionalDialogs = TiXmlHandleConst(root).FirstChild("Shared").FirstChild("ShowOptionalDialogs").ToElement();
+ const TiXmlElement* optionalDialogs = TiXmlHandleConst(getRoot()).FirstChild("Shared").FirstChild("ShowOptionalDialogs").ToElement();
//folder dependency check
readXmlElementLogging("CheckForDependentFolders", optionalDialogs, outputCfg.optDialogs.warningDependentFolders);
@@ -441,7 +431,8 @@ void FfsXmlParser::readXmlGlobalSettings(xmlAccess::XmlGlobalSettings& outputCfg
//gui specific global settings (optional)
- const TiXmlElement* mainWindow = TiXmlHandleConst(root).FirstChild("Gui").FirstChild("Windows").FirstChild("Main").ToElement();
+ const TiXmlElement* gui = TiXmlHandleConst(getRoot()).FirstChild("Gui").ToElement();
+ const TiXmlElement* mainWindow = TiXmlHandleConst(gui).FirstChild("Windows").FirstChild("Main").ToElement();
//read application window size and position
readXmlElementLogging("Width", mainWindow, outputCfg.gui.widthNotMaximized);
@@ -509,8 +500,6 @@ void FfsXmlParser::readXmlGlobalSettings(xmlAccess::XmlGlobalSettings& outputCfg
readXmlElementLogging("SelectedTabBottomLeft", mainWindow, outputCfg.gui.selectedTabBottomLeft);
- const TiXmlElement* gui = TiXmlHandleConst(root).FirstChild("Gui").ToElement();
-
//external applications
const TiXmlElement* extApps = TiXmlHandleConst(gui).FirstChild("ExternalApplications").FirstChild("Commandline").ToElement();
if (extApps)
@@ -530,7 +519,7 @@ void FfsXmlParser::readXmlGlobalSettings(xmlAccess::XmlGlobalSettings& outputCfg
}
}
//load config file history
- const TiXmlElement* cfgHistory = TiXmlHandleConst(root).FirstChild("Gui").FirstChild("ConfigHistory").ToElement();
+ const TiXmlElement* cfgHistory = TiXmlHandleConst(gui).FirstChild("ConfigHistory").ToElement();
//load max. history size
readXmlAttributeLogging("MaximumSize", cfgHistory, outputCfg.gui.cfgHistoryMax);
@@ -538,6 +527,9 @@ void FfsXmlParser::readXmlGlobalSettings(xmlAccess::XmlGlobalSettings& outputCfg
//load config history elements
readXmlElementLogging("File", cfgHistory, outputCfg.gui.cfgFileHistory);
+ //last update check
+ readXmlElementLogging("LastUpdateCheck", gui, outputCfg.gui.lastUpdateCheck);
+
//batch specific global settings
//const TiXmlElement* batch = TiXmlHandleConst(root).FirstChild("Batch").ToElement();
@@ -818,9 +810,6 @@ bool writeXmlGlobalSettings(const xmlAccess::XmlGlobalSettings& inputCfg, TiXmlD
//copy locked files using VSS
addXmlElement("CopyLockedFiles", inputCfg.copyLockedFiles, global);
- //last update check
- addXmlElement("LastCheckForUpdates", inputCfg.lastUpdateCheck, global);
-
//optional dialogs
TiXmlElement* optionalDialogs = new TiXmlElement("ShowOptionalDialogs");
@@ -943,6 +932,10 @@ bool writeXmlGlobalSettings(const xmlAccess::XmlGlobalSettings& inputCfg, TiXmlD
addXmlAttribute("MaximumSize", inputCfg.gui.cfgHistoryMax, cfgHistory);
addXmlElement("File", inputCfg.gui.cfgFileHistory, cfgHistory);
+
+ //last update check
+ addXmlElement("LastUpdateCheck", inputCfg.gui.lastUpdateCheck, gui);
+
//###################################################################
//write global batch settings
diff --git a/library/processXml.h b/library/processXml.h
index ad8465ff..13282de9 100644
--- a/library/processXml.h
+++ b/library/processXml.h
@@ -8,7 +8,6 @@
#define PROCESSXML_H_INCLUDED
#include "../structures.h"
-#include <wx/intl.h>
namespace xmlAccess
{
@@ -116,14 +115,12 @@ struct XmlGlobalSettings
XmlGlobalSettings() :
programLanguage(retrieveSystemLanguage()),
ignoreOneHourDiff(false),
- copyLockedFiles(true),
- lastUpdateCheck(0)
+ copyLockedFiles(true)
{}
int programLanguage;
bool ignoreOneHourDiff; //ignore +/- 1 hour due to DST change
bool copyLockedFiles; //VSS usage
- long lastUpdateCheck; //time of last update check
OptionalDialogs optDialogs;
@@ -150,7 +147,8 @@ struct XmlGlobalSettings
textSearchRespectCase(true),
#endif
showFileIconsLeft(true),
- showFileIconsRight(true)
+ showFileIconsRight(true),
+ lastUpdateCheck(0)
{
//default external apps will be translated "on the fly"!!!
#ifdef FFS_WIN
@@ -194,6 +192,8 @@ struct XmlGlobalSettings
bool textSearchRespectCase;
bool showFileIconsLeft;
bool showFileIconsRight;
+
+ long lastUpdateCheck; //time of last update check
} gui;
//---------------------------------------------------------------------
diff --git a/library/softFilter.cpp b/library/softFilter.cpp
new file mode 100644
index 00000000..496c185e
--- /dev/null
+++ b/library/softFilter.cpp
@@ -0,0 +1,10 @@
+// **************************************************************************
+// * This file is part of the FreeFileSync project. It is distributed under *
+// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
+// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) *
+// **************************************************************************
+//
+#include "softFilter.h"
+
+
+
diff --git a/library/softFilter.h b/library/softFilter.h
new file mode 100644
index 00000000..e4735e38
--- /dev/null
+++ b/library/softFilter.h
@@ -0,0 +1,79 @@
+// **************************************************************************
+// * This file is part of the FreeFileSync project. It is distributed under *
+// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
+// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) *
+// **************************************************************************
+//
+#ifndef SOFTFILTER_H_INCLUDED
+#define SOFTFILTER_H_INCLUDED
+
+#include "../fileHierarchy.h"
+#include <wx/timer.h>
+/*
+Semantics of SoftFilter:
+1. It potentially can match only one side => it MUST NOT be applied while traversing a single folder to avoid mismatches
+2. => it is applied after traversing and just marks rows, (NO deletions after comparison are allowed)
+3. => not relevant for <Automatic>-mode! ;)
+
+-> SoftFilter is equivalent to a user temporarily (de-)selecting rows
+*/
+
+namespace FreeFileSync
+{
+
+class SoftFilter
+{
+public:
+ SoftFilter(size_t timeWindow) :
+ timeWindow_(timeWindow),
+ currentTime(wxGetUTCTime()) {}
+
+ bool passFilter(const FileMapping& fileMap) const;
+ bool passFilter(const DirMapping& dirMap) const;
+
+private:
+ const size_t timeWindow_; //point in time from "now" (in seconds) for oldest modification date to be allowed
+ const long currentTime; //number of seconds since GMT 00:00:00 Jan 1st 1970.
+};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+//---------------Inline Implementation---------------------------------------------------
+inline
+bool SoftFilter::passFilter(const FileMapping& fileMap) const
+{
+ return (!fileMap.isEmpty<LEFT_SIDE>() &&
+ currentTime <= fileMap.getLastWriteTime<LEFT_SIDE>() + timeWindow_) ||
+ (!fileMap.isEmpty<RIGHT_SIDE>() &&
+ currentTime <= fileMap.getLastWriteTime<RIGHT_SIDE>() + timeWindow_);
+}
+
+
+inline
+bool SoftFilter::passFilter(const DirMapping& dirMap) const
+{
+ return false;
+}
+}
+
+#endif // SOFTFILTER_H_INCLUDED
diff --git a/library/statistics.cpp b/library/statistics.cpp
index ac968d1f..6e64be1c 100644
--- a/library/statistics.cpp
+++ b/library/statistics.cpp
@@ -10,7 +10,7 @@
#include "../shared/globalFunctions.h"
#include "statusHandler.h"
//#include "../algorithm.h"
-#include "../ui/util.h"
+#include "../shared/util.h"
#include <wx/intl.h>
#include <limits>
#include <wx/stopwatch.h>
@@ -31,11 +31,11 @@ RetrieveStatistics::~RetrieveStatistics()
for (std::vector<statEntry>::const_iterator i = data.begin(); i != data.end(); ++i)
{
- outputFile.Write(globalFunctions::numberToWxString(int(i->time)));
+ outputFile.Write(FreeFileSync::numberToWxString(static_cast<int>(i->time), false));
outputFile.Write(wxT(";"));
- outputFile.Write(globalFunctions::numberToWxString(i->objects));
+ outputFile.Write(FreeFileSync::numberToWxString(i->objects, false));
outputFile.Write(wxT(";"));
- outputFile.Write(globalFunctions::numberToWxString(float(i->value)));
+ outputFile.Write(FreeFileSync::numberToWxString(static_cast<int>(i->value), false));
outputFile.Write(wxT("\n"));
}
}
@@ -104,7 +104,7 @@ wxString Statistics::formatRemainingTime(const double timeInMs) const
}
remainingTimeLast = formattedTime;
- return globalFunctions::numberToWxString(formattedTime) + unit;
+ return FreeFileSync::numberToWxString(formattedTime, false) + unit;
//+ wxT("(") + globalFunctions::numberToWxString(globalFunctions::round(timeInMs / 1000)) + wxT(")");
}
diff --git a/shared/buildInfo.h b/shared/buildInfo.h
index 7b031dfa..3aed3269 100644
--- a/shared/buildInfo.h
+++ b/shared/buildInfo.h
@@ -10,7 +10,7 @@
namespace Utility
{
//determine build info
-//seems to be safer than checking for _WIN64 (defined on windows for 64-bit compilations only) while _WIN32 is always defined
+//seems to be safer than checking for _WIN64 (defined on windows for 64-bit compilations only) while _WIN32 is always defined (even for x64 compiler!)
static const bool is32BitBuild = sizeof(void*) == 4;
static const bool is64BitBuild = sizeof(void*) == 8;
}
diff --git a/shared/fileHandling.cpp b/shared/fileHandling.cpp
index 6713b205..c81b1f2c 100644
--- a/shared/fileHandling.cpp
+++ b/shared/fileHandling.cpp
@@ -17,31 +17,25 @@
#include <wx/datetime.h>
#include "stringConv.h"
#include <wx/utils.h>
+#include <boost/scoped_array.hpp>
+#include <boost/shared_ptr.hpp>
#ifdef FFS_WIN
#include "dllLoader.h"
#include <wx/msw/wrapwin.h> //includes "windows.h"
-#include "shadow.h"
#include "longPathPrefix.h"
-#include <boost/scoped_array.hpp>
-#include <boost/shared_ptr.hpp>
#elif defined FFS_LINUX
#include <sys/stat.h>
-#include <stdio.h> //for rename()
+#include "fileIO.h"
#include <time.h>
#include <utime.h>
-#include <fstream>
-#include <unistd.h>
-#include <dirent.h>
#include <errno.h>
-#include <stdlib.h>
#endif
using FreeFileSync::FileError;
-
namespace
{
#ifdef FFS_WIN
@@ -99,6 +93,17 @@ bool replaceMacro(wxString& macro) //macro without %-characters, return true if
if (wxGetEnv(macro, &envValue))
{
macro = envValue;
+
+ //some postprocessing:
+ macro.Trim(true); //remove leading, trailing blanks
+ macro.Trim(false); //
+
+ //remove leading, trailing double-quotes
+ if ( macro.StartsWith(wxT("\"")) &&
+ macro.EndsWith(wxT("\"")) &&
+ macro.length() >= 2)
+ macro = wxString(macro.c_str() + 1, macro.length() - 2);
+
return true;
}
@@ -145,7 +150,7 @@ Zstring FreeFileSync::getFormattedDirectoryName(const Zstring& dirname)
dirnameTmp.Trim(true); //remove whitespace characters from right
dirnameTmp.Trim(false); //remove whitespace characters from left
- if (dirnameTmp.empty()) //an empty string is interpreted as "\"; this is not desired
+ if (dirnameTmp.empty()) //an empty string will later be returned as "\"; this is not desired
return Zstring();
//replace macros
@@ -157,6 +162,7 @@ Zstring FreeFileSync::getFormattedDirectoryName(const Zstring& dirname)
- \\?\-prefix which needs absolute names
- Volume Shadow Copy: volume name needs to be part of each filename
- file icon buffer (at least for extensions that are actually read from disk, e.g. "exe")
+ - ::SHFileOperation(): Using relative path names is not thread safe
WINDOWS/LINUX:
- detection of dependent directories, e.g. "\" and "C:\test"
*/
@@ -707,12 +713,12 @@ void FreeFileSync::copyFileTimes(const Zstring& sourceDir, const Zstring& target
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
NULL,
OPEN_EXISTING,
- FILE_FLAG_BACKUP_SEMANTICS, //needed for directories
+ FILE_FLAG_BACKUP_SEMANTICS, //needed to open a directory
NULL);
if (hDirRead == INVALID_HANDLE_VALUE)
return;
- boost::shared_ptr<void> dummy(hDirRead, ::CloseHandle);
+ boost::shared_ptr<void> dummy(hDirRead, ::CloseHandle);
FILETIME creationTime;
FILETIME accessTime;
@@ -727,12 +733,12 @@ void FreeFileSync::copyFileTimes(const Zstring& sourceDir, const Zstring& target
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
NULL,
OPEN_EXISTING,
- FILE_FLAG_BACKUP_SEMANTICS, //needed for directories
+ FILE_FLAG_BACKUP_SEMANTICS, //needed to open a directory
NULL);
if (hDirWrite == INVALID_HANDLE_VALUE)
return;
- boost::shared_ptr<void> dummy2(hDirWrite, ::CloseHandle);
+ boost::shared_ptr<void> dummy2(hDirWrite, ::CloseHandle);
//(try to) set new "last write time"
::SetFileTime(hDirWrite,
@@ -767,12 +773,12 @@ Zstring resolveDirectorySymlink(const Zstring& dirLinkName) //get full target pa
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
NULL,
OPEN_EXISTING,
- FILE_FLAG_BACKUP_SEMANTICS,
+ FILE_FLAG_BACKUP_SEMANTICS, //needed to open a directory
NULL);
if (hDir == INVALID_HANDLE_VALUE)
return Zstring();
- boost::shared_ptr<void> dummy(hDir, ::CloseHandle);
+ boost::shared_ptr<void> dummy(hDir, ::CloseHandle);
const unsigned int BUFFER_SIZE = 10000;
TCHAR targetPath[BUFFER_SIZE];
@@ -1190,23 +1196,6 @@ void FreeFileSync::copyFile(const Zstring& sourceFile,
#elif defined FFS_LINUX
-struct MemoryAllocator
-{
- MemoryAllocator()
- {
- buffer = new char[bufferSize];
- }
-
- ~MemoryAllocator()
- {
- delete [] buffer;
- }
-
- static const unsigned int bufferSize = 512 * 1024;
- char* buffer;
-};
-
-
void FreeFileSync::copyFile(const Zstring& sourceFile,
const Zstring& targetFile,
const bool copyFileSymLinks,
@@ -1263,41 +1252,27 @@ void FreeFileSync::copyFile(const Zstring& sourceFile,
}
//open sourceFile for reading
- std::ifstream fileIn(sourceFile.c_str(), std::ios_base::binary);
- if (fileIn.fail())
- throw FileError(wxString(_("Error opening file:")) + wxT("\n\"") + zToWx(sourceFile) + wxT("\""));
+ FileInput fileIn(sourceFile); //throw FileError()
//create targetFile and open it for writing
const Zstring temporary = createTempName(targetFile); //use temporary file until a correct date has been set
try
{
- std::ofstream fileOut(temporary.c_str(), std::ios_base::binary);
- if (fileOut.fail())
- throw FileError(wxString(_("Error opening file:")) + wxT("\n\"") + zToWx(targetFile) + wxT("\""));
+ FileOutput fileOut(temporary); //throw FileError()
+
+ const size_t BUFFER_SIZE = 512 * 1024; //512 kb seems to be the perfect buffer size
+ static boost::scoped_array<unsigned char> memory(new unsigned char[BUFFER_SIZE]);
//copy contents of sourceFile to targetFile
wxULongLong totalBytesTransferred;
- static MemoryAllocator memory;
- while (true)
+ do
{
- fileIn.read(memory.buffer, memory.bufferSize);
- if (fileIn.eof()) //end of file? fail bit is set in this case also!
- {
- fileOut.write(memory.buffer, fileIn.gcount());
- if (fileOut.bad())
- throw FileError(wxString(_("Error writing file:")) + wxT("\n\"") + zToWx(targetFile) + wxT("\""));
- break;
- }
- else if (fileIn.fail())
- throw FileError(wxString(_("Error reading file:")) + wxT("\n\"") + zToWx(sourceFile) + wxT("\""));
-
+ const size_t bytesRead = fileIn.read(memory.get(), BUFFER_SIZE); //throw FileError()
- fileOut.write(memory.buffer, memory.bufferSize);
- if (fileOut.bad())
- throw FileError(wxString(_("Error writing file:")) + wxT("\n\"") + zToWx(targetFile) + wxT("\""));
+ fileOut.write(memory.get(), bytesRead); //throw FileError()
- totalBytesTransferred += memory.bufferSize;
+ totalBytesTransferred += bytesRead;
//invoke callback method to update progress indicators
if (callback != NULL)
@@ -1313,17 +1288,18 @@ void FreeFileSync::copyFile(const Zstring& sourceFile,
zToWx(targetFile) + wxT("\"\n\n") + _("Operation aborted!"));
}
}
+
}
+ while (!fileIn.eof());
- //close streams before changing attributes
- fileIn.close();
+ //close output stream before changing attributes
fileOut.close();
//adapt file modification time:
struct utimbuf newTimes;
::time(&newTimes.actime); //set file access time to current time
newTimes.modtime = fileInfo.st_mtime;
- if (utime(temporary.c_str(), &newTimes) != 0)
+ if (::utime(temporary.c_str(), &newTimes) != 0)
{
wxString errorMessage = wxString(_("Error changing modification time:")) + wxT("\n\"") + zToWx(targetFile) + wxT("\"");
throw FileError(errorMessage + wxT("\n\n") + FreeFileSync::getLastErrorFormatted());
diff --git a/shared/fileHandling.h b/shared/fileHandling.h
index bb33bd0e..13770839 100644
--- a/shared/fileHandling.h
+++ b/shared/fileHandling.h
@@ -11,6 +11,10 @@
#include "fileError.h"
#include <wx/longlong.h>
+#ifdef FFS_WIN
+#include "shadow.h"
+#endif
+
namespace FreeFileSync
{
@@ -68,21 +72,14 @@ struct CopyFileCallback //callback functionality
virtual Response updateCopyStatus(const wxULongLong& totalBytesTransferred) = 0; //DON'T throw exceptions here, at least in Windows build!
};
-#ifdef FFS_WIN
-class ShadowCopy;
-
void copyFile(const Zstring& sourceFile,
const Zstring& targetFile,
const bool copyFileSymLinks,
+#ifdef FFS_WIN
ShadowCopy* shadowCopyHandler = NULL, //supply handler for making shadow copies
+#endif
CopyFileCallback* callback = NULL); //throw (FileError);
-#elif defined FFS_LINUX
-void copyFile(const Zstring& sourceFile,
- const Zstring& targetFile,
- const bool copyFileSymLinks,
- CopyFileCallback* callback = NULL); //throw (FileError);
-#endif
}
diff --git a/shared/fileID.cpp b/shared/fileID.cpp
index 09c63c2e..2c608afc 100644
--- a/shared/fileID.cpp
+++ b/shared/fileID.cpp
@@ -32,11 +32,11 @@ Utility::FileID Utility::retrieveFileID(const Zstring& filename)
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
NULL,
OPEN_EXISTING,
- FILE_FLAG_OPEN_REPARSE_POINT | FILE_FLAG_BACKUP_SEMANTICS, //FILE_FLAG_BACKUP_SEMANTICS needed to open directories
+ FILE_FLAG_OPEN_REPARSE_POINT | FILE_FLAG_BACKUP_SEMANTICS, //FILE_FLAG_BACKUP_SEMANTICS needed to open a directory
NULL);
if (hFile != INVALID_HANDLE_VALUE)
{
- boost::shared_ptr<void> dummy(hFile, ::CloseHandle);
+ boost::shared_ptr<void> dummy(hFile, ::CloseHandle);
BY_HANDLE_FILE_INFORMATION info;
if (::GetFileInformationByHandle(hFile, &info))
diff --git a/shared/fileIO.cpp b/shared/fileIO.cpp
new file mode 100644
index 00000000..c4825e04
--- /dev/null
+++ b/shared/fileIO.cpp
@@ -0,0 +1,157 @@
+// **************************************************************************
+// * This file is part of the FreeFileSync project. It is distributed under *
+// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
+// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) *
+// **************************************************************************
+//
+#include "fileIO.h"
+#include <wx/intl.h>
+#include "stringConv.h"
+#include "systemFunctions.h"
+
+#ifdef FFS_WIN
+#include "longPathPrefix.h"
+#endif
+
+using namespace FreeFileSync;
+
+
+FileInput::FileInput(const Zstring& filename) : //throw FileError()
+#ifdef FFS_WIN
+ eofReached(false),
+#endif
+ filename_(filename)
+{
+#ifdef FFS_WIN
+ fileHandle = ::CreateFile(FreeFileSync::applyLongPathPrefix(filename).c_str(),
+ GENERIC_READ,
+ FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, //all shared modes are required to read files that are open in other applications
+ NULL,
+ OPEN_EXISTING,
+ FILE_FLAG_SEQUENTIAL_SCAN,
+ NULL);
+ if (fileHandle == INVALID_HANDLE_VALUE)
+ throw FileError(wxString(_("Error opening file:")) + wxT("\n\"") + zToWx(filename_) + wxT("\"") +
+ wxT("\n\n") + FreeFileSync::getLastErrorFormatted());
+#elif defined FFS_LINUX
+ fileHandle = ::fopen(filename.c_str(), "rb,type=record,noseek"); //utilize UTF-8 filename
+ if (!fileHandle)
+ throw FileError(wxString(_("Error opening file:")) + wxT("\n\"") + zToWx(filename_) + wxT("\"") +
+ wxT("\n\n") + FreeFileSync::getLastErrorFormatted());
+#endif
+}
+
+
+FileInput::~FileInput()
+{
+#ifdef FFS_WIN
+ ::CloseHandle(fileHandle);
+#elif defined FFS_LINUX
+ ::fclose(fileHandle); //NEVER allow passing NULL to fclose! -> crash!; fileHandle != NULL in this context!
+#endif
+}
+
+
+size_t FileInput::read(void* buffer, size_t bytesToRead) //returns actual number of bytes read; throw FileError()
+{
+#ifdef FFS_WIN
+ DWORD bytesRead = 0;
+
+ if (!::ReadFile(
+ fileHandle, //__in HANDLE hFile,
+ buffer, //__out LPVOID lpBuffer,
+ static_cast<DWORD>(bytesToRead), //__in DWORD nNumberOfBytesToRead,
+ &bytesRead, //__out_opt LPDWORD lpNumberOfBytesRead,
+ NULL) //__inout_opt LPOVERLAPPED lpOverlapped
+ || bytesRead > bytesToRead) //must be fulfilled
+ throw FileError(wxString(_("Error reading file:")) + wxT("\n\"") + zToWx(filename_) + wxT("\"") +
+ wxT("\n\n") + FreeFileSync::getLastErrorFormatted());
+
+ if (bytesRead < bytesToRead)
+ eofReached = true;
+
+ return bytesRead;
+#elif defined FFS_LINUX
+ const size_t bytesRead = ::fread(buffer, 1, bytesToRead, fileHandle);
+ if (::ferror(fileHandle) != 0)
+ throw FileError(wxString(_("Error reading file:")) + wxT("\n\"") + zToWx(filename_) + wxT("\"") +
+ wxT("\n\n") + FreeFileSync::getLastErrorFormatted());
+ return bytesRead;
+#endif
+}
+
+
+bool FileInput::eof() //end of file reached
+{
+#ifdef FFS_WIN
+ return eofReached;
+#elif defined FFS_LINUX
+ return ::feof(fileHandle) != 0;
+#endif
+}
+
+
+FileOutput::FileOutput(const Zstring& filename) : //throw FileError()
+ filename_(filename)
+{
+#ifdef FFS_WIN
+ fileHandle = ::CreateFile(FreeFileSync::applyLongPathPrefix(filename).c_str(),
+ GENERIC_WRITE,
+ FILE_SHARE_READ,
+ NULL,
+ CREATE_ALWAYS,
+ FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN,
+ NULL);
+ if (fileHandle == INVALID_HANDLE_VALUE)
+ throw FileError(wxString(_("Error writing file:")) + wxT("\n\"") + zToWx(filename_) + wxT("\"") +
+ wxT("\n\n") + FreeFileSync::getLastErrorFormatted());
+#elif defined FFS_LINUX
+ fileHandle = ::fopen(filename.c_str(), "wb,type=record,noseek"); //utilize UTF-8 filename
+ if (!fileHandle)
+ throw FileError(wxString(_("Error writing file:")) + wxT("\n\"") + zToWx(filename_) + wxT("\"") +
+ wxT("\n\n") + FreeFileSync::getLastErrorFormatted());
+#endif
+}
+
+
+FileOutput::~FileOutput()
+{
+ close(); //may be called more than once
+}
+
+
+void FileOutput::write(const void* buffer, size_t bytesToWrite) //throw FileError()
+{
+#ifdef FFS_WIN
+ DWORD bytesWritten = 0;
+
+ if (!::WriteFile(
+ fileHandle, //__in HANDLE hFile,
+ buffer, //__out LPVOID lpBuffer,
+ static_cast<DWORD>(bytesToWrite), //__in DWORD nNumberOfBytesToRead,
+ &bytesWritten, //__out_opt LPDWORD lpNumberOfBytesWritten,
+ NULL) //__inout_opt LPOVERLAPPED lpOverlapped
+ || bytesWritten != bytesToWrite) //must be fulfilled for synchronous writes!
+ throw FileError(wxString(_("Error writing file:")) + wxT("\n\"") + zToWx(filename_) + wxT("\"") +
+ wxT("\n\n") + FreeFileSync::getLastErrorFormatted());
+#elif defined FFS_LINUX
+ const size_t bytesWritten = ::fwrite(buffer, 1, bytesToWrite, fileHandle);
+ if (::ferror(fileHandle) != 0 || bytesWritten != bytesToWrite)
+ throw FileError(wxString(_("Error writing file:")) + wxT("\n\"") + zToWx(filename_) + wxT("\"") +
+ wxT("\n\n") + FreeFileSync::getLastErrorFormatted() + wxT(" (w)")); //w -> distinguish from fopen error message!
+#endif
+}
+
+
+void FileOutput::close() //close file stream
+{
+ if (fileHandle != NULL) //NEVER allow passing NULL to fclose! -> crash!
+ {
+#ifdef FFS_WIN
+ ::CloseHandle(fileHandle);
+#elif defined FFS_LINUX
+ ::fclose(fileHandle);
+#endif
+ fileHandle = NULL;
+ }
+}
diff --git a/shared/fileIO.h b/shared/fileIO.h
new file mode 100644
index 00000000..313ceece
--- /dev/null
+++ b/shared/fileIO.h
@@ -0,0 +1,98 @@
+// **************************************************************************
+// * This file is part of the FreeFileSync project. It is distributed under *
+// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
+// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) *
+// **************************************************************************
+//
+#ifndef FILEIO_H_INCLUDED
+#define FILEIO_H_INCLUDED
+
+#include <wx/stream.h>
+
+#ifdef FFS_WIN
+#include <wx/msw/wrapwin.h> //includes "windows.h"
+#elif defined FFS_LINUX
+#include <stdio.h>
+#endif
+
+#include "zstring.h"
+#include "fileError.h"
+
+namespace FreeFileSync
+{
+//file IO optimized for sequential read/write accesses + better error reporting + long path support
+
+class FileInput
+{
+public:
+ FileInput(const Zstring& filename); //throw FileError()
+ ~FileInput();
+
+ size_t read(void* buffer, size_t bytesToRead); //returns actual number of bytes read; throw FileError()
+ bool eof(); //end of file reached
+
+private:
+#ifdef FFS_WIN
+ HANDLE fileHandle;
+ bool eofReached;
+#elif defined FFS_LINUX
+ FILE* fileHandle;
+#endif
+ const Zstring filename_;
+};
+
+
+class FileOutput
+{
+public:
+ FileOutput(const Zstring& filename); //throw FileError()
+ ~FileOutput();
+
+ void write(const void* buffer, size_t bytesToWrite); //throw FileError()
+ void close(); //close file stream
+private:
+#ifdef FFS_WIN
+ HANDLE fileHandle;
+#elif defined FFS_LINUX
+ FILE* fileHandle;
+#endif
+ const Zstring filename_;
+};
+
+
+//############# wxWidgets stream adapter #############
+// can be used as base classes (have virtual destructors)
+class FileInputStream : public wxInputStream
+{
+public:
+ FileInputStream(const Zstring& filename) : //throw FileError()
+ fileObj(filename) {}
+
+private:
+ virtual size_t OnSysRead(void* buffer, size_t bufsize) //throw FileError()
+ {
+ return fileObj.read(buffer, bufsize);
+ }
+
+ FileInput fileObj;
+};
+
+
+class FileOutputStream : public wxOutputStream
+{
+public:
+ FileOutputStream(const Zstring& filename) : //throw FileError()
+ fileObj(filename) {}
+
+private:
+ virtual size_t OnSysWrite(const void* buffer, size_t bufsize) //throw FileError()
+ {
+ fileObj.write(buffer, bufsize);
+ return bufsize;
+ }
+
+ FileOutput fileObj;
+};
+}
+
+#endif // FILEIO_H_INCLUDED
diff --git a/shared/fileTraverser.cpp b/shared/fileTraverser.cpp
index 1657f66c..ee98c572 100644
--- a/shared/fileTraverser.cpp
+++ b/shared/fileTraverser.cpp
@@ -9,11 +9,11 @@
#include "systemFunctions.h"
#include <wx/intl.h>
#include "stringConv.h"
+#include <boost/shared_ptr.hpp>
#ifdef FFS_WIN
#include <wx/msw/wrapwin.h> //includes "windows.h"
#include "longPathPrefix.h"
-#include <boost/shared_ptr.hpp>
#elif defined FFS_LINUX
#include <sys/stat.h>
@@ -23,6 +23,38 @@
#ifdef FFS_WIN
+//Note: this class is superfluous for 64 bit applications!
+//class DisableWow64Redirection
+//{
+//public:
+// DisableWow64Redirection() :
+// wow64DisableWow64FsRedirection(Utility::loadDllFunction<Wow64DisableWow64FsRedirectionFunc>(L"kernel32.dll", "Wow64DisableWow64FsRedirection")),
+// wow64RevertWow64FsRedirection(Utility::loadDllFunction<Wow64RevertWow64FsRedirectionFunc>(L"kernel32.dll", "Wow64RevertWow64FsRedirection")),
+// oldValue(NULL)
+// {
+// if ( wow64DisableWow64FsRedirection &&
+// wow64RevertWow64FsRedirection)
+// (*wow64DisableWow64FsRedirection)(&oldValue); //__out PVOID *OldValue
+// }
+//
+// ~DisableWow64Redirection()
+// {
+// if ( wow64DisableWow64FsRedirection &&
+// wow64RevertWow64FsRedirection)
+// (*wow64RevertWow64FsRedirection)(oldValue); //__in PVOID OldValue
+// }
+//
+//private:
+// typedef BOOL (WINAPI *Wow64DisableWow64FsRedirectionFunc)(PVOID* OldValue);
+// typedef BOOL (WINAPI *Wow64RevertWow64FsRedirectionFunc)(PVOID OldValue);
+//
+// const Wow64DisableWow64FsRedirectionFunc wow64DisableWow64FsRedirection;
+// const Wow64RevertWow64FsRedirectionFunc wow64RevertWow64FsRedirection;
+//
+// PVOID oldValue;
+//};
+
+
inline
void setWin32FileInformation(const FILETIME& lastWriteTime,
const DWORD fileSizeHigh,
@@ -53,7 +85,7 @@ bool setWin32FileInformationFromSymlink(const Zstring linkName, FreeFileSync::Tr
if (hFile == INVALID_HANDLE_VALUE)
return false;
- boost::shared_ptr<void> dummy(hFile, ::CloseHandle);
+ boost::shared_ptr<void> dummy(hFile, ::CloseHandle);
BY_HANDLE_FILE_INFORMATION fileInfoByHandle;
@@ -66,21 +98,6 @@ bool setWin32FileInformationFromSymlink(const Zstring linkName, FreeFileSync::Tr
setWin32FileInformation(fileInfoByHandle.ftLastWriteTime, fileInfoByHandle.nFileSizeHigh, fileInfoByHandle.nFileSizeLow, output);
return true;
}
-
-#elif defined FFS_LINUX
-class CloseDirOnExit
-{
-public:
- CloseDirOnExit(DIR* dir) : m_dir(dir) {}
-
- ~CloseDirOnExit()
- {
- ::closedir(m_dir); //no error handling here
- }
-
-private:
- DIR* m_dir;
-};
#endif
@@ -130,7 +147,7 @@ bool traverseDirectory(const Zstring& directory, FreeFileSync::TraverseCallback*
}
}
-boost::shared_ptr<void> dummy(searchHandle, ::FindClose);
+ boost::shared_ptr<void> dummy(searchHandle, ::FindClose);
do
{
@@ -168,8 +185,9 @@ boost::shared_ptr<void> dummy(searchHandle, ::FindClose);
if (fileMetaData.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) //dereference symlinks!
{
- if (!setWin32FileInformationFromSymlink(fullName, details)) //broken symlink
+ if (!setWin32FileInformationFromSymlink(fullName, details))
{
+ //broken symlink...
details.lastWriteTimeRaw = 0; //we are not interested in the modifiation time of the link
details.fileSize = 0;
}
@@ -216,7 +234,8 @@ boost::shared_ptr<void> dummy(searchHandle, ::FindClose);
return true;
}
}
- CloseDirOnExit dummy(dirObj);
+
+ boost::shared_ptr<DIR> dummy(dirObj, &::closedir); //never close NULL handles! -> crash
while (true)
{
diff --git a/shared/globalFunctions.cpp b/shared/globalFunctions.cpp
index 029d542a..9cfa6fff 100644
--- a/shared/globalFunctions.cpp
+++ b/shared/globalFunctions.cpp
@@ -59,7 +59,7 @@ Performance::~Performance()
void Performance::showResult()
{
resultWasShown = true;
- wxMessageBox(globalFunctions::numberToWxString(unsigned(timer->Time())) + wxT(" ms"));
+ wxMessageBox(wxLongLong(timer->Time()).ToString() + wxT(" ms"));
timer->Start(); //reset timer
}
@@ -110,5 +110,5 @@ void DebugLog::write(const wxString& logText)
wxString getCodeLocation(const wxString file, const int line)
{
- return wxString(file).AfterLast(globalFunctions::FILE_NAME_SEPARATOR) + wxT(", LINE ") + globalFunctions::numberToWxString(line) + wxT(" | ");
+ return wxString(file).AfterLast(globalFunctions::FILE_NAME_SEPARATOR) + wxT(", LINE ") + wxLongLong(line).ToString() + wxT(" | ");
}
diff --git a/shared/globalFunctions.h b/shared/globalFunctions.h
index 781e2dec..f4f2caa4 100644
--- a/shared/globalFunctions.h
+++ b/shared/globalFunctions.h
@@ -47,9 +47,6 @@ std::string numberToString(const T& number) //convert number to string the C++ w
return ss.str();
}
-wxString numberToWxString(const unsigned int number); //convert number to wxString
-wxString numberToWxString(const int number); //convert number to wxString
-wxString numberToWxString(const float number); //convert number to wxString
int stringToInt( const std::string& number); //convert String to number
long stringToLong( const std::string& number); //convert String to number
@@ -222,27 +219,6 @@ void globalFunctions::writeNumber(std::ofstream& stream, T number)
inline
-wxString globalFunctions::numberToWxString(const unsigned int number)
-{
- return wxString::Format(wxT("%u"), number);
-}
-
-
-inline
-wxString globalFunctions::numberToWxString(const int number)
-{
- return wxString::Format(wxT("%i"), number);
-}
-
-
-inline
-wxString globalFunctions::numberToWxString(const float number)
-{
- return wxString::Format(wxT("%f"), number);
-}
-
-
-inline
int globalFunctions::stringToInt(const std::string& number)
{
return atoi(number.c_str());
diff --git a/shared/helpProvider.cpp b/shared/helpProvider.cpp
index 9cc4aeed..73c71eb1 100644
--- a/shared/helpProvider.cpp
+++ b/shared/helpProvider.cpp
@@ -7,7 +7,7 @@
#include "helpProvider.h"
#include <wx/help.h>
#include "standardPaths.h"
-
+#include <wx/image.h>
namespace
{
@@ -18,9 +18,11 @@ public:
{
controller.Initialize(FreeFileSync::getResourceDir() +
#ifdef FFS_WIN
- wxT("FreeFileSync.chm"));
+ wxT("FreeFileSync.chm"));
#elif defined FFS_LINUX
- wxT("Help/FreeFileSync.hhp"));
+ wxT("Help/FreeFileSync.hhp"));
+
+ wxImage::AddHandler(new wxJPEGHandler); //ownership passed; display .jpg files correctly in Linux
#endif
}
@@ -29,7 +31,7 @@ public:
if (section.empty())
controller.DisplayContents();
else
- controller.DisplaySection(section);
+ controller.DisplaySection(section);
}
private:
diff --git a/shared/localization.cpp b/shared/localization.cpp
index bcb594a6..504c6523 100644
--- a/shared/localization.cpp
+++ b/shared/localization.cpp
@@ -19,9 +19,24 @@ using FreeFileSync::LocalizationInfo;
//_("Browse") <- dummy string for wxDirPickerCtrl to be recognized by automatic text extraction!
-//these two global variables are language-dependent => cannot be set constant! See CustomLocale
-const wxChar* FreeFileSync::THOUSANDS_SEPARATOR = wxEmptyString;
-const wxChar* FreeFileSync::DECIMAL_POINT = wxEmptyString;
+namespace
+{
+//will receive their proper value in CustomLocale::CustomLocale()
+wxString THOUSANDS_SEPARATOR = wxT(",");
+wxString DECIMAL_POINT = wxT(".");
+}
+
+
+wxString FreeFileSync::getThousandsSeparator()
+{
+ return THOUSANDS_SEPARATOR;
+}
+
+
+wxString FreeFileSync::getDecimalPoint()
+{
+ return DECIMAL_POINT;
+}
const std::vector<FreeFileSync::LocInfoLine>& LocalizationInfo::getMapping()
@@ -49,11 +64,18 @@ LocalizationInfo::LocalizationInfo()
newEntry.languageFlag = wxT("germany.png");
locMapping.push_back(newEntry);
+ newEntry.languageID = wxLANGUAGE_ENGLISH_UK;
+ newEntry.languageName = wxT("English (UK)");
+ newEntry.languageFile = wxT("english_uk.lng");
+ newEntry.translatorName = wxT("Robert Readman");
+ newEntry.languageFlag = wxT("england.png");
+ locMapping.push_back(newEntry);
+
newEntry.languageID = wxLANGUAGE_ENGLISH;
- newEntry.languageName = wxT("English");
+ newEntry.languageName = wxT("English (US)");
newEntry.languageFile = wxT("");
newEntry.translatorName = wxT("ZenJu");
- newEntry.languageFlag = wxT("england.png");
+ newEntry.languageFlag = wxT("usa.png");
locMapping.push_back(newEntry);
newEntry.languageID = wxLANGUAGE_SPANISH;
@@ -256,7 +278,7 @@ int mapLanguageDialect(const int language)
//case wxLANGUAGE_PORTUGUESE:
//case wxLANGUAGE_PORTUGUESE_BRAZILIAN:
-//variants of wxLANGUAGE_ARABIC -> needed to detect RTL languages
+ //variants of wxLANGUAGE_ARABIC -> needed to detect RTL languages
case wxLANGUAGE_ARABIC_ALGERIA:
case wxLANGUAGE_ARABIC_BAHRAIN:
case wxLANGUAGE_ARABIC_EGYPT:
@@ -276,6 +298,20 @@ int mapLanguageDialect(const int language)
case wxLANGUAGE_ARABIC_YEMEN:
return wxLANGUAGE_ARABIC;
+ //variants of wxLANGUAGE_ENGLISH_UK
+ case wxLANGUAGE_ENGLISH_AUSTRALIA:
+ case wxLANGUAGE_ENGLISH_NEW_ZEALAND:
+ case wxLANGUAGE_ENGLISH_TRINIDAD:
+ case wxLANGUAGE_ENGLISH_CARIBBEAN:
+ case wxLANGUAGE_ENGLISH_JAMAICA:
+ case wxLANGUAGE_ENGLISH_BELIZE:
+ case wxLANGUAGE_ENGLISH_EIRE:
+ case wxLANGUAGE_ENGLISH_SOUTH_AFRICA:
+ case wxLANGUAGE_ENGLISH_ZIMBABWE:
+ case wxLANGUAGE_ENGLISH_BOTSWANA:
+ case wxLANGUAGE_ENGLISH_DENMARK:
+ return wxLANGUAGE_ENGLISH_UK;
+
default:
return language;
}
@@ -304,6 +340,11 @@ CustomLocale::CustomLocale() :
const bool isRTLLanguage = mappedSystemLang == wxLANGUAGE_HEBREW ||
mappedSystemLang == wxLANGUAGE_ARABIC;
Init(isRTLLanguage ? wxLANGUAGE_ENGLISH : wxLANGUAGE_DEFAULT); //setting a different language needn't be supported on all systems!
+
+ //actually these two parameters are language dependent, but we take system setting to handle all kinds of language derivations
+ const lconv* localInfo = localeconv();
+ THOUSANDS_SEPARATOR = wxString::FromUTF8(localInfo->thousands_sep);
+ DECIMAL_POINT = wxString::FromUTF8(localInfo->decimal_point);
}
@@ -463,10 +504,6 @@ void CustomLocale::setLanguage(const int language)
else
; //if languageFile is empty texts will be english per default
- //these global variables (logical const) need to be redetermined on language selection
- FreeFileSync::THOUSANDS_SEPARATOR = _(",");
- FreeFileSync::DECIMAL_POINT = _(".");
-
//static const wxString dummy1 = std::use_facet<std::numpunct<wchar_t> >(std::locale("")).decimal_point();
//static const wxString dummy2 = std::use_facet<std::numpunct<wchar_t> >(std::locale("")).thousands_sep();
}
diff --git a/shared/localization.h b/shared/localization.h
index 157969cf..1e4cb6ed 100644
--- a/shared/localization.h
+++ b/shared/localization.h
@@ -16,10 +16,9 @@ class Translation;
namespace FreeFileSync
{
-//language dependent global variables: need to be initialized by CustomLocale on program startup and language switch
-
-extern const wxChar* THOUSANDS_SEPARATOR;
-extern const wxChar* DECIMAL_POINT;
+//language independent global variables: just use operating system's default setting!
+wxString getThousandsSeparator();
+wxString getDecimalPoint();
struct LocInfoLine
diff --git a/shared/recycler.cpp b/shared/recycler.cpp
index 4b5a4639..438db680 100644
--- a/shared/recycler.cpp
+++ b/shared/recycler.cpp
@@ -123,6 +123,7 @@ void moveToWindowsRecycler(const std::vector<Zstring>& filesToDelete) //throw (
{
//#warning moving long file paths to recycler does not work! clarify!
//filenameDoubleNull += removeLongPathPrefix(*i); //::SHFileOperation() can't handle \\?\-prefix!
+ //You should use fully-qualified path names with this function. Using it with relative path names is not thread safe.
filenameDoubleNull += *i; //::SHFileOperation() can't handle \\?\-prefix!
filenameDoubleNull += DefaultChar(0);
}
@@ -164,7 +165,7 @@ void FreeFileSync::moveToRecycleBin(const Zstring& fileToDelete) //throw (FileE
return; //neither file nor any other object with that name existing: no error situation, manual deletion relies on it!
#ifdef RECYCLER_GIO
- boost::shared_ptr<GFile> fileObj(g_file_new_for_path(fileToDelete.c_str()), &g_object_unref);
+ boost::shared_ptr<GFile> fileObj(g_file_new_for_path(fileToDelete.c_str()), &g_object_unref); //g_file_new_for_path never fails => g_object_unref can always be safely called
GError* error = NULL;
if (g_file_trash(fileObj.get(), NULL, &error) == FALSE)
{
@@ -199,8 +200,7 @@ bool FreeFileSync::recycleBinExists()
#elif defined RECYCLER_NONE
return false;
#else
-you have to choose a recycler!
+ you have to choose a recycler!
#endif
-
#endif
}
diff --git a/shared/serialize.h b/shared/serialize.h
index 0647524b..f1c4dc49 100644
--- a/shared/serialize.h
+++ b/shared/serialize.h
@@ -42,9 +42,13 @@ protected:
void check();
protected:
- wxInputStream& stream_;
+ wxInputStream& getStream()
+ {
+ return stream_;
+ }
private:
+ wxInputStream& stream_;
void throwReadError(); //throw FileError()
const wxString& errorObjName_; //used for error text only
};
@@ -65,9 +69,13 @@ protected:
void check();
protected:
- wxOutputStream& stream_;
+ wxOutputStream& getStream()
+ {
+ return stream_;
+ }
private:
+ wxOutputStream& stream_;
void throwWriteError(); //throw FileError()
const wxString& errorObjName_; //used for error text only!
};
diff --git a/shared/shadow.cpp b/shared/shadow.cpp
index fd99da16..be0f7c85 100644
--- a/shared/shadow.cpp
+++ b/shared/shadow.cpp
@@ -34,13 +34,15 @@ bool newerThanXP()
bool runningWOW64() //test if process is running under WOW64 (reference http://msdn.microsoft.com/en-us/library/ms684139(VS.85).aspx)
{
+ //dynamically load windows API function
typedef BOOL (WINAPI *IsWow64ProcessFunc)(
HANDLE hProcess,
PBOOL Wow64Process);
- const IsWow64ProcessFunc isWow64Process = reinterpret_cast<IsWow64ProcessFunc>(
- ::GetProcAddress(GetModuleHandle(TEXT("kernel32")), "IsWow64Process"));
- if (isWow64Process != NULL)
+ static const IsWow64ProcessFunc isWow64Process =
+ Utility::loadDllFunction<IsWow64ProcessFunc>(L"kernel32.dll", "IsWow64Process");
+
+ if (isWow64Process)
{
BOOL isWow64 = FALSE;
if ((*isWow64Process)(::GetCurrentProcess(), &isWow64))
@@ -59,13 +61,13 @@ const wxString& getShadowDllName()
*/
static const wxString filename(
- Utility::is64BitBuild ?
- (newerThanXP() ?
+ newerThanXP() ?
+ (Utility::is64BitBuild ?
wxT("Shadow_Server2003_x64.dll") :
- wxT("Shadow_XP_x64.dll")) :
+ wxT("Shadow_Server2003_Win32.dll")) :
- (newerThanXP() ?
- wxT("Shadow_Server2003_Win32.dll") :
+ (Utility::is64BitBuild ?
+ wxT("Shadow_XP_x64.dll") :
wxT("Shadow_XP_Win32.dll")));
assert_static(Utility::is32BitBuild || Utility::is64BitBuild);
diff --git a/shared/systemFunctions.h b/shared/systemFunctions.h
index 0adec62a..d197ceb6 100644
--- a/shared/systemFunctions.h
+++ b/shared/systemFunctions.h
@@ -12,11 +12,11 @@
namespace FreeFileSync
{
-
+//evaluate GetLastError()/errno and assemble specific error message
#ifdef FFS_WIN
-wxString getLastErrorFormatted(unsigned long lastError = 0); //try to get additional Windows error information
+wxString getLastErrorFormatted(unsigned long lastError = 0);
#elif defined FFS_LINUX
-wxString getLastErrorFormatted(int lastError = 0); //try to get additional Linux error information
+wxString getLastErrorFormatted(int lastError = 0);
#endif
}
diff --git a/shared/taskbar.cpp b/shared/taskbar.cpp
new file mode 100644
index 00000000..9f3e8378
--- /dev/null
+++ b/shared/taskbar.cpp
@@ -0,0 +1,130 @@
+// **************************************************************************
+// * This file is part of the FreeFileSync project. It is distributed under *
+// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
+// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) *
+// **************************************************************************
+//
+#include "taskbar.h"
+#include "../library/Taskbar_Seven/taskbar.h"
+#include "dllLoader.h"
+#include "buildInfo.h"
+#include "staticAssert.h"
+#include <wx/msw/wrapwin.h> //includes "windows.h"
+
+using namespace Utility;
+
+
+namespace
+{
+bool windows7TaskbarAvailable()
+{
+ OSVERSIONINFO osvi;
+ ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
+ osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+
+ if (GetVersionEx(&osvi))
+ return osvi.dwMajorVersion > 6 ||
+ (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion >= 1); //task bar progress available with Windows 7
+ //XP has majorVersion == 5, minorVersion == 1
+ //Server 2003 has majorVersion == 5, minorVersion == 2
+ //Seven has majorVersion == 6, minorVersion == 1
+ //version overview: http://msdn.microsoft.com/en-us/library/ms724834(VS.85).aspx
+ return false;
+}
+
+
+const wxString& getTaskBarDllName()
+{
+ static const wxString filename(
+ Utility::is64BitBuild ?
+ wxT("Taskbar7_x64.dll") :
+ wxT("Taskbar7_Win32.dll"));
+
+ assert_static(Utility::is32BitBuild || Utility::is64BitBuild);
+
+ return filename;
+}
+}
+
+
+struct TaskbarProgress::Pimpl
+{
+ Pimpl() : tbHandle(0),
+ assocWindow(NULL),
+ init_(NULL),
+ release_(NULL),
+ setStatus_(NULL),
+ setProgress_(NULL) {}
+
+ TaskbarSeven::TBHandle tbHandle;
+ void* assocWindow;
+
+ TaskbarSeven::initFct init_;
+ TaskbarSeven::releaseFct release_;
+ TaskbarSeven::setStatusFct setStatus_;
+ TaskbarSeven::setProgressFct setProgress_;
+};
+
+
+TaskbarProgress::TaskbarProgress(const wxTopLevelWindow& window) : pimpl_(new Pimpl)
+{
+ if (!windows7TaskbarAvailable())
+ throw TaskbarNotAvailable();
+
+ pimpl_->init_ = Utility::loadDllFunction<TaskbarSeven::initFct>( getTaskBarDllName().c_str(), "init");
+ pimpl_->release_ = Utility::loadDllFunction<TaskbarSeven::releaseFct>( getTaskBarDllName().c_str(), "release");
+ pimpl_->setProgress_ = Utility::loadDllFunction<TaskbarSeven::setProgressFct>(getTaskBarDllName().c_str(), "setProgress");
+ pimpl_->setStatus_ = Utility::loadDllFunction<TaskbarSeven::setStatusFct>( getTaskBarDllName().c_str(), "setStatus");
+
+ if ( !pimpl_->init_ ||
+ !pimpl_->release_ ||
+ !pimpl_->setProgress_ ||
+ !pimpl_->setStatus_)
+ throw TaskbarNotAvailable();
+
+ pimpl_->tbHandle = pimpl_->init_();
+ if (pimpl_->tbHandle == 0)
+ throw TaskbarNotAvailable();
+
+ pimpl_->assocWindow = window.GetHWND();
+}
+
+
+TaskbarProgress::~TaskbarProgress()
+{
+ setStatus(STATUS_NOPROGRESS);
+
+ pimpl_->release_(pimpl_->tbHandle);
+}
+
+
+void TaskbarProgress::setStatus(Status status)
+{
+ TaskbarSeven::TaskBarStatus tbSevenStatus = TaskbarSeven::STATUS_NORMAL;
+ switch (status)
+ {
+ case TaskbarProgress::STATUS_NOPROGRESS:
+ tbSevenStatus = TaskbarSeven::STATUS_NOPROGRESS;
+ break;
+ case TaskbarProgress::STATUS_INDETERMINATE:
+ tbSevenStatus = TaskbarSeven::STATUS_INDETERMINATE;
+ break;
+ case TaskbarProgress::STATUS_NORMAL:
+ tbSevenStatus = TaskbarSeven::STATUS_NORMAL;
+ break;
+ case TaskbarProgress::STATUS_ERROR:
+ tbSevenStatus = TaskbarSeven::STATUS_ERROR;
+ break;
+ case TaskbarProgress::STATUS_PAUSED:
+ tbSevenStatus = TaskbarSeven::STATUS_PAUSED;
+ break;
+ }
+
+ pimpl_->setStatus_(pimpl_->tbHandle, pimpl_->assocWindow, tbSevenStatus);
+}
+
+
+void TaskbarProgress::setProgress(size_t current, size_t total)
+{
+ pimpl_->setProgress_(pimpl_->tbHandle, pimpl_->assocWindow, current, total);
+}
diff --git a/shared/taskbar.h b/shared/taskbar.h
new file mode 100644
index 00000000..ca836609
--- /dev/null
+++ b/shared/taskbar.h
@@ -0,0 +1,48 @@
+// **************************************************************************
+// * This file is part of the FreeFileSync project. It is distributed under *
+// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
+// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) *
+// **************************************************************************
+//
+#ifndef TASKBARPROGRESS_H_INCLUDED
+#define TASKBARPROGRESS_H_INCLUDED
+
+#ifndef FFS_WIN
+use in windows build only!
+#endif
+
+#include <wx/toplevel.h>
+#include <memory>
+
+
+namespace Utility
+{
+class TaskbarNotAvailable {};
+
+//show progress in windows superbar via ITaskbarList3 Interfce (http://msdn.microsoft.com/en-us/library/dd391692(VS.85).aspx)
+class TaskbarProgress
+{
+public:
+ TaskbarProgress(const wxTopLevelWindow& window); //throw TaskbarNotAvailable()
+ ~TaskbarProgress();
+
+ enum Status
+ {
+ STATUS_NOPROGRESS,
+ STATUS_INDETERMINATE,
+ STATUS_NORMAL,
+ STATUS_ERROR,
+ STATUS_PAUSED
+ };
+
+ void setStatus(Status status);
+ void setProgress(size_t current, size_t total);
+
+private:
+ struct Pimpl;
+ std::auto_ptr<Pimpl> pimpl_;
+};
+
+}
+
+#endif // TASKBARPROGRESS_H_INCLUDED
diff --git a/shared/tinyxml/Makefile b/shared/tinyxml/Makefile
index fb8982a2..5ffb9526 100644
--- a/shared/tinyxml/Makefile
+++ b/shared/tinyxml/Makefile
@@ -8,14 +8,14 @@
#****************************************************************************
# DEBUG can be set to YES to include debugging info, or NO otherwise
-DEBUG := YES
+DEBUG := NO
# PROFILE can be set to YES to include profiling info, or NO otherwise
PROFILE := NO
# TINYXML_USE_STL can be used to turn on STL support. NO, then STL
# will not be used. YES will include the STL files.
-TINYXML_USE_STL := YES
+TINYXML_USE_STL := NO
#****************************************************************************
diff --git a/shared/tinyxml/changes.txt b/shared/tinyxml/changes.txt
index 4075fd62..1ea21ad0 100644
--- a/shared/tinyxml/changes.txt
+++ b/shared/tinyxml/changes.txt
@@ -267,3 +267,24 @@ Changes in version 2.1.5
Comments should not, in fact, parse entities. Fixed the code path and added tests.
- We were not catching all the returns from ftell. Thanks to Bernard for catching that.
+2.5.4
+- A TiXMLDocument can't be a sub-node. Block this from happening in the 'replace'. Thanks Noam.
+- [ 1714831 ] TiXmlBase::location is not copied by copy-ctors, fix reported and suggested by Nicola Civran.
+- Fixed possible memory overrun in the comment reading code - thanks gcarlton77
+
+2.5.5
+- Alex van der Wal spotted incorrect types (lf) being used in print and scan. robertnestor pointed out some problems with the simple solution. Types updated.
+- Johannes Hillert pointed out some bug typos.
+- Christian Mueller identified inconsistent error handling with Attributes.
+- olivier barthelemy also reported a problem with double truncation, also related to the %lf issue.
+- zaelsius came up with a great (and simple) suggestion to fix QueryValueAttribute truncating strings.
+- added some null pointer checks suggested by hansenk
+- Sami Väisänen found a (rare) buffer overrun that could occur in parsing.
+- vi tri filed a bug that led to a refactoring of the attribute setting mess (as well as adding a missing SetDoubleAttribute() )
+- removed TIXML_ERROR_OUT_OF_MEMORY. TinyXML does not systematically address OOO, and the notion it does is misleading.
+- vanneto, keithmarshall, others all reported the warning from IsWhiteSpace() usage. Cleaned this up - many thanks to everyone who reported this one.
+- tibur found a bug in end tag parsing
+
+
+
+
diff --git a/shared/tinyxml/docs/annotated.html b/shared/tinyxml/docs/annotated.html
index 79534783..a84e5fa2 100644
--- a/shared/tinyxml/docs/annotated.html
+++ b/shared/tinyxml/docs/annotated.html
@@ -1,39 +1,48 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Class List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li id="current"><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TinyXml Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td class="indexvalue">An attribute is a name-value pair </td></tr>
- <tr><td class="indexkey"><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td class="indexvalue"><a class="el" href="classTiXmlBase.html">TiXmlBase</a> is a base class for every class in TinyXml </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td class="indexvalue"><a class="el" href="classTiXmlBase.html" title="TiXmlBase is a base class for every class in TinyXml.">TiXmlBase</a> is a base class for every class in TinyXml </td></tr>
<tr><td class="indexkey"><a class="el" href="classTiXmlComment.html">TiXmlComment</a></td><td class="indexvalue">An XML comment </td></tr>
<tr><td class="indexkey"><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td class="indexvalue">In correct XML the declaration is the first entry in the file </td></tr>
<tr><td class="indexkey"><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td class="indexvalue">Always the top level node </td></tr>
<tr><td class="indexkey"><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td class="indexvalue">The element is a container class </td></tr>
- <tr><td class="indexkey"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td class="indexvalue">A <a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> is a class that wraps a node pointer with null checks; this is an incredibly useful thing </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td class="indexvalue">A <a class="el" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> is a class that wraps a node pointer with null checks; this is an incredibly useful thing </td></tr>
<tr><td class="indexkey"><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td class="indexvalue">The parent class for everything in the Document Object Model </td></tr>
<tr><td class="indexkey"><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td class="indexvalue">Print to memory functionality </td></tr>
<tr><td class="indexkey"><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td class="indexvalue">XML text </td></tr>
<tr><td class="indexkey"><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a></td><td class="indexvalue">Any tag that tinyXml doesn't recognize is saved as an unknown </td></tr>
- <tr><td class="indexkey"><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td class="indexvalue">If you call the Accept() method, it requires being passed a <a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> class to handle callbacks </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td class="indexvalue">Implements the interface to the "Visitor pattern" (see the Accept() method </td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlAttribute-members.html b/shared/tinyxml/docs/classTiXmlAttribute-members.html
index b3c0fc67..f6f2c993 100644
--- a/shared/tinyxml/docs/classTiXmlAttribute-members.html
+++ b/shared/tinyxml/docs/classTiXmlAttribute-members.html
@@ -1,54 +1,63 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlAttribute Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#2880ddef53fc7522c99535273954d230">DoubleValue</a>() const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#a1a20ad59dc7e89a0ab265396360d50f">IntValue</a>() const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#298a57287d305904ba6bd96ae6f78d3d">Name</a>() const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#1c78e92e223a40843f644ba48ef69f67">Next</a>() const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#6ebbfe333fe76cd834bd6cbcca3130cf">Previous</a>() const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#cc04956c1d5c4c31fe74f7a7528d109a">Print</a>(FILE *cfile, int depth) const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#c87b2a8489906a5d7aa2875f20be3513">QueryDoubleValue</a>(double *_value) const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#d6c93088ee21af41a107931223339344">QueryIntValue</a>(int *_value) const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#0316da31373496c4368ad549bf711394">SetDoubleValue</a>(double _value)</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#7e065df640116a62ea4f4b7da5449cc8">SetIntValue</a>(int _value)</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#b7fa3d21ff8d7c5764cf9af15b667a99">SetName</a>(const char *_name)</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#b296ff0c9a8c701055cd257a8a976e57">SetName</a>(const std::string &amp;_name)</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#c6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#2dae44178f668b3cb48101be4f2236a0">SetValue</a>(const char *_value)</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#b43f67a0cc3ec1d80e62606500f0925f">SetValue</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#9cfa3c8179873fd485d83003b114f8e1">TiXmlAttribute</a>()</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#052213522caac3979960e0714063861d">TiXmlAttribute</a>(const std::string &amp;_name, const std::string &amp;_value)</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#759d0b76fb8fcf765ecab243bc14f05e">TiXmlAttribute</a>(const char *_name, const char *_value)</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#0f874490eac8ca00ee0070765d0e97e3">Value</a>() const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#87705c3ccf9ee9417beb4f7cbacd4d33">ValueStr</a>() const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlAttribute Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#a2880ddef53fc7522c99535273954d230">DoubleValue</a>() const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#aa1a20ad59dc7e89a0ab265396360d50f">IntValue</a>() const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#a298a57287d305904ba6bd96ae6f78d3d">Name</a>() const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#a1c78e92e223a40843f644ba48ef69f67">Next</a>() const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#a6ebbfe333fe76cd834bd6cbcca3130cf">Previous</a>() const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#acc04956c1d5c4c31fe74f7a7528d109a">Print</a>(FILE *cfile, int depth) const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#ac87b2a8489906a5d7aa2875f20be3513">QueryDoubleValue</a>(double *_value) const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#ad6c93088ee21af41a107931223339344">QueryIntValue</a>(int *_value) const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#a0316da31373496c4368ad549bf711394">SetDoubleValue</a>(double _value)</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#a7e065df640116a62ea4f4b7da5449cc8">SetIntValue</a>(int _value)</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#ab7fa3d21ff8d7c5764cf9af15b667a99">SetName</a>(const char *_name)</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#ab296ff0c9a8c701055cd257a8a976e57">SetName</a>(const std::string &amp;_name)</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ac6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#a2dae44178f668b3cb48101be4f2236a0">SetValue</a>(const char *_value)</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#ab43f67a0cc3ec1d80e62606500f0925f">SetValue</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#a9cfa3c8179873fd485d83003b114f8e1">TiXmlAttribute</a>()</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#a052213522caac3979960e0714063861d">TiXmlAttribute</a>(const std::string &amp;_name, const std::string &amp;_value)</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#a759d0b76fb8fcf765ecab243bc14f05e">TiXmlAttribute</a>(const char *_name, const char *_value)</td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#a0f874490eac8ca00ee0070765d0e97e3">Value</a>() const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlAttribute.html#a87705c3ccf9ee9417beb4f7cbacd4d33">ValueStr</a>() const </td><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlAttribute.html b/shared/tinyxml/docs/classTiXmlAttribute.html
index 9cdc9a9b..6eaca6be 100644
--- a/shared/tinyxml/docs/classTiXmlAttribute.html
+++ b/shared/tinyxml/docs/classTiXmlAttribute.html
@@ -1,125 +1,117 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: TiXmlAttribute Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlAttribute Class Reference</h1><!-- doxytag: class="TiXmlAttribute" --><!-- doxytag: inherits="TiXmlBase" -->An attribute is a name-value pair.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="tinyxml_8h-source.html">tinyxml.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for TiXmlAttribute:
-<p><center><img src="classTiXmlAttribute.png" usemap="#TiXmlAttribute_map" border="0" alt=""></center>
-<map name="TiXmlAttribute_map">
-<area href="classTiXmlBase.html" alt="TiXmlBase" shape="rect" coords="0,0,90,24">
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlAttribute Class Reference</h1><!-- doxytag: class="TiXmlAttribute" --><!-- doxytag: inherits="TiXmlBase" -->
+<p>An attribute is a name-value pair.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="tinyxml_8h_source.html">tinyxml.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for TiXmlAttribute:</div>
+<div class="dynsection">
+ <div class="center">
+ <img src="classTiXmlAttribute.png" usemap="#TiXmlAttribute_map" alt=""/>
+ <map id="TiXmlAttribute_map" name="TiXmlAttribute_map">
+<area href="classTiXmlBase.html" alt="TiXmlBase" shape="rect" coords="0,0,90,24"/>
</map>
-<a href="classTiXmlAttribute-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9cfa3c8179873fd485d83003b114f8e1"></a><!-- doxytag: member="TiXmlAttribute::TiXmlAttribute" ref="9cfa3c8179873fd485d83003b114f8e1" args="()" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#9cfa3c8179873fd485d83003b114f8e1">TiXmlAttribute</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an empty attribute. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="052213522caac3979960e0714063861d"></a><!-- doxytag: member="TiXmlAttribute::TiXmlAttribute" ref="052213522caac3979960e0714063861d" args="(const std::string &amp;_name, const std::string &amp;_value)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#052213522caac3979960e0714063861d">TiXmlAttribute</a> (const std::string &amp;_name, const std::string &amp;_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::string constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="759d0b76fb8fcf765ecab243bc14f05e"></a><!-- doxytag: member="TiXmlAttribute::TiXmlAttribute" ref="759d0b76fb8fcf765ecab243bc14f05e" args="(const char *_name, const char *_value)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#759d0b76fb8fcf765ecab243bc14f05e">TiXmlAttribute</a> (const char *_name, const char *_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an attribute with a name and value. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="298a57287d305904ba6bd96ae6f78d3d"></a><!-- doxytag: member="TiXmlAttribute::Name" ref="298a57287d305904ba6bd96ae6f78d3d" args="() const " -->
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#298a57287d305904ba6bd96ae6f78d3d">Name</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the name of this attribute. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0f874490eac8ca00ee0070765d0e97e3"></a><!-- doxytag: member="TiXmlAttribute::Value" ref="0f874490eac8ca00ee0070765d0e97e3" args="() const " -->
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#0f874490eac8ca00ee0070765d0e97e3">Value</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the value of this attribute. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="87705c3ccf9ee9417beb4f7cbacd4d33"></a><!-- doxytag: member="TiXmlAttribute::ValueStr" ref="87705c3ccf9ee9417beb4f7cbacd4d33" args="() const " -->
-const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#87705c3ccf9ee9417beb4f7cbacd4d33">ValueStr</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the value of this attribute. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1a20ad59dc7e89a0ab265396360d50f"></a><!-- doxytag: member="TiXmlAttribute::IntValue" ref="a1a20ad59dc7e89a0ab265396360d50f" args="() const " -->
-int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#a1a20ad59dc7e89a0ab265396360d50f">IntValue</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the value of this attribute, converted to an integer. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2880ddef53fc7522c99535273954d230"></a><!-- doxytag: member="TiXmlAttribute::DoubleValue" ref="2880ddef53fc7522c99535273954d230" args="() const " -->
-double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#2880ddef53fc7522c99535273954d230">DoubleValue</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the value of this attribute, converted to a double. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#d6c93088ee21af41a107931223339344">QueryIntValue</a> (int *_value) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">QueryIntValue examines the value string. <a href="#d6c93088ee21af41a107931223339344"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c87b2a8489906a5d7aa2875f20be3513"></a><!-- doxytag: member="TiXmlAttribute::QueryDoubleValue" ref="c87b2a8489906a5d7aa2875f20be3513" args="(double *_value) const " -->
-int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#c87b2a8489906a5d7aa2875f20be3513">QueryDoubleValue</a> (double *_value) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">QueryDoubleValue examines the value string. See <a class="el" href="classTiXmlAttribute.html#d6c93088ee21af41a107931223339344">QueryIntValue()</a>. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b7fa3d21ff8d7c5764cf9af15b667a99"></a><!-- doxytag: member="TiXmlAttribute::SetName" ref="b7fa3d21ff8d7c5764cf9af15b667a99" args="(const char *_name)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#b7fa3d21ff8d7c5764cf9af15b667a99">SetName</a> (const char *_name)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the name of this attribute. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2dae44178f668b3cb48101be4f2236a0"></a><!-- doxytag: member="TiXmlAttribute::SetValue" ref="2dae44178f668b3cb48101be4f2236a0" args="(const char *_value)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#2dae44178f668b3cb48101be4f2236a0">SetValue</a> (const char *_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7e065df640116a62ea4f4b7da5449cc8"></a><!-- doxytag: member="TiXmlAttribute::SetIntValue" ref="7e065df640116a62ea4f4b7da5449cc8" args="(int _value)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#7e065df640116a62ea4f4b7da5449cc8">SetIntValue</a> (int _value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value from an integer. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0316da31373496c4368ad549bf711394"></a><!-- doxytag: member="TiXmlAttribute::SetDoubleValue" ref="0316da31373496c4368ad549bf711394" args="(double _value)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#0316da31373496c4368ad549bf711394">SetDoubleValue</a> (double _value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value from a double. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b296ff0c9a8c701055cd257a8a976e57"></a><!-- doxytag: member="TiXmlAttribute::SetName" ref="b296ff0c9a8c701055cd257a8a976e57" args="(const std::string &amp;_name)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#b296ff0c9a8c701055cd257a8a976e57">SetName</a> (const std::string &amp;_name)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b43f67a0cc3ec1d80e62606500f0925f"></a><!-- doxytag: member="TiXmlAttribute::SetValue" ref="b43f67a0cc3ec1d80e62606500f0925f" args="(const std::string &amp;_value)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#b43f67a0cc3ec1d80e62606500f0925f">SetValue</a> (const std::string &amp;_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1c78e92e223a40843f644ba48ef69f67"></a><!-- doxytag: member="TiXmlAttribute::Next" ref="1c78e92e223a40843f644ba48ef69f67" args="() const " -->
-const <a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#1c78e92e223a40843f644ba48ef69f67">Next</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the next sibling attribute in the DOM. Returns null at end. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6ebbfe333fe76cd834bd6cbcca3130cf"></a><!-- doxytag: member="TiXmlAttribute::Previous" ref="6ebbfe333fe76cd834bd6cbcca3130cf" args="() const " -->
-const <a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#6ebbfe333fe76cd834bd6cbcca3130cf">Previous</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the previous sibling attribute in the DOM. Returns null at beginning. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#cc04956c1d5c4c31fe74f7a7528d109a">Print</a> (FILE *cfile, int depth) const </td></tr>
+ </div>
+</div>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. <a href="#cc04956c1d5c4c31fe74f7a7528d109a"></a><br></td></tr>
+<p><a href="classTiXmlAttribute-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9cfa3c8179873fd485d83003b114f8e1"></a><!-- doxytag: member="TiXmlAttribute::TiXmlAttribute" ref="a9cfa3c8179873fd485d83003b114f8e1" args="()" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#a9cfa3c8179873fd485d83003b114f8e1">TiXmlAttribute</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an empty attribute. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a052213522caac3979960e0714063861d"></a><!-- doxytag: member="TiXmlAttribute::TiXmlAttribute" ref="a052213522caac3979960e0714063861d" args="(const std::string &amp;_name, const std::string &amp;_value)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#a052213522caac3979960e0714063861d">TiXmlAttribute</a> (const std::string &amp;_name, const std::string &amp;_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::string constructor. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a759d0b76fb8fcf765ecab243bc14f05e"></a><!-- doxytag: member="TiXmlAttribute::TiXmlAttribute" ref="a759d0b76fb8fcf765ecab243bc14f05e" args="(const char *_name, const char *_value)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#a759d0b76fb8fcf765ecab243bc14f05e">TiXmlAttribute</a> (const char *_name, const char *_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an attribute with a name and value. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a298a57287d305904ba6bd96ae6f78d3d"></a><!-- doxytag: member="TiXmlAttribute::Name" ref="a298a57287d305904ba6bd96ae6f78d3d" args="() const " -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#a298a57287d305904ba6bd96ae6f78d3d">Name</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the name of this attribute. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f874490eac8ca00ee0070765d0e97e3"></a><!-- doxytag: member="TiXmlAttribute::Value" ref="a0f874490eac8ca00ee0070765d0e97e3" args="() const " -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#a0f874490eac8ca00ee0070765d0e97e3">Value</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the value of this attribute. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87705c3ccf9ee9417beb4f7cbacd4d33"></a><!-- doxytag: member="TiXmlAttribute::ValueStr" ref="a87705c3ccf9ee9417beb4f7cbacd4d33" args="() const " -->
+const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#a87705c3ccf9ee9417beb4f7cbacd4d33">ValueStr</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the value of this attribute. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1a20ad59dc7e89a0ab265396360d50f"></a><!-- doxytag: member="TiXmlAttribute::IntValue" ref="aa1a20ad59dc7e89a0ab265396360d50f" args="() const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#aa1a20ad59dc7e89a0ab265396360d50f">IntValue</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the value of this attribute, converted to an integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2880ddef53fc7522c99535273954d230"></a><!-- doxytag: member="TiXmlAttribute::DoubleValue" ref="a2880ddef53fc7522c99535273954d230" args="() const " -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#a2880ddef53fc7522c99535273954d230">DoubleValue</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the value of this attribute, converted to a double. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#ad6c93088ee21af41a107931223339344">QueryIntValue</a> (int *_value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">QueryIntValue examines the value string. <a href="#ad6c93088ee21af41a107931223339344"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac87b2a8489906a5d7aa2875f20be3513"></a><!-- doxytag: member="TiXmlAttribute::QueryDoubleValue" ref="ac87b2a8489906a5d7aa2875f20be3513" args="(double *_value) const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#ac87b2a8489906a5d7aa2875f20be3513">QueryDoubleValue</a> (double *_value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">QueryDoubleValue examines the value string. See <a class="el" href="classTiXmlAttribute.html#ad6c93088ee21af41a107931223339344" title="QueryIntValue examines the value string.">QueryIntValue()</a>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab7fa3d21ff8d7c5764cf9af15b667a99"></a><!-- doxytag: member="TiXmlAttribute::SetName" ref="ab7fa3d21ff8d7c5764cf9af15b667a99" args="(const char *_name)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#ab7fa3d21ff8d7c5764cf9af15b667a99">SetName</a> (const char *_name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the name of this attribute. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2dae44178f668b3cb48101be4f2236a0"></a><!-- doxytag: member="TiXmlAttribute::SetValue" ref="a2dae44178f668b3cb48101be4f2236a0" args="(const char *_value)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#a2dae44178f668b3cb48101be4f2236a0">SetValue</a> (const char *_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e065df640116a62ea4f4b7da5449cc8"></a><!-- doxytag: member="TiXmlAttribute::SetIntValue" ref="a7e065df640116a62ea4f4b7da5449cc8" args="(int _value)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#a7e065df640116a62ea4f4b7da5449cc8">SetIntValue</a> (int _value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value from an integer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0316da31373496c4368ad549bf711394"></a><!-- doxytag: member="TiXmlAttribute::SetDoubleValue" ref="a0316da31373496c4368ad549bf711394" args="(double _value)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#a0316da31373496c4368ad549bf711394">SetDoubleValue</a> (double _value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value from a double. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab296ff0c9a8c701055cd257a8a976e57"></a><!-- doxytag: member="TiXmlAttribute::SetName" ref="ab296ff0c9a8c701055cd257a8a976e57" args="(const std::string &amp;_name)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#ab296ff0c9a8c701055cd257a8a976e57">SetName</a> (const std::string &amp;_name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab43f67a0cc3ec1d80e62606500f0925f"></a><!-- doxytag: member="TiXmlAttribute::SetValue" ref="ab43f67a0cc3ec1d80e62606500f0925f" args="(const std::string &amp;_value)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#ab43f67a0cc3ec1d80e62606500f0925f">SetValue</a> (const std::string &amp;_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1c78e92e223a40843f644ba48ef69f67"></a><!-- doxytag: member="TiXmlAttribute::Next" ref="a1c78e92e223a40843f644ba48ef69f67" args="() const " -->
+const <a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#a1c78e92e223a40843f644ba48ef69f67">Next</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the next sibling attribute in the DOM. Returns null at end. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6ebbfe333fe76cd834bd6cbcca3130cf"></a><!-- doxytag: member="TiXmlAttribute::Previous" ref="a6ebbfe333fe76cd834bd6cbcca3130cf" args="() const " -->
+const <a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#a6ebbfe333fe76cd834bd6cbcca3130cf">Previous</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the previous sibling attribute in the DOM. Returns null at beginning. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlAttribute.html#acc04956c1d5c4c31fe74f7a7528d109a">Print</a> (FILE *cfile, int depth) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. <a href="#acc04956c1d5c4c31fe74f7a7528d109a"></a><br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-An attribute is a name-value pair.
-<p>
-Elements have an arbitrary number of attributes, each with a unique name.<p>
-<dl compact><dt><b>Note:</b></dt><dd>The attributes are not TiXmlNodes, since they are not part of the tinyXML document object model. There are other suggested ways to look at this problem. </dd></dl>
-
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="cc04956c1d5c4c31fe74f7a7528d109a"></a><!-- doxytag: member="TiXmlAttribute::Print" ref="cc04956c1d5c4c31fe74f7a7528d109a" args="(FILE *cfile, int depth) const " -->
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>An attribute is a name-value pair. </p>
+<p>Elements have an arbitrary number of attributes, each with a unique name.</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>The attributes are not TiXmlNodes, since they are not part of the tinyXML document object model. There are other suggested ways to look at this problem. </dd></dl>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="acc04956c1d5c4c31fe74f7a7528d109a"></a><!-- doxytag: member="TiXmlAttribute::Print" ref="acc04956c1d5c4c31fe74f7a7528d109a" args="(FILE *cfile, int depth) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">virtual void TiXmlAttribute::Print </td>
+ <td class="memname">virtual void TiXmlAttribute::Print </td>
<td>(</td>
<td class="paramtype">FILE *&nbsp;</td>
<td class="paramname"> <em>cfile</em>, </td>
@@ -133,49 +125,49 @@ Elements have an arbitrary number of attributes, each with a unique name.<p>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"> const<code> [inline, virtual]</code></td>
+ <td></td><td></td><td> const<code> [inline, virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode.
-<p>
-) Either or both cfile and str can be null.<p>
-This is a formatted print, and will insert tabs and newlines.<p>
-(For an unformatted stream, use the &lt;&lt; operator.)
-<p>
-Implements <a class="el" href="classTiXmlBase.html#0de56b3f2ef14c65091a3b916437b512">TiXmlBase</a>.
+<p>All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. </p>
+<p>) Either or both cfile and str can be null.</p>
+<p>This is a formatted print, and will insert tabs and newlines.</p>
+<p>(For an unformatted stream, use the &lt;&lt; operator.) </p>
+
+<p>Implements <a class="el" href="classTiXmlBase.html#a0de56b3f2ef14c65091a3b916437b512">TiXmlBase</a>.</p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="d6c93088ee21af41a107931223339344"></a><!-- doxytag: member="TiXmlAttribute::QueryIntValue" ref="d6c93088ee21af41a107931223339344" args="(int *_value) const " -->
+<a class="anchor" id="ad6c93088ee21af41a107931223339344"></a><!-- doxytag: member="TiXmlAttribute::QueryIntValue" ref="ad6c93088ee21af41a107931223339344" args="(int *_value) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int TiXmlAttribute::QueryIntValue </td>
+ <td class="memname">int TiXmlAttribute::QueryIntValue </td>
<td>(</td>
<td class="paramtype">int *&nbsp;</td>
- <td class="paramname"> <em>_value</em> </td>
+ <td class="paramname"> <em>_value</em></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const</td>
+ <td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-QueryIntValue examines the value string.
-<p>
-It is an alternative to the <a class="el" href="classTiXmlAttribute.html#a1a20ad59dc7e89a0ab265396360d50f">IntValue()</a> method with richer error checking. If the value is an integer, it is stored in 'value' and the call returns TIXML_SUCCESS. If it is not an integer, it returns TIXML_WRONG_TYPE.<p>
-A specialized but useful call. Note that for success it returns 0, which is the opposite of almost all other TinyXml calls.
+<p>QueryIntValue examines the value string. </p>
+<p>It is an alternative to the <a class="el" href="classTiXmlAttribute.html#aa1a20ad59dc7e89a0ab265396360d50f" title="Return the value of this attribute, converted to an integer.">IntValue()</a> method with richer error checking. If the value is an integer, it is stored in 'value' and the call returns TIXML_SUCCESS. If it is not an integer, it returns TIXML_WRONG_TYPE.</p>
+<p>A specialized but useful call. Note that for success it returns 0, which is the opposite of almost all other TinyXml calls. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tinyxml_8h_source.html">tinyxml.h</a></li>
+</ul>
</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="tinyxml_8h-source.html">tinyxml.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlAttribute.png b/shared/tinyxml/docs/classTiXmlAttribute.png
index ebac5ca9..0f8e5931 100644
--- a/shared/tinyxml/docs/classTiXmlAttribute.png
+++ b/shared/tinyxml/docs/classTiXmlAttribute.png
Binary files differ
diff --git a/shared/tinyxml/docs/classTiXmlBase-members.html b/shared/tinyxml/docs/classTiXmlBase-members.html
index 352900e8..fe1aeb8c 100644
--- a/shared/tinyxml/docs/classTiXmlBase-members.html
+++ b/shared/tinyxml/docs/classTiXmlBase-members.html
@@ -1,36 +1,45 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlBase Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlBase.html">TiXmlBase</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#0de56b3f2ef14c65091a3b916437b512">Print</a>(FILE *cfile, int depth) const =0</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [pure virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#c6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlBase Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlBase.html">TiXmlBase</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a0de56b3f2ef14c65091a3b916437b512">Print</a>(FILE *cfile, int depth) const =0</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ac6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlBase.html b/shared/tinyxml/docs/classTiXmlBase.html
index bdb63893..4d1ba67e 100644
--- a/shared/tinyxml/docs/classTiXmlBase.html
+++ b/shared/tinyxml/docs/classTiXmlBase.html
@@ -1,98 +1,99 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: TiXmlBase Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlBase Class Reference</h1><!-- doxytag: class="TiXmlBase" --><a class="el" href="classTiXmlBase.html">TiXmlBase</a> is a base class for every class in TinyXml.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="tinyxml_8h-source.html">tinyxml.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for TiXmlBase:
-<p><center><img src="classTiXmlBase.png" usemap="#TiXmlBase_map" border="0" alt=""></center>
-<map name="TiXmlBase_map">
-<area href="classTiXmlAttribute.html" alt="TiXmlAttribute" shape="rect" coords="0,56,108,80">
-<area href="classTiXmlNode.html" alt="TiXmlNode" shape="rect" coords="295,56,403,80">
-<area href="classTiXmlComment.html" alt="TiXmlComment" shape="rect" coords="0,112,108,136">
-<area href="classTiXmlDeclaration.html" alt="TiXmlDeclaration" shape="rect" coords="118,112,226,136">
-<area href="classTiXmlDocument.html" alt="TiXmlDocument" shape="rect" coords="236,112,344,136">
-<area href="classTiXmlElement.html" alt="TiXmlElement" shape="rect" coords="354,112,462,136">
-<area href="classTiXmlText.html" alt="TiXmlText" shape="rect" coords="472,112,580,136">
-<area href="classTiXmlUnknown.html" alt="TiXmlUnknown" shape="rect" coords="590,112,698,136">
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlBase Class Reference</h1><!-- doxytag: class="TiXmlBase" -->
+<p><a class="el" href="classTiXmlBase.html" title="TiXmlBase is a base class for every class in TinyXml.">TiXmlBase</a> is a base class for every class in TinyXml.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="tinyxml_8h_source.html">tinyxml.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for TiXmlBase:</div>
+<div class="dynsection">
+ <div class="center">
+ <img src="classTiXmlBase.png" usemap="#TiXmlBase_map" alt=""/>
+ <map id="TiXmlBase_map" name="TiXmlBase_map">
+<area href="classTiXmlAttribute.html" alt="TiXmlAttribute" shape="rect" coords="0,56,108,80"/>
+<area href="classTiXmlNode.html" alt="TiXmlNode" shape="rect" coords="295,56,403,80"/>
+<area href="classTiXmlComment.html" alt="TiXmlComment" shape="rect" coords="0,112,108,136"/>
+<area href="classTiXmlDeclaration.html" alt="TiXmlDeclaration" shape="rect" coords="118,112,226,136"/>
+<area href="classTiXmlDocument.html" alt="TiXmlDocument" shape="rect" coords="236,112,344,136"/>
+<area href="classTiXmlElement.html" alt="TiXmlElement" shape="rect" coords="354,112,462,136"/>
+<area href="classTiXmlText.html" alt="TiXmlText" shape="rect" coords="472,112,580,136"/>
+<area href="classTiXmlUnknown.html" alt="TiXmlUnknown" shape="rect" coords="590,112,698,136"/>
</map>
-<a href="classTiXmlBase-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#0de56b3f2ef14c65091a3b916437b512">Print</a> (FILE *cfile, int depth) const =0</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. <a href="#0de56b3f2ef14c65091a3b916437b512"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">Row</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the position, in the original source file, of this node or attribute. <a href="#024bceb070188df92c2a8d8852dd0853"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b54bfb9b70fe6dd276e7b279cab7f003"></a><!-- doxytag: member="TiXmlBase::Column" ref="b54bfb9b70fe6dd276e7b279cab7f003" args="() const " -->
-int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#b54bfb9b70fe6dd276e7b279cab7f003">Column</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See <a class="el" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">Row()</a>. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c6b3e0f790930d4970ec30764e937b5d"></a><!-- doxytag: member="TiXmlBase::SetUserData" ref="c6b3e0f790930d4970ec30764e937b5d" args="(void *user)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#c6b3e0f790930d4970ec30764e937b5d">SetUserData</a> (void *user)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a pointer to arbitrary user data. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6559a530ca6763fc301a14d77ed28c17"></a><!-- doxytag: member="TiXmlBase::GetUserData" ref="6559a530ca6763fc301a14d77ed28c17" args="()" -->
-void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#6559a530ca6763fc301a14d77ed28c17">GetUserData</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to arbitrary user data. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d0120210e4680ef2088601753ce0ede4"></a><!-- doxytag: member="TiXmlBase::GetUserData" ref="d0120210e4680ef2088601753ce0ede4" args="() const " -->
-const void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#d0120210e4680ef2088601753ce0ede4">GetUserData</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to arbitrary user data. <br></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a> (bool condense)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The world does not agree on whether white space should be kept or not. <a href="#0f799ec645bfb8d8a969e83478f379c1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d4b1472531c647a25b1840a87ae42438"></a><!-- doxytag: member="TiXmlBase::IsWhiteSpaceCondensed" ref="d4b1472531c647a25b1840a87ae42438" args="()" -->
-static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#d4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current white space setting. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#6bd8c315c1acb09e34107b8736505948">EncodeString</a> (const TIXML_STRING &amp;str, TIXML_STRING *out)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Expands entities in a string. <a href="#6bd8c315c1acb09e34107b8736505948"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b242c01590191f644569fa89a080d97c"></a><!-- doxytag: member="TiXmlBase::userData" ref="b242c01590191f644569fa89a080d97c" args="" -->
-void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">userData</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Field containing a generic user pointer. <br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="218872a0d985ae30e78c55adc4bdb196"></a><!-- doxytag: member="TiXmlBase::TiXmlNode" ref="218872a0d985ae30e78c55adc4bdb196" args="" -->
-class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#218872a0d985ae30e78c55adc4bdb196">TiXmlNode</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b6592e32cb9132be517cc12a70564c4b"></a><!-- doxytag: member="TiXmlBase::TiXmlElement" ref="b6592e32cb9132be517cc12a70564c4b" args="" -->
-class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#b6592e32cb9132be517cc12a70564c4b">TiXmlElement</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="173617f6dfe902cf484ce5552b950475"></a><!-- doxytag: member="TiXmlBase::TiXmlDocument" ref="173617f6dfe902cf484ce5552b950475" args="" -->
-class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#173617f6dfe902cf484ce5552b950475">TiXmlDocument</a></td></tr>
+ </div>
+</div>
+<p><a href="classTiXmlBase-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#a0de56b3f2ef14c65091a3b916437b512">Print</a> (FILE *cfile, int depth) const =0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. <a href="#a0de56b3f2ef14c65091a3b916437b512"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853">Row</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the position, in the original source file, of this node or attribute. <a href="#a024bceb070188df92c2a8d8852dd0853"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab54bfb9b70fe6dd276e7b279cab7f003"></a><!-- doxytag: member="TiXmlBase::Column" ref="ab54bfb9b70fe6dd276e7b279cab7f003" args="() const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003">Column</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See <a class="el" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853" title="Return the position, in the original source file, of this node or attribute.">Row()</a>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac6b3e0f790930d4970ec30764e937b5d"></a><!-- doxytag: member="TiXmlBase::SetUserData" ref="ac6b3e0f790930d4970ec30764e937b5d" args="(void *user)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#ac6b3e0f790930d4970ec30764e937b5d">SetUserData</a> (void *user)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a pointer to arbitrary user data. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6559a530ca6763fc301a14d77ed28c17"></a><!-- doxytag: member="TiXmlBase::GetUserData" ref="a6559a530ca6763fc301a14d77ed28c17" args="()" -->
+void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#a6559a530ca6763fc301a14d77ed28c17">GetUserData</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to arbitrary user data. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad0120210e4680ef2088601753ce0ede4"></a><!-- doxytag: member="TiXmlBase::GetUserData" ref="ad0120210e4680ef2088601753ce0ede4" args="() const " -->
+const void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#ad0120210e4680ef2088601753ce0ede4">GetUserData</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to arbitrary user data. <br/></td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a> (bool condense)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The world does not agree on whether white space should be kept or not. <a href="#a0f799ec645bfb8d8a969e83478f379c1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad4b1472531c647a25b1840a87ae42438"></a><!-- doxytag: member="TiXmlBase::IsWhiteSpaceCondensed" ref="ad4b1472531c647a25b1840a87ae42438" args="()" -->
+static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#ad4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current white space setting. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#a6bd8c315c1acb09e34107b8736505948">EncodeString</a> (const TIXML_STRING &amp;str, TIXML_STRING *out)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Expands entities in a string. <a href="#a6bd8c315c1acb09e34107b8736505948"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab242c01590191f644569fa89a080d97c"></a><!-- doxytag: member="TiXmlBase::userData" ref="ab242c01590191f644569fa89a080d97c" args="" -->
+void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c">userData</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Field containing a generic user pointer. <br/></td></tr>
+<tr><td colspan="2"><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a218872a0d985ae30e78c55adc4bdb196"></a><!-- doxytag: member="TiXmlBase::TiXmlNode" ref="a218872a0d985ae30e78c55adc4bdb196" args="" -->
+class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#a218872a0d985ae30e78c55adc4bdb196">TiXmlNode</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab6592e32cb9132be517cc12a70564c4b"></a><!-- doxytag: member="TiXmlBase::TiXmlElement" ref="ab6592e32cb9132be517cc12a70564c4b" args="" -->
+class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#ab6592e32cb9132be517cc12a70564c4b">TiXmlElement</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a173617f6dfe902cf484ce5552b950475"></a><!-- doxytag: member="TiXmlBase::TiXmlDocument" ref="a173617f6dfe902cf484ce5552b950475" args="" -->
+class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlBase.html#a173617f6dfe902cf484ce5552b950475">TiXmlDocument</a></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<a class="el" href="classTiXmlBase.html">TiXmlBase</a> is a base class for every class in TinyXml.
-<p>
-It does little except to establish that TinyXml classes can be printed and provide some utility functions.<p>
-In XML, the document and elements can contain other elements and other types of nodes.<p>
-<div class="fragment"><pre class="fragment"> A Document can contain: Element (container or leaf)
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p><a class="el" href="classTiXmlBase.html" title="TiXmlBase is a base class for every class in TinyXml.">TiXmlBase</a> is a base class for every class in TinyXml. </p>
+<p>It does little except to establish that TinyXml classes can be printed and provide some utility functions.</p>
+<p>In XML, the document and elements can contain other elements and other types of nodes.</p>
+<div class="fragment"><pre class="fragment">
+ A Document can contain: Element (container or leaf)
Comment (leaf)
Unknown (leaf)
Declaration( leaf )
@@ -104,15 +105,13 @@ In XML, the document and elements can contain other elements and other types of
Unknown (leaf)
A Decleration contains: Attributes (not on tree)
- </pre></div>
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="6bd8c315c1acb09e34107b8736505948"></a><!-- doxytag: member="TiXmlBase::EncodeString" ref="6bd8c315c1acb09e34107b8736505948" args="(const TIXML_STRING &amp;str, TIXML_STRING *out)" -->
+ </pre></div> <hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a6bd8c315c1acb09e34107b8736505948"></a><!-- doxytag: member="TiXmlBase::EncodeString" ref="a6bd8c315c1acb09e34107b8736505948" args="(const TIXML_STRING &amp;str, TIXML_STRING *out)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">static void TiXmlBase::EncodeString </td>
+ <td class="memname">static void TiXmlBase::EncodeString </td>
<td>(</td>
<td class="paramtype">const TIXML_STRING &amp;&nbsp;</td>
<td class="paramname"> <em>str</em>, </td>
@@ -126,24 +125,23 @@ In XML, the document and elements can contain other elements and other types of
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"><code> [static]</code></td>
+ <td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Expands entities in a string.
-<p>
-Note this should not contian the tag's '&lt;', '&gt;', etc, or they will be transformed into entities!
+<p>Expands entities in a string. </p>
+<p>Note this should not contian the tag's '&lt;', '&gt;', etc, or they will be transformed into entities! </p>
+
</div>
-</div><p>
-<a class="anchor" name="0de56b3f2ef14c65091a3b916437b512"></a><!-- doxytag: member="TiXmlBase::Print" ref="0de56b3f2ef14c65091a3b916437b512" args="(FILE *cfile, int depth) const =0" -->
+</div>
+<a class="anchor" id="a0de56b3f2ef14c65091a3b916437b512"></a><!-- doxytag: member="TiXmlBase::Print" ref="a0de56b3f2ef14c65091a3b916437b512" args="(FILE *cfile, int depth) const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">virtual void TiXmlBase::Print </td>
+ <td class="memname">virtual void TiXmlBase::Print </td>
<td>(</td>
<td class="paramtype">FILE *&nbsp;</td>
<td class="paramname"> <em>cfile</em>, </td>
@@ -157,74 +155,72 @@ Note this should not contian the tag's '&lt;', '&gt;', etc, or they will be tran
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"> const<code> [pure virtual]</code></td>
+ <td></td><td></td><td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode.
-<p>
-) Either or both cfile and str can be null.<p>
-This is a formatted print, and will insert tabs and newlines.<p>
-(For an unformatted stream, use the &lt;&lt; operator.)
-<p>
-Implemented in <a class="el" href="classTiXmlAttribute.html#cc04956c1d5c4c31fe74f7a7528d109a">TiXmlAttribute</a>, <a class="el" href="classTiXmlElement.html#fbf52736e70fc91ec9d760721d6f4fd2">TiXmlElement</a>, <a class="el" href="classTiXmlComment.html#6b316527aaa8da0370cd68c22a5a0f5f">TiXmlComment</a>, <a class="el" href="classTiXmlText.html#0cafbf6f236c7f02d12b2bffc2b7976b">TiXmlText</a>, <a class="el" href="classTiXmlDeclaration.html#bf6303db4bd05b5be554036817ff1cb4">TiXmlDeclaration</a>, <a class="el" href="classTiXmlUnknown.html#31ba089a40fb5a1869750fce09b0bacb">TiXmlUnknown</a>, and <a class="el" href="classTiXmlDocument.html#8701fda1fa31b25abbc9c0df42da10e8">TiXmlDocument</a>.
+<p>All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. </p>
+<p>) Either or both cfile and str can be null.</p>
+<p>This is a formatted print, and will insert tabs and newlines.</p>
+<p>(For an unformatted stream, use the &lt;&lt; operator.) </p>
+
+<p>Implemented in <a class="el" href="classTiXmlAttribute.html#acc04956c1d5c4c31fe74f7a7528d109a">TiXmlAttribute</a>, <a class="el" href="classTiXmlElement.html#afbf52736e70fc91ec9d760721d6f4fd2">TiXmlElement</a>, <a class="el" href="classTiXmlComment.html#a6b316527aaa8da0370cd68c22a5a0f5f">TiXmlComment</a>, <a class="el" href="classTiXmlText.html#a0cafbf6f236c7f02d12b2bffc2b7976b">TiXmlText</a>, <a class="el" href="classTiXmlDeclaration.html#abf6303db4bd05b5be554036817ff1cb4">TiXmlDeclaration</a>, <a class="el" href="classTiXmlUnknown.html#a31ba089a40fb5a1869750fce09b0bacb">TiXmlUnknown</a>, and <a class="el" href="classTiXmlDocument.html#a8701fda1fa31b25abbc9c0df42da10e8">TiXmlDocument</a>.</p>
+
</div>
-</div><p>
-<a class="anchor" name="024bceb070188df92c2a8d8852dd0853"></a><!-- doxytag: member="TiXmlBase::Row" ref="024bceb070188df92c2a8d8852dd0853" args="() const " -->
+</div>
+<a class="anchor" id="a024bceb070188df92c2a8d8852dd0853"></a><!-- doxytag: member="TiXmlBase::Row" ref="a024bceb070188df92c2a8d8852dd0853" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int TiXmlBase::Row </td>
+ <td class="memname">int TiXmlBase::Row </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [inline]</code></td>
+ <td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Return the position, in the original source file, of this node or attribute.
-<p>
-The row and column are 1-based. (That is the first row and first column is 1,1). If the returns values are 0 or less, then the parser does not have a row and column value.<p>
-Generally, the row and column value will be set when the TiXmlDocument::Load(), <a class="el" href="classTiXmlDocument.html#4c852a889c02cf251117fd1d9fe1845f">TiXmlDocument::LoadFile()</a>, or any TiXmlNode::Parse() is called. It will NOT be set when the DOM was created from operator&gt;&gt;.<p>
-The values reflect the initial load. Once the DOM is modified programmatically (by adding or changing nodes and attributes) the new values will NOT update to reflect changes in the document.<p>
-There is a minor performance cost to computing the row and column. Computation can be disabled if <a class="el" href="classTiXmlDocument.html#51dac56316f89b35bdb7d0d433ba988e">TiXmlDocument::SetTabSize()</a> is called with 0 as the value.<p>
-<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classTiXmlDocument.html#51dac56316f89b35bdb7d0d433ba988e">TiXmlDocument::SetTabSize()</a> </dd></dl>
+<p>Return the position, in the original source file, of this node or attribute. </p>
+<p>The row and column are 1-based. (That is the first row and first column is 1,1). If the returns values are 0 or less, then the parser does not have a row and column value.</p>
+<p>Generally, the row and column value will be set when the TiXmlDocument::Load(), <a class="el" href="classTiXmlDocument.html#a4c852a889c02cf251117fd1d9fe1845f" title="Load a file using the current document value.">TiXmlDocument::LoadFile()</a>, or any TiXmlNode::Parse() is called. It will NOT be set when the DOM was created from operator&gt;&gt;.</p>
+<p>The values reflect the initial load. Once the DOM is modified programmatically (by adding or changing nodes and attributes) the new values will NOT update to reflect changes in the document.</p>
+<p>There is a minor performance cost to computing the row and column. Computation can be disabled if <a class="el" href="classTiXmlDocument.html#a51dac56316f89b35bdb7d0d433ba988e" title="SetTabSize() allows the error reporting functions (ErrorRow() and ErrorCol()) to...">TiXmlDocument::SetTabSize()</a> is called with 0 as the value.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classTiXmlDocument.html#a51dac56316f89b35bdb7d0d433ba988e" title="SetTabSize() allows the error reporting functions (ErrorRow() and ErrorCol()) to...">TiXmlDocument::SetTabSize()</a> </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="0f799ec645bfb8d8a969e83478f379c1"></a><!-- doxytag: member="TiXmlBase::SetCondenseWhiteSpace" ref="0f799ec645bfb8d8a969e83478f379c1" args="(bool condense)" -->
+</div>
+<a class="anchor" id="a0f799ec645bfb8d8a969e83478f379c1"></a><!-- doxytag: member="TiXmlBase::SetCondenseWhiteSpace" ref="a0f799ec645bfb8d8a969e83478f379c1" args="(bool condense)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">static void TiXmlBase::SetCondenseWhiteSpace </td>
+ <td class="memname">static void TiXmlBase::SetCondenseWhiteSpace </td>
<td>(</td>
<td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>condense</em> </td>
+ <td class="paramname"> <em>condense</em></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"><code> [inline, static]</code></td>
+ <td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-The world does not agree on whether white space should be kept or not.
-<p>
-In order to make everyone happy, these global, static functions are provided to set whether or not TinyXml will condense all white space into a single space or not. The default is to condense. Note changing this value is not thread safe.
+<p>The world does not agree on whether white space should be kept or not. </p>
+<p>In order to make everyone happy, these global, static functions are provided to set whether or not TinyXml will condense all white space into a single space or not. The default is to condense. Note changing this value is not thread safe. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tinyxml_8h_source.html">tinyxml.h</a></li>
+</ul>
</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="tinyxml_8h-source.html">tinyxml.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlBase.png b/shared/tinyxml/docs/classTiXmlBase.png
index 085db6e5..ca9d0dec 100644
--- a/shared/tinyxml/docs/classTiXmlBase.png
+++ b/shared/tinyxml/docs/classTiXmlBase.png
Binary files differ
diff --git a/shared/tinyxml/docs/classTiXmlComment-members.html b/shared/tinyxml/docs/classTiXmlComment-members.html
index 9b2c4ec0..0d00704f 100644
--- a/shared/tinyxml/docs/classTiXmlComment-members.html
+++ b/shared/tinyxml/docs/classTiXmlComment-members.html
@@ -1,100 +1,109 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlComment Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlComment.html">TiXmlComment</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classTiXmlComment.html#f3ac1b99fbbe9ea4fb6e14146156e43e">Accept</a>(TiXmlVisitor *visitor) const </td><td><a class="el" href="classTiXmlComment.html">TiXmlComment</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#708e7f953df61d4d2d12f73171550a4b">Clear</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlComment.html#0d6662bdc52488b9e12b3c7a0453d028">Clone</a>() const </td><td><a class="el" href="classTiXmlComment.html">TiXmlComment</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1f05828d023150706eeb16d6fb3f6355">FirstChild</a>(const char *value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#bc8bf32be6419ec453a731868de19554">FirstChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#07f6200a5956c723c5b52d70f29c46f6">FirstChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#10d2669ccb5e29e02fcb0e4408685ef6">FirstChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ccda2c6b45c25bb5a6f9c3407a644e61">FirstChildElement</a>(const char *_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#327ad4bbd90073c5dfc931b07314f5f7">FirstChildElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#7f1d7291880534c1e5cdeb392d8c1f45">FirstChildElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#80e397fa973cf5323e33b07154b024f3">GetDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#d9b75e54ec19301c8b4d5ff583d0b3d5">InsertAfterChild</a>(TiXmlNode *afterThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#0c146fa2fff0157b681594102f48cbc7">InsertBeforeChild</a>(TiXmlNode *beforeThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#d7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a>(const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>(const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#dfaef35a076b9343adc1420757376c39">IterateChildren</a>(const char *value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1cbaaf8e82c09ad763d52616d75724df">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#16e9ad53e2f5445b14bf325c90aa862c">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6432d2b2495f6caf9cb4278df706a031">LastChild</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#bad5bf1059c48127b958711ef89e8e5d">LastChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#256d0cdbfcfeccae83f3a1c9747a8b63">LastChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#69772c9202f70553f940b15c06b07be3">LastChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#5d29442ae46de6d0168429156197bfc6">LinkEndChild</a>(TiXmlNode *addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1b94d2f7fa7ab25a5a8e8d4340c449c9">NextSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1757c1f4d01e8c9596ffdbd561c76aea">NextSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#f854baeba384f5fe9859f5aee03b548e">NextSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2e61c0b89a77e36a0e8c60490003cb46">NextSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#071ba77fd7ab79402fa84b7e9b8607b3">NextSiblingElement</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#7572d0af9d1e696ee3f05d8bb5ebb463">NextSiblingElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#506958e34406729a4e4c5326ea39d081">NextSiblingElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#eed21ad30630ef6e7faf096127edc9f3">NoChildren</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">NodeType</a> enum name</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt;</a>(std::ostream &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#52ef17e7080df2490cf87bde380685ab">operator&lt;&lt;</a>(std::string &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#b57bd426563c926844f65a78412e18b9">operator&gt;&gt;</a>(std::istream &amp;in, TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#b643043132ffd794f8602685d34a982e">Parent</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#c2cd892768726270e511b2ab32de4d10">PreviousSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#5bdd49327eec1e609b7d22af706b8316">PreviousSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#658276f57d35d5d4256d1dc1a2c398ab">PreviousSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#cc8a0434c7f401d4a3b6dee77c1a5912">PreviousSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlComment.html#6b316527aaa8da0370cd68c22a5a0f5f">Print</a>(FILE *cfile, int depth) const </td><td><a class="el" href="classTiXmlComment.html">TiXmlComment</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#e19d8510efc90596552f4feeac9a8fbf">RemoveChild</a>(TiXmlNode *removeThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#0c49e739a17b9938050c22cd89617fbd">ReplaceChild</a>(TiXmlNode *replaceThis, const TiXmlNode &amp;withThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#c6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2598d5f448042c1abbeae4503dd45ff2">SetValue</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlComment.html#aa3252031d3e8bd3a2bf51a1c61201b7">TiXmlComment</a>()</td><td><a class="el" href="classTiXmlComment.html">TiXmlComment</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlComment.html#37e7802ef17bc03ebe5ae79bf0713d47">TiXmlComment</a>(const char *_value)</td><td><a class="el" href="classTiXmlComment.html">TiXmlComment</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlComment.html#00fb4215c20a2399ea05ac9b9e7e68a0">ToComment</a>() const </td><td><a class="el" href="classTiXmlComment.html">TiXmlComment</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlComment.html#cc7c7e07e13c23f17797d642981511df">ToComment</a>()</td><td><a class="el" href="classTiXmlComment.html">TiXmlComment</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#9f43e6984fc7d4afd6eb32714c6b7b72">ToDeclaration</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#4027136ca820ff4a636b607231b6a6df">ToDeclaration</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#8a4cda4b15c29f64cff419309aebed08">ToDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6a4c8ac28ee7a745d059db6691e03bae">ToDocument</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#72abed96dc9667ab9e0a2a275301bb1c">ToElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a65d000223187d22a4dcebd7479e9ebc">ToElement</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#95a46a52c525992d6b4ee08beb14cd69">ToText</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#3ddfbcac78fbea041fad57e5c6d60a03">ToText</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#fd7205cf31d7a376929f8a36930627a2">ToUnknown</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#06de5af852668c7e4af0d09c205f0b0d">ToUnknown</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#57b99d5c97d67a42b9752f5210a1ba5e">Type</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#77943eb90d12c2892b1337a9f5918b41">Value</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlComment Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlComment.html">TiXmlComment</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classTiXmlComment.html#af3ac1b99fbbe9ea4fb6e14146156e43e">Accept</a>(TiXmlVisitor *visitor) const </td><td><a class="el" href="classTiXmlComment.html">TiXmlComment</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a708e7f953df61d4d2d12f73171550a4b">Clear</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlComment.html#a0d6662bdc52488b9e12b3c7a0453d028">Clone</a>() const </td><td><a class="el" href="classTiXmlComment.html">TiXmlComment</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1f05828d023150706eeb16d6fb3f6355">FirstChild</a>(const char *value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#abc8bf32be6419ec453a731868de19554">FirstChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a07f6200a5956c723c5b52d70f29c46f6">FirstChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a10d2669ccb5e29e02fcb0e4408685ef6">FirstChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#af4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#accda2c6b45c25bb5a6f9c3407a644e61">FirstChildElement</a>(const char *_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a327ad4bbd90073c5dfc931b07314f5f7">FirstChildElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a7f1d7291880534c1e5cdeb392d8c1f45">FirstChildElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a80e397fa973cf5323e33b07154b024f3">GetDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ad9b75e54ec19301c8b4d5ff583d0b3d5">InsertAfterChild</a>(TiXmlNode *afterThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0c146fa2fff0157b681594102f48cbc7">InsertBeforeChild</a>(TiXmlNode *beforeThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ad7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a>(const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>(const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#adfaef35a076b9343adc1420757376c39">IterateChildren</a>(const char *value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1cbaaf8e82c09ad763d52616d75724df">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a16e9ad53e2f5445b14bf325c90aa862c">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6432d2b2495f6caf9cb4278df706a031">LastChild</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#abad5bf1059c48127b958711ef89e8e5d">LastChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a256d0cdbfcfeccae83f3a1c9747a8b63">LastChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a69772c9202f70553f940b15c06b07be3">LastChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a5d29442ae46de6d0168429156197bfc6">LinkEndChild</a>(TiXmlNode *addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1b94d2f7fa7ab25a5a8e8d4340c449c9">NextSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1757c1f4d01e8c9596ffdbd561c76aea">NextSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e">NextSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2e61c0b89a77e36a0e8c60490003cb46">NextSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a071ba77fd7ab79402fa84b7e9b8607b3">NextSiblingElement</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a7572d0af9d1e696ee3f05d8bb5ebb463">NextSiblingElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a506958e34406729a4e4c5326ea39d081">NextSiblingElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aeed21ad30630ef6e7faf096127edc9f3">NoChildren</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2">NodeType</a> enum name</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt;</a>(std::ostream &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a52ef17e7080df2490cf87bde380685ab">operator&lt;&lt;</a>(std::string &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ab57bd426563c926844f65a78412e18b9">operator&gt;&gt;</a>(std::istream &amp;in, TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ab643043132ffd794f8602685d34a982e">Parent</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10">PreviousSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a5bdd49327eec1e609b7d22af706b8316">PreviousSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a658276f57d35d5d4256d1dc1a2c398ab">PreviousSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#acc8a0434c7f401d4a3b6dee77c1a5912">PreviousSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlComment.html#a6b316527aaa8da0370cd68c22a5a0f5f">Print</a>(FILE *cfile, int depth) const </td><td><a class="el" href="classTiXmlComment.html">TiXmlComment</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ae19d8510efc90596552f4feeac9a8fbf">RemoveChild</a>(TiXmlNode *removeThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0c49e739a17b9938050c22cd89617fbd">ReplaceChild</a>(TiXmlNode *replaceThis, const TiXmlNode &amp;withThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ac6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2598d5f448042c1abbeae4503dd45ff2">SetValue</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlComment.html#aaa3252031d3e8bd3a2bf51a1c61201b7">TiXmlComment</a>()</td><td><a class="el" href="classTiXmlComment.html">TiXmlComment</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlComment.html#a37e7802ef17bc03ebe5ae79bf0713d47">TiXmlComment</a>(const char *_value)</td><td><a class="el" href="classTiXmlComment.html">TiXmlComment</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlComment.html#a00fb4215c20a2399ea05ac9b9e7e68a0">ToComment</a>() const </td><td><a class="el" href="classTiXmlComment.html">TiXmlComment</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlComment.html#acc7c7e07e13c23f17797d642981511df">ToComment</a>()</td><td><a class="el" href="classTiXmlComment.html">TiXmlComment</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a9f43e6984fc7d4afd6eb32714c6b7b72">ToDeclaration</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a4027136ca820ff4a636b607231b6a6df">ToDeclaration</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a8a4cda4b15c29f64cff419309aebed08">ToDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6a4c8ac28ee7a745d059db6691e03bae">ToDocument</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a72abed96dc9667ab9e0a2a275301bb1c">ToElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aa65d000223187d22a4dcebd7479e9ebc">ToElement</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a95a46a52c525992d6b4ee08beb14cd69">ToText</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a3ddfbcac78fbea041fad57e5c6d60a03">ToText</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#afd7205cf31d7a376929f8a36930627a2">ToUnknown</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a06de5af852668c7e4af0d09c205f0b0d">ToUnknown</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a57b99d5c97d67a42b9752f5210a1ba5e">Type</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a77943eb90d12c2892b1337a9f5918b41">Value</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlComment.html b/shared/tinyxml/docs/classTiXmlComment.html
index 65ea2709..e2024430 100644
--- a/shared/tinyxml/docs/classTiXmlComment.html
+++ b/shared/tinyxml/docs/classTiXmlComment.html
@@ -1,75 +1,81 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: TiXmlComment Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlComment Class Reference</h1><!-- doxytag: class="TiXmlComment" --><!-- doxytag: inherits="TiXmlNode" -->An XML comment.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="tinyxml_8h-source.html">tinyxml.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for TiXmlComment:
-<p><center><img src="classTiXmlComment.png" usemap="#TiXmlComment_map" border="0" alt=""></center>
-<map name="TiXmlComment_map">
-<area href="classTiXmlNode.html" alt="TiXmlNode" shape="rect" coords="0,56,94,80">
-<area href="classTiXmlBase.html" alt="TiXmlBase" shape="rect" coords="0,0,94,24">
-</map>
-<a href="classTiXmlComment-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aa3252031d3e8bd3a2bf51a1c61201b7"></a><!-- doxytag: member="TiXmlComment::TiXmlComment" ref="aa3252031d3e8bd3a2bf51a1c61201b7" args="()" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlComment.html#aa3252031d3e8bd3a2bf51a1c61201b7">TiXmlComment</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an empty comment. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="37e7802ef17bc03ebe5ae79bf0713d47"></a><!-- doxytag: member="TiXmlComment::TiXmlComment" ref="37e7802ef17bc03ebe5ae79bf0713d47" args="(const char *_value)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlComment.html#37e7802ef17bc03ebe5ae79bf0713d47">TiXmlComment</a> (const char *_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a comment from text. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0d6662bdc52488b9e12b3c7a0453d028"></a><!-- doxytag: member="TiXmlComment::Clone" ref="0d6662bdc52488b9e12b3c7a0453d028" args="() const " -->
-virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlComment.html#0d6662bdc52488b9e12b3c7a0453d028">Clone</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a copy of this Comment. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlComment.html#6b316527aaa8da0370cd68c22a5a0f5f">Print</a> (FILE *cfile, int depth) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. <a href="#6b316527aaa8da0370cd68c22a5a0f5f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="00fb4215c20a2399ea05ac9b9e7e68a0"></a><!-- doxytag: member="TiXmlComment::ToComment" ref="00fb4215c20a2399ea05ac9b9e7e68a0" args="() const " -->
-virtual const <a class="el" href="classTiXmlComment.html">TiXmlComment</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlComment.html#00fb4215c20a2399ea05ac9b9e7e68a0">ToComment</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cc7c7e07e13c23f17797d642981511df"></a><!-- doxytag: member="TiXmlComment::ToComment" ref="cc7c7e07e13c23f17797d642981511df" args="()" -->
-virtual <a class="el" href="classTiXmlComment.html">TiXmlComment</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlComment.html#cc7c7e07e13c23f17797d642981511df">ToComment</a> ()</td></tr>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlComment Class Reference</h1><!-- doxytag: class="TiXmlComment" --><!-- doxytag: inherits="TiXmlNode" -->
+<p>An XML comment.
+<a href="#_details">More...</a></p>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f3ac1b99fbbe9ea4fb6e14146156e43e"></a><!-- doxytag: member="TiXmlComment::Accept" ref="f3ac1b99fbbe9ea4fb6e14146156e43e" args="(TiXmlVisitor *visitor) const " -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlComment.html#f3ac1b99fbbe9ea4fb6e14146156e43e">Accept</a> (<a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> *visitor) const </td></tr>
+<p><code>#include &lt;<a class="el" href="tinyxml_8h_source.html">tinyxml.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for TiXmlComment:</div>
+<div class="dynsection">
+ <div class="center">
+ <img src="classTiXmlComment.png" usemap="#TiXmlComment_map" alt=""/>
+ <map id="TiXmlComment_map" name="TiXmlComment_map">
+<area href="classTiXmlNode.html" alt="TiXmlNode" shape="rect" coords="0,56,94,80"/>
+<area href="classTiXmlBase.html" alt="TiXmlBase" shape="rect" coords="0,0,94,24"/>
+</map>
+ </div>
+</div>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walk the XML tree visiting this node and all of its children. <br></td></tr>
+<p><a href="classTiXmlComment-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaa3252031d3e8bd3a2bf51a1c61201b7"></a><!-- doxytag: member="TiXmlComment::TiXmlComment" ref="aaa3252031d3e8bd3a2bf51a1c61201b7" args="()" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlComment.html#aaa3252031d3e8bd3a2bf51a1c61201b7">TiXmlComment</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an empty comment. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37e7802ef17bc03ebe5ae79bf0713d47"></a><!-- doxytag: member="TiXmlComment::TiXmlComment" ref="a37e7802ef17bc03ebe5ae79bf0713d47" args="(const char *_value)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlComment.html#a37e7802ef17bc03ebe5ae79bf0713d47">TiXmlComment</a> (const char *_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a comment from text. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0d6662bdc52488b9e12b3c7a0453d028"></a><!-- doxytag: member="TiXmlComment::Clone" ref="a0d6662bdc52488b9e12b3c7a0453d028" args="() const " -->
+virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlComment.html#a0d6662bdc52488b9e12b3c7a0453d028">Clone</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a copy of this Comment. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlComment.html#a6b316527aaa8da0370cd68c22a5a0f5f">Print</a> (FILE *cfile, int depth) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. <a href="#a6b316527aaa8da0370cd68c22a5a0f5f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a00fb4215c20a2399ea05ac9b9e7e68a0"></a><!-- doxytag: member="TiXmlComment::ToComment" ref="a00fb4215c20a2399ea05ac9b9e7e68a0" args="() const " -->
+virtual const <a class="el" href="classTiXmlComment.html">TiXmlComment</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlComment.html#a00fb4215c20a2399ea05ac9b9e7e68a0">ToComment</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc7c7e07e13c23f17797d642981511df"></a><!-- doxytag: member="TiXmlComment::ToComment" ref="acc7c7e07e13c23f17797d642981511df" args="()" -->
+virtual <a class="el" href="classTiXmlComment.html">TiXmlComment</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlComment.html#acc7c7e07e13c23f17797d642981511df">ToComment</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3ac1b99fbbe9ea4fb6e14146156e43e"></a><!-- doxytag: member="TiXmlComment::Accept" ref="af3ac1b99fbbe9ea4fb6e14146156e43e" args="(TiXmlVisitor *visitor) const " -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlComment.html#af3ac1b99fbbe9ea4fb6e14146156e43e">Accept</a> (<a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> *visitor) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walk the XML tree visiting this node and all of its children. <br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-An XML comment.
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="6b316527aaa8da0370cd68c22a5a0f5f"></a><!-- doxytag: member="TiXmlComment::Print" ref="6b316527aaa8da0370cd68c22a5a0f5f" args="(FILE *cfile, int depth) const " -->
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>An XML comment. </p>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a6b316527aaa8da0370cd68c22a5a0f5f"></a><!-- doxytag: member="TiXmlComment::Print" ref="a6b316527aaa8da0370cd68c22a5a0f5f" args="(FILE *cfile, int depth) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">virtual void TiXmlComment::Print </td>
+ <td class="memname">virtual void TiXmlComment::Print </td>
<td>(</td>
<td class="paramtype">FILE *&nbsp;</td>
<td class="paramname"> <em>cfile</em>, </td>
@@ -83,26 +89,27 @@ An XML comment.
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"> const<code> [virtual]</code></td>
+ <td></td><td></td><td> const<code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode.
-<p>
-) Either or both cfile and str can be null.<p>
-This is a formatted print, and will insert tabs and newlines.<p>
-(For an unformatted stream, use the &lt;&lt; operator.)
-<p>
-Implements <a class="el" href="classTiXmlBase.html#0de56b3f2ef14c65091a3b916437b512">TiXmlBase</a>.
+<p>All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. </p>
+<p>) Either or both cfile and str can be null.</p>
+<p>This is a formatted print, and will insert tabs and newlines.</p>
+<p>(For an unformatted stream, use the &lt;&lt; operator.) </p>
+
+<p>Implements <a class="el" href="classTiXmlBase.html#a0de56b3f2ef14c65091a3b916437b512">TiXmlBase</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tinyxml_8h_source.html">tinyxml.h</a></li>
+</ul>
</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="tinyxml_8h-source.html">tinyxml.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlComment.png b/shared/tinyxml/docs/classTiXmlComment.png
index e33d7425..5fb1d1d3 100644
--- a/shared/tinyxml/docs/classTiXmlComment.png
+++ b/shared/tinyxml/docs/classTiXmlComment.png
Binary files differ
diff --git a/shared/tinyxml/docs/classTiXmlDeclaration-members.html b/shared/tinyxml/docs/classTiXmlDeclaration-members.html
index 147bb966..d6017444 100644
--- a/shared/tinyxml/docs/classTiXmlDeclaration-members.html
+++ b/shared/tinyxml/docs/classTiXmlDeclaration-members.html
@@ -1,104 +1,113 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlDeclaration Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#22315a535983b86535cdba3458669e3e">Accept</a>(TiXmlVisitor *visitor) const </td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#708e7f953df61d4d2d12f73171550a4b">Clear</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#7cf459186040141cda7a180a6585ce2e">Clone</a>() const </td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#5d974231f9e9a2f0542f15f3a46cdb76">Encoding</a>() const </td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1f05828d023150706eeb16d6fb3f6355">FirstChild</a>(const char *value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#bc8bf32be6419ec453a731868de19554">FirstChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#07f6200a5956c723c5b52d70f29c46f6">FirstChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#10d2669ccb5e29e02fcb0e4408685ef6">FirstChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ccda2c6b45c25bb5a6f9c3407a644e61">FirstChildElement</a>(const char *_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#327ad4bbd90073c5dfc931b07314f5f7">FirstChildElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#7f1d7291880534c1e5cdeb392d8c1f45">FirstChildElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#80e397fa973cf5323e33b07154b024f3">GetDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#d9b75e54ec19301c8b4d5ff583d0b3d5">InsertAfterChild</a>(TiXmlNode *afterThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#0c146fa2fff0157b681594102f48cbc7">InsertBeforeChild</a>(TiXmlNode *beforeThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#d7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a>(const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>(const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#dfaef35a076b9343adc1420757376c39">IterateChildren</a>(const char *value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1cbaaf8e82c09ad763d52616d75724df">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#16e9ad53e2f5445b14bf325c90aa862c">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6432d2b2495f6caf9cb4278df706a031">LastChild</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#bad5bf1059c48127b958711ef89e8e5d">LastChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#256d0cdbfcfeccae83f3a1c9747a8b63">LastChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#69772c9202f70553f940b15c06b07be3">LastChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#5d29442ae46de6d0168429156197bfc6">LinkEndChild</a>(TiXmlNode *addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1b94d2f7fa7ab25a5a8e8d4340c449c9">NextSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1757c1f4d01e8c9596ffdbd561c76aea">NextSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#f854baeba384f5fe9859f5aee03b548e">NextSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2e61c0b89a77e36a0e8c60490003cb46">NextSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#071ba77fd7ab79402fa84b7e9b8607b3">NextSiblingElement</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#7572d0af9d1e696ee3f05d8bb5ebb463">NextSiblingElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#506958e34406729a4e4c5326ea39d081">NextSiblingElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#eed21ad30630ef6e7faf096127edc9f3">NoChildren</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">NodeType</a> enum name</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt;</a>(std::ostream &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#52ef17e7080df2490cf87bde380685ab">operator&lt;&lt;</a>(std::string &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#b57bd426563c926844f65a78412e18b9">operator&gt;&gt;</a>(std::istream &amp;in, TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#b643043132ffd794f8602685d34a982e">Parent</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#c2cd892768726270e511b2ab32de4d10">PreviousSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#5bdd49327eec1e609b7d22af706b8316">PreviousSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#658276f57d35d5d4256d1dc1a2c398ab">PreviousSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#cc8a0434c7f401d4a3b6dee77c1a5912">PreviousSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#bf6303db4bd05b5be554036817ff1cb4">Print</a>(FILE *cfile, int depth) const </td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#e19d8510efc90596552f4feeac9a8fbf">RemoveChild</a>(TiXmlNode *removeThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#0c49e739a17b9938050c22cd89617fbd">ReplaceChild</a>(TiXmlNode *replaceThis, const TiXmlNode &amp;withThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#c6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2598d5f448042c1abbeae4503dd45ff2">SetValue</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#9ff06afc033d7ef730ec7c6825b97ad9">Standalone</a>() const </td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#a0484d059bea0ea1acb47c9094382d79">TiXmlDeclaration</a>()</td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#cd5556007c3c72209465081de39d9836">TiXmlDeclaration</a>(const std::string &amp;_version, const std::string &amp;_encoding, const std::string &amp;_standalone)</td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#3b618d1c30c25e4b7a71f31a595ee298">TiXmlDeclaration</a>(const char *_version, const char *_encoding, const char *_standalone)</td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0a5086f9eaee910bbfdc7f975e26574">ToComment</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#383e06a0787f7063953934867990f849">ToComment</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#1e085d3fefd1dbf5ccdbff729931a967">ToDeclaration</a>() const </td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#6bd3d1daddcaeb9543c24bfd090969ce">ToDeclaration</a>()</td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#8a4cda4b15c29f64cff419309aebed08">ToDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6a4c8ac28ee7a745d059db6691e03bae">ToDocument</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#72abed96dc9667ab9e0a2a275301bb1c">ToElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a65d000223187d22a4dcebd7479e9ebc">ToElement</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#95a46a52c525992d6b4ee08beb14cd69">ToText</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#3ddfbcac78fbea041fad57e5c6d60a03">ToText</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#fd7205cf31d7a376929f8a36930627a2">ToUnknown</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#06de5af852668c7e4af0d09c205f0b0d">ToUnknown</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#57b99d5c97d67a42b9752f5210a1ba5e">Type</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#77943eb90d12c2892b1337a9f5918b41">Value</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#02ee557b1a4545c3219ed377c103ec76">Version</a>() const </td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlDeclaration Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#a22315a535983b86535cdba3458669e3e">Accept</a>(TiXmlVisitor *visitor) const </td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a708e7f953df61d4d2d12f73171550a4b">Clear</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#a7cf459186040141cda7a180a6585ce2e">Clone</a>() const </td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#a5d974231f9e9a2f0542f15f3a46cdb76">Encoding</a>() const </td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1f05828d023150706eeb16d6fb3f6355">FirstChild</a>(const char *value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#abc8bf32be6419ec453a731868de19554">FirstChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a07f6200a5956c723c5b52d70f29c46f6">FirstChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a10d2669ccb5e29e02fcb0e4408685ef6">FirstChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#af4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#accda2c6b45c25bb5a6f9c3407a644e61">FirstChildElement</a>(const char *_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a327ad4bbd90073c5dfc931b07314f5f7">FirstChildElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a7f1d7291880534c1e5cdeb392d8c1f45">FirstChildElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a80e397fa973cf5323e33b07154b024f3">GetDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ad9b75e54ec19301c8b4d5ff583d0b3d5">InsertAfterChild</a>(TiXmlNode *afterThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0c146fa2fff0157b681594102f48cbc7">InsertBeforeChild</a>(TiXmlNode *beforeThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ad7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a>(const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>(const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#adfaef35a076b9343adc1420757376c39">IterateChildren</a>(const char *value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1cbaaf8e82c09ad763d52616d75724df">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a16e9ad53e2f5445b14bf325c90aa862c">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6432d2b2495f6caf9cb4278df706a031">LastChild</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#abad5bf1059c48127b958711ef89e8e5d">LastChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a256d0cdbfcfeccae83f3a1c9747a8b63">LastChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a69772c9202f70553f940b15c06b07be3">LastChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a5d29442ae46de6d0168429156197bfc6">LinkEndChild</a>(TiXmlNode *addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1b94d2f7fa7ab25a5a8e8d4340c449c9">NextSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1757c1f4d01e8c9596ffdbd561c76aea">NextSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e">NextSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2e61c0b89a77e36a0e8c60490003cb46">NextSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a071ba77fd7ab79402fa84b7e9b8607b3">NextSiblingElement</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a7572d0af9d1e696ee3f05d8bb5ebb463">NextSiblingElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a506958e34406729a4e4c5326ea39d081">NextSiblingElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aeed21ad30630ef6e7faf096127edc9f3">NoChildren</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2">NodeType</a> enum name</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt;</a>(std::ostream &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a52ef17e7080df2490cf87bde380685ab">operator&lt;&lt;</a>(std::string &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ab57bd426563c926844f65a78412e18b9">operator&gt;&gt;</a>(std::istream &amp;in, TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ab643043132ffd794f8602685d34a982e">Parent</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10">PreviousSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a5bdd49327eec1e609b7d22af706b8316">PreviousSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a658276f57d35d5d4256d1dc1a2c398ab">PreviousSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#acc8a0434c7f401d4a3b6dee77c1a5912">PreviousSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#abf6303db4bd05b5be554036817ff1cb4">Print</a>(FILE *cfile, int depth) const </td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ae19d8510efc90596552f4feeac9a8fbf">RemoveChild</a>(TiXmlNode *removeThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0c49e739a17b9938050c22cd89617fbd">ReplaceChild</a>(TiXmlNode *replaceThis, const TiXmlNode &amp;withThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ac6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2598d5f448042c1abbeae4503dd45ff2">SetValue</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#a9ff06afc033d7ef730ec7c6825b97ad9">Standalone</a>() const </td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#aa0484d059bea0ea1acb47c9094382d79">TiXmlDeclaration</a>()</td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#acd5556007c3c72209465081de39d9836">TiXmlDeclaration</a>(const std::string &amp;_version, const std::string &amp;_encoding, const std::string &amp;_standalone)</td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#a3b618d1c30c25e4b7a71f31a595ee298">TiXmlDeclaration</a>(const char *_version, const char *_encoding, const char *_standalone)</td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aa0a5086f9eaee910bbfdc7f975e26574">ToComment</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a383e06a0787f7063953934867990f849">ToComment</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#a1e085d3fefd1dbf5ccdbff729931a967">ToDeclaration</a>() const </td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#a6bd3d1daddcaeb9543c24bfd090969ce">ToDeclaration</a>()</td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a8a4cda4b15c29f64cff419309aebed08">ToDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6a4c8ac28ee7a745d059db6691e03bae">ToDocument</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a72abed96dc9667ab9e0a2a275301bb1c">ToElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aa65d000223187d22a4dcebd7479e9ebc">ToElement</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a95a46a52c525992d6b4ee08beb14cd69">ToText</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a3ddfbcac78fbea041fad57e5c6d60a03">ToText</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#afd7205cf31d7a376929f8a36930627a2">ToUnknown</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a06de5af852668c7e4af0d09c205f0b0d">ToUnknown</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a57b99d5c97d67a42b9752f5210a1ba5e">Type</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a77943eb90d12c2892b1337a9f5918b41">Value</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDeclaration.html#a02ee557b1a4545c3219ed377c103ec76">Version</a>() const </td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlDeclaration.html b/shared/tinyxml/docs/classTiXmlDeclaration.html
index 5ae9a0f3..e90cbcd2 100644
--- a/shared/tinyxml/docs/classTiXmlDeclaration.html
+++ b/shared/tinyxml/docs/classTiXmlDeclaration.html
@@ -1,96 +1,97 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: TiXmlDeclaration Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlDeclaration Class Reference</h1><!-- doxytag: class="TiXmlDeclaration" --><!-- doxytag: inherits="TiXmlNode" -->In correct XML the declaration is the first entry in the file.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="tinyxml_8h-source.html">tinyxml.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for TiXmlDeclaration:
-<p><center><img src="classTiXmlDeclaration.png" usemap="#TiXmlDeclaration_map" border="0" alt=""></center>
-<map name="TiXmlDeclaration_map">
-<area href="classTiXmlNode.html" alt="TiXmlNode" shape="rect" coords="0,56,108,80">
-<area href="classTiXmlBase.html" alt="TiXmlBase" shape="rect" coords="0,0,108,24">
-</map>
-<a href="classTiXmlDeclaration-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0484d059bea0ea1acb47c9094382d79"></a><!-- doxytag: member="TiXmlDeclaration::TiXmlDeclaration" ref="a0484d059bea0ea1acb47c9094382d79" args="()" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#a0484d059bea0ea1acb47c9094382d79">TiXmlDeclaration</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an empty declaration. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cd5556007c3c72209465081de39d9836"></a><!-- doxytag: member="TiXmlDeclaration::TiXmlDeclaration" ref="cd5556007c3c72209465081de39d9836" args="(const std::string &amp;_version, const std::string &amp;_encoding, const std::string &amp;_standalone)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#cd5556007c3c72209465081de39d9836">TiXmlDeclaration</a> (const std::string &amp;_version, const std::string &amp;_encoding, const std::string &amp;_standalone)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3b618d1c30c25e4b7a71f31a595ee298"></a><!-- doxytag: member="TiXmlDeclaration::TiXmlDeclaration" ref="3b618d1c30c25e4b7a71f31a595ee298" args="(const char *_version, const char *_encoding, const char *_standalone)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#3b618d1c30c25e4b7a71f31a595ee298">TiXmlDeclaration</a> (const char *_version, const char *_encoding, const char *_standalone)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="02ee557b1a4545c3219ed377c103ec76"></a><!-- doxytag: member="TiXmlDeclaration::Version" ref="02ee557b1a4545c3219ed377c103ec76" args="() const " -->
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#02ee557b1a4545c3219ed377c103ec76">Version</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Version. Will return an empty string if none was found. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5d974231f9e9a2f0542f15f3a46cdb76"></a><!-- doxytag: member="TiXmlDeclaration::Encoding" ref="5d974231f9e9a2f0542f15f3a46cdb76" args="() const " -->
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#5d974231f9e9a2f0542f15f3a46cdb76">Encoding</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encoding. Will return an empty string if none was found. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ff06afc033d7ef730ec7c6825b97ad9"></a><!-- doxytag: member="TiXmlDeclaration::Standalone" ref="9ff06afc033d7ef730ec7c6825b97ad9" args="() const " -->
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#9ff06afc033d7ef730ec7c6825b97ad9">Standalone</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is this a standalone document? <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7cf459186040141cda7a180a6585ce2e"></a><!-- doxytag: member="TiXmlDeclaration::Clone" ref="7cf459186040141cda7a180a6585ce2e" args="() const " -->
-virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#7cf459186040141cda7a180a6585ce2e">Clone</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a copy of this Declaration and returns it. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#bf6303db4bd05b5be554036817ff1cb4">Print</a> (FILE *cfile, int depth) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. <a href="#bf6303db4bd05b5be554036817ff1cb4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1e085d3fefd1dbf5ccdbff729931a967"></a><!-- doxytag: member="TiXmlDeclaration::ToDeclaration" ref="1e085d3fefd1dbf5ccdbff729931a967" args="() const " -->
-virtual const <a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#1e085d3fefd1dbf5ccdbff729931a967">ToDeclaration</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6bd3d1daddcaeb9543c24bfd090969ce"></a><!-- doxytag: member="TiXmlDeclaration::ToDeclaration" ref="6bd3d1daddcaeb9543c24bfd090969ce" args="()" -->
-virtual <a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#6bd3d1daddcaeb9543c24bfd090969ce">ToDeclaration</a> ()</td></tr>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlDeclaration Class Reference</h1><!-- doxytag: class="TiXmlDeclaration" --><!-- doxytag: inherits="TiXmlNode" -->
+<p>In correct XML the declaration is the first entry in the file.
+<a href="#_details">More...</a></p>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="22315a535983b86535cdba3458669e3e"></a><!-- doxytag: member="TiXmlDeclaration::Accept" ref="22315a535983b86535cdba3458669e3e" args="(TiXmlVisitor *visitor) const " -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#22315a535983b86535cdba3458669e3e">Accept</a> (<a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> *visitor) const </td></tr>
+<p><code>#include &lt;<a class="el" href="tinyxml_8h_source.html">tinyxml.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for TiXmlDeclaration:</div>
+<div class="dynsection">
+ <div class="center">
+ <img src="classTiXmlDeclaration.png" usemap="#TiXmlDeclaration_map" alt=""/>
+ <map id="TiXmlDeclaration_map" name="TiXmlDeclaration_map">
+<area href="classTiXmlNode.html" alt="TiXmlNode" shape="rect" coords="0,56,108,80"/>
+<area href="classTiXmlBase.html" alt="TiXmlBase" shape="rect" coords="0,0,108,24"/>
+</map>
+ </div>
+</div>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walk the XML tree visiting this node and all of its children. <br></td></tr>
+<p><a href="classTiXmlDeclaration-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa0484d059bea0ea1acb47c9094382d79"></a><!-- doxytag: member="TiXmlDeclaration::TiXmlDeclaration" ref="aa0484d059bea0ea1acb47c9094382d79" args="()" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#aa0484d059bea0ea1acb47c9094382d79">TiXmlDeclaration</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an empty declaration. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd5556007c3c72209465081de39d9836"></a><!-- doxytag: member="TiXmlDeclaration::TiXmlDeclaration" ref="acd5556007c3c72209465081de39d9836" args="(const std::string &amp;_version, const std::string &amp;_encoding, const std::string &amp;_standalone)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#acd5556007c3c72209465081de39d9836">TiXmlDeclaration</a> (const std::string &amp;_version, const std::string &amp;_encoding, const std::string &amp;_standalone)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b618d1c30c25e4b7a71f31a595ee298"></a><!-- doxytag: member="TiXmlDeclaration::TiXmlDeclaration" ref="a3b618d1c30c25e4b7a71f31a595ee298" args="(const char *_version, const char *_encoding, const char *_standalone)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#a3b618d1c30c25e4b7a71f31a595ee298">TiXmlDeclaration</a> (const char *_version, const char *_encoding, const char *_standalone)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a02ee557b1a4545c3219ed377c103ec76"></a><!-- doxytag: member="TiXmlDeclaration::Version" ref="a02ee557b1a4545c3219ed377c103ec76" args="() const " -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#a02ee557b1a4545c3219ed377c103ec76">Version</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Version. Will return an empty string if none was found. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5d974231f9e9a2f0542f15f3a46cdb76"></a><!-- doxytag: member="TiXmlDeclaration::Encoding" ref="a5d974231f9e9a2f0542f15f3a46cdb76" args="() const " -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#a5d974231f9e9a2f0542f15f3a46cdb76">Encoding</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encoding. Will return an empty string if none was found. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ff06afc033d7ef730ec7c6825b97ad9"></a><!-- doxytag: member="TiXmlDeclaration::Standalone" ref="a9ff06afc033d7ef730ec7c6825b97ad9" args="() const " -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#a9ff06afc033d7ef730ec7c6825b97ad9">Standalone</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is this a standalone document? <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7cf459186040141cda7a180a6585ce2e"></a><!-- doxytag: member="TiXmlDeclaration::Clone" ref="a7cf459186040141cda7a180a6585ce2e" args="() const " -->
+virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#a7cf459186040141cda7a180a6585ce2e">Clone</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a copy of this Declaration and returns it. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#abf6303db4bd05b5be554036817ff1cb4">Print</a> (FILE *cfile, int depth) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. <a href="#abf6303db4bd05b5be554036817ff1cb4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e085d3fefd1dbf5ccdbff729931a967"></a><!-- doxytag: member="TiXmlDeclaration::ToDeclaration" ref="a1e085d3fefd1dbf5ccdbff729931a967" args="() const " -->
+virtual const <a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#a1e085d3fefd1dbf5ccdbff729931a967">ToDeclaration</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6bd3d1daddcaeb9543c24bfd090969ce"></a><!-- doxytag: member="TiXmlDeclaration::ToDeclaration" ref="a6bd3d1daddcaeb9543c24bfd090969ce" args="()" -->
+virtual <a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#a6bd3d1daddcaeb9543c24bfd090969ce">ToDeclaration</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a22315a535983b86535cdba3458669e3e"></a><!-- doxytag: member="TiXmlDeclaration::Accept" ref="a22315a535983b86535cdba3458669e3e" args="(TiXmlVisitor *visitor) const " -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDeclaration.html#a22315a535983b86535cdba3458669e3e">Accept</a> (<a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> *visitor) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walk the XML tree visiting this node and all of its children. <br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-In correct XML the declaration is the first entry in the file.
-<p>
-<div class="fragment"><pre class="fragment"> &lt;?xml version="1.0" standalone="yes"?&gt;
- </pre></div><p>
-TinyXml will happily read or write files without a declaration, however. There are 3 possible attributes to the declaration: version, encoding, and standalone.<p>
-Note: In this version of the code, the attributes are handled as special cases, not generic attributes, simply because there can only be at most 3 and they are always the same.
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="bf6303db4bd05b5be554036817ff1cb4"></a><!-- doxytag: member="TiXmlDeclaration::Print" ref="bf6303db4bd05b5be554036817ff1cb4" args="(FILE *cfile, int depth) const " -->
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>In correct XML the declaration is the first entry in the file. </p>
+<div class="fragment"><pre class="fragment">
+ &lt;?xml version="1.0" standalone="yes"?&gt;
+ </pre></div><p>TinyXml will happily read or write files without a declaration, however. There are 3 possible attributes to the declaration: version, encoding, and standalone.</p>
+<p>Note: In this version of the code, the attributes are handled as special cases, not generic attributes, simply because there can only be at most 3 and they are always the same. </p>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="abf6303db4bd05b5be554036817ff1cb4"></a><!-- doxytag: member="TiXmlDeclaration::Print" ref="abf6303db4bd05b5be554036817ff1cb4" args="(FILE *cfile, int depth) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">virtual void TiXmlDeclaration::Print </td>
+ <td class="memname">virtual void TiXmlDeclaration::Print </td>
<td>(</td>
<td class="paramtype">FILE *&nbsp;</td>
<td class="paramname"> <em>cfile</em>, </td>
@@ -104,26 +105,27 @@ Note: In this version of the code, the attributes are handled as special cases,
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"> const<code> [inline, virtual]</code></td>
+ <td></td><td></td><td> const<code> [inline, virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode.
-<p>
-) Either or both cfile and str can be null.<p>
-This is a formatted print, and will insert tabs and newlines.<p>
-(For an unformatted stream, use the &lt;&lt; operator.)
-<p>
-Implements <a class="el" href="classTiXmlBase.html#0de56b3f2ef14c65091a3b916437b512">TiXmlBase</a>.
+<p>All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. </p>
+<p>) Either or both cfile and str can be null.</p>
+<p>This is a formatted print, and will insert tabs and newlines.</p>
+<p>(For an unformatted stream, use the &lt;&lt; operator.) </p>
+
+<p>Implements <a class="el" href="classTiXmlBase.html#a0de56b3f2ef14c65091a3b916437b512">TiXmlBase</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tinyxml_8h_source.html">tinyxml.h</a></li>
+</ul>
</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="tinyxml_8h-source.html">tinyxml.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlDeclaration.png b/shared/tinyxml/docs/classTiXmlDeclaration.png
index c10912b7..c16d71bf 100644
--- a/shared/tinyxml/docs/classTiXmlDeclaration.png
+++ b/shared/tinyxml/docs/classTiXmlDeclaration.png
Binary files differ
diff --git a/shared/tinyxml/docs/classTiXmlDocument-members.html b/shared/tinyxml/docs/classTiXmlDocument-members.html
index df6132a0..02725730 100644
--- a/shared/tinyxml/docs/classTiXmlDocument-members.html
+++ b/shared/tinyxml/docs/classTiXmlDocument-members.html
@@ -1,119 +1,128 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlDocument Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a545aae325d9752ad64120bc4ecf939a">Accept</a>(TiXmlVisitor *content) const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#708e7f953df61d4d2d12f73171550a4b">Clear</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#c66b8c28db86363315712a3574e87c35">ClearError</a>()</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#4968661cab4a1f44a23329c6f8db1907">Clone</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#6dfc01a6e5d58e56acd537dfd3bdeb29">Error</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a90bc630ee5203c6109ca5fad3323649">ErrorCol</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#9d0f689f6e09ea494ea547be8d79c25e">ErrorDesc</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#f96fc2f3f9ec6422782bfe916c9e778f">ErrorId</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#f30efc75e804aa2e92fb8be3a8cb676e">ErrorRow</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1f05828d023150706eeb16d6fb3f6355">FirstChild</a>(const char *value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#bc8bf32be6419ec453a731868de19554">FirstChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#07f6200a5956c723c5b52d70f29c46f6">FirstChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#10d2669ccb5e29e02fcb0e4408685ef6">FirstChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ccda2c6b45c25bb5a6f9c3407a644e61">FirstChildElement</a>(const char *_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#327ad4bbd90073c5dfc931b07314f5f7">FirstChildElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#7f1d7291880534c1e5cdeb392d8c1f45">FirstChildElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#80e397fa973cf5323e33b07154b024f3">GetDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#d9b75e54ec19301c8b4d5ff583d0b3d5">InsertAfterChild</a>(TiXmlNode *afterThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#0c146fa2fff0157b681594102f48cbc7">InsertBeforeChild</a>(TiXmlNode *beforeThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#d7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a>(const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>(const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#dfaef35a076b9343adc1420757376c39">IterateChildren</a>(const char *value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1cbaaf8e82c09ad763d52616d75724df">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#16e9ad53e2f5445b14bf325c90aa862c">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6432d2b2495f6caf9cb4278df706a031">LastChild</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#bad5bf1059c48127b958711ef89e8e5d">LastChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#256d0cdbfcfeccae83f3a1c9747a8b63">LastChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#69772c9202f70553f940b15c06b07be3">LastChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#5d29442ae46de6d0168429156197bfc6">LinkEndChild</a>(TiXmlNode *addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#4c852a889c02cf251117fd1d9fe1845f">LoadFile</a>(TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#879cdf5e981b8b2d2ef82f2546dd28fb">LoadFile</a>(const char *filename, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#41f6fe7200864d1dca663d230caf8db6">LoadFile</a>(FILE *, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#18ae6ed34fed7991ebc220862dfac884">LoadFile</a>(const std::string &amp;filename, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1b94d2f7fa7ab25a5a8e8d4340c449c9">NextSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1757c1f4d01e8c9596ffdbd561c76aea">NextSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#f854baeba384f5fe9859f5aee03b548e">NextSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2e61c0b89a77e36a0e8c60490003cb46">NextSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#071ba77fd7ab79402fa84b7e9b8607b3">NextSiblingElement</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#7572d0af9d1e696ee3f05d8bb5ebb463">NextSiblingElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#506958e34406729a4e4c5326ea39d081">NextSiblingElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#eed21ad30630ef6e7faf096127edc9f3">NoChildren</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">NodeType</a> enum name</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt;</a>(std::ostream &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#52ef17e7080df2490cf87bde380685ab">operator&lt;&lt;</a>(std::string &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#b57bd426563c926844f65a78412e18b9">operator&gt;&gt;</a>(std::istream &amp;in, TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#b643043132ffd794f8602685d34a982e">Parent</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#17ebabe36926ef398e78dec0d0ad0378">Parse</a>(const char *p, TiXmlParsingData *data=0, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#c2cd892768726270e511b2ab32de4d10">PreviousSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#5bdd49327eec1e609b7d22af706b8316">PreviousSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#658276f57d35d5d4256d1dc1a2c398ab">PreviousSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#cc8a0434c7f401d4a3b6dee77c1a5912">PreviousSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#f08389ec70ee9b2de7f800e206a18510">Print</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#8701fda1fa31b25abbc9c0df42da10e8">Print</a>(FILE *cfile, int depth=0) const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#e19d8510efc90596552f4feeac9a8fbf">RemoveChild</a>(TiXmlNode *removeThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#0c49e739a17b9938050c22cd89617fbd">ReplaceChild</a>(TiXmlNode *replaceThis, const TiXmlNode &amp;withThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#d09d17927f908f40efb406af2fb873be">RootElement</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#21c0aeb0d0a720169ad4ac89523ebe93">SaveFile</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#e869f5ebf7fc54c4a1d737fb4689fd44">SaveFile</a>(const char *filename) const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#cf1672b4538c6d1d441f9f108aea2bf4">SaveFile</a>(FILE *) const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#3d4fae0463f3f03679ba0b7cf6f2df52">SaveFile</a>(const std::string &amp;filename) const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#51dac56316f89b35bdb7d0d433ba988e">SetTabSize</a>(int _tabsize)</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#c6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2598d5f448042c1abbeae4503dd45ff2">SetValue</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#9f5e84335708fde98400230f9f12659c">TiXmlDocument</a>()</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#e4508b452d0c3061db085f3db27b8396">TiXmlDocument</a>(const char *documentName)</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#2c6e58fb99bfa76cc613f16840022225">TiXmlDocument</a>(const std::string &amp;documentName)</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0a5086f9eaee910bbfdc7f975e26574">ToComment</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#383e06a0787f7063953934867990f849">ToComment</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#9f43e6984fc7d4afd6eb32714c6b7b72">ToDeclaration</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#4027136ca820ff4a636b607231b6a6df">ToDeclaration</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#1dc977bde3e4fe85a8eb9d88a35ef5a4">ToDocument</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#1025d942a1f328fd742d545e37efdd42">ToDocument</a>()</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#72abed96dc9667ab9e0a2a275301bb1c">ToElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a65d000223187d22a4dcebd7479e9ebc">ToElement</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#95a46a52c525992d6b4ee08beb14cd69">ToText</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#3ddfbcac78fbea041fad57e5c6d60a03">ToText</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#fd7205cf31d7a376929f8a36930627a2">ToUnknown</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#06de5af852668c7e4af0d09c205f0b0d">ToUnknown</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#57b99d5c97d67a42b9752f5210a1ba5e">Type</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#77943eb90d12c2892b1337a9f5918b41">Value</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlDocument Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#aa545aae325d9752ad64120bc4ecf939a">Accept</a>(TiXmlVisitor *content) const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a708e7f953df61d4d2d12f73171550a4b">Clear</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#ac66b8c28db86363315712a3574e87c35">ClearError</a>()</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a4968661cab4a1f44a23329c6f8db1907">Clone</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a6dfc01a6e5d58e56acd537dfd3bdeb29">Error</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#aa90bc630ee5203c6109ca5fad3323649">ErrorCol</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a9d0f689f6e09ea494ea547be8d79c25e">ErrorDesc</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#af96fc2f3f9ec6422782bfe916c9e778f">ErrorId</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#af30efc75e804aa2e92fb8be3a8cb676e">ErrorRow</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1f05828d023150706eeb16d6fb3f6355">FirstChild</a>(const char *value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#abc8bf32be6419ec453a731868de19554">FirstChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a07f6200a5956c723c5b52d70f29c46f6">FirstChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a10d2669ccb5e29e02fcb0e4408685ef6">FirstChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#af4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#accda2c6b45c25bb5a6f9c3407a644e61">FirstChildElement</a>(const char *_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a327ad4bbd90073c5dfc931b07314f5f7">FirstChildElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a7f1d7291880534c1e5cdeb392d8c1f45">FirstChildElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a80e397fa973cf5323e33b07154b024f3">GetDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ad9b75e54ec19301c8b4d5ff583d0b3d5">InsertAfterChild</a>(TiXmlNode *afterThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0c146fa2fff0157b681594102f48cbc7">InsertBeforeChild</a>(TiXmlNode *beforeThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ad7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a>(const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>(const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#adfaef35a076b9343adc1420757376c39">IterateChildren</a>(const char *value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1cbaaf8e82c09ad763d52616d75724df">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a16e9ad53e2f5445b14bf325c90aa862c">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6432d2b2495f6caf9cb4278df706a031">LastChild</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#abad5bf1059c48127b958711ef89e8e5d">LastChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a256d0cdbfcfeccae83f3a1c9747a8b63">LastChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a69772c9202f70553f940b15c06b07be3">LastChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a5d29442ae46de6d0168429156197bfc6">LinkEndChild</a>(TiXmlNode *addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a4c852a889c02cf251117fd1d9fe1845f">LoadFile</a>(TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a879cdf5e981b8b2d2ef82f2546dd28fb">LoadFile</a>(const char *filename, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a41f6fe7200864d1dca663d230caf8db6">LoadFile</a>(FILE *, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a18ae6ed34fed7991ebc220862dfac884">LoadFile</a>(const std::string &amp;filename, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1b94d2f7fa7ab25a5a8e8d4340c449c9">NextSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1757c1f4d01e8c9596ffdbd561c76aea">NextSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e">NextSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2e61c0b89a77e36a0e8c60490003cb46">NextSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a071ba77fd7ab79402fa84b7e9b8607b3">NextSiblingElement</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a7572d0af9d1e696ee3f05d8bb5ebb463">NextSiblingElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a506958e34406729a4e4c5326ea39d081">NextSiblingElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aeed21ad30630ef6e7faf096127edc9f3">NoChildren</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2">NodeType</a> enum name</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt;</a>(std::ostream &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a52ef17e7080df2490cf87bde380685ab">operator&lt;&lt;</a>(std::string &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ab57bd426563c926844f65a78412e18b9">operator&gt;&gt;</a>(std::istream &amp;in, TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ab643043132ffd794f8602685d34a982e">Parent</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a17ebabe36926ef398e78dec0d0ad0378">Parse</a>(const char *p, TiXmlParsingData *data=0, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10">PreviousSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a5bdd49327eec1e609b7d22af706b8316">PreviousSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a658276f57d35d5d4256d1dc1a2c398ab">PreviousSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#acc8a0434c7f401d4a3b6dee77c1a5912">PreviousSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#af08389ec70ee9b2de7f800e206a18510">Print</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a8701fda1fa31b25abbc9c0df42da10e8">Print</a>(FILE *cfile, int depth=0) const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ae19d8510efc90596552f4feeac9a8fbf">RemoveChild</a>(TiXmlNode *removeThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0c49e739a17b9938050c22cd89617fbd">ReplaceChild</a>(TiXmlNode *replaceThis, const TiXmlNode &amp;withThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#ad09d17927f908f40efb406af2fb873be">RootElement</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a21c0aeb0d0a720169ad4ac89523ebe93">SaveFile</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#ae869f5ebf7fc54c4a1d737fb4689fd44">SaveFile</a>(const char *filename) const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#acf1672b4538c6d1d441f9f108aea2bf4">SaveFile</a>(FILE *) const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a3d4fae0463f3f03679ba0b7cf6f2df52">SaveFile</a>(const std::string &amp;filename) const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a51dac56316f89b35bdb7d0d433ba988e">SetTabSize</a>(int _tabsize)</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ac6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2598d5f448042c1abbeae4503dd45ff2">SetValue</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a9f5e84335708fde98400230f9f12659c">TiXmlDocument</a>()</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#ae4508b452d0c3061db085f3db27b8396">TiXmlDocument</a>(const char *documentName)</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a2c6e58fb99bfa76cc613f16840022225">TiXmlDocument</a>(const std::string &amp;documentName)</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aa0a5086f9eaee910bbfdc7f975e26574">ToComment</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a383e06a0787f7063953934867990f849">ToComment</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a9f43e6984fc7d4afd6eb32714c6b7b72">ToDeclaration</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a4027136ca820ff4a636b607231b6a6df">ToDeclaration</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a1dc977bde3e4fe85a8eb9d88a35ef5a4">ToDocument</a>() const </td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlDocument.html#a1025d942a1f328fd742d545e37efdd42">ToDocument</a>()</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a72abed96dc9667ab9e0a2a275301bb1c">ToElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aa65d000223187d22a4dcebd7479e9ebc">ToElement</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a95a46a52c525992d6b4ee08beb14cd69">ToText</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a3ddfbcac78fbea041fad57e5c6d60a03">ToText</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#afd7205cf31d7a376929f8a36930627a2">ToUnknown</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a06de5af852668c7e4af0d09c205f0b0d">ToUnknown</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a57b99d5c97d67a42b9752f5210a1ba5e">Type</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a77943eb90d12c2892b1337a9f5918b41">Value</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlDocument.html b/shared/tinyxml/docs/classTiXmlDocument.html
index 9779d3cc..107101cb 100644
--- a/shared/tinyxml/docs/classTiXmlDocument.html
+++ b/shared/tinyxml/docs/classTiXmlDocument.html
@@ -1,254 +1,236 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: TiXmlDocument Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlDocument Class Reference</h1><!-- doxytag: class="TiXmlDocument" --><!-- doxytag: inherits="TiXmlNode" -->Always the top level node.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="tinyxml_8h-source.html">tinyxml.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for TiXmlDocument:
-<p><center><img src="classTiXmlDocument.png" usemap="#TiXmlDocument_map" border="0" alt=""></center>
-<map name="TiXmlDocument_map">
-<area href="classTiXmlNode.html" alt="TiXmlNode" shape="rect" coords="0,56,99,80">
-<area href="classTiXmlBase.html" alt="TiXmlBase" shape="rect" coords="0,0,99,24">
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlDocument Class Reference</h1><!-- doxytag: class="TiXmlDocument" --><!-- doxytag: inherits="TiXmlNode" -->
+<p>Always the top level node.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="tinyxml_8h_source.html">tinyxml.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for TiXmlDocument:</div>
+<div class="dynsection">
+ <div class="center">
+ <img src="classTiXmlDocument.png" usemap="#TiXmlDocument_map" alt=""/>
+ <map id="TiXmlDocument_map" name="TiXmlDocument_map">
+<area href="classTiXmlNode.html" alt="TiXmlNode" shape="rect" coords="0,56,99,80"/>
+<area href="classTiXmlBase.html" alt="TiXmlBase" shape="rect" coords="0,0,99,24"/>
</map>
-<a href="classTiXmlDocument-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9f5e84335708fde98400230f9f12659c"></a><!-- doxytag: member="TiXmlDocument::TiXmlDocument" ref="9f5e84335708fde98400230f9f12659c" args="()" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#9f5e84335708fde98400230f9f12659c">TiXmlDocument</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an empty document, that has no name. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e4508b452d0c3061db085f3db27b8396"></a><!-- doxytag: member="TiXmlDocument::TiXmlDocument" ref="e4508b452d0c3061db085f3db27b8396" args="(const char *documentName)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#e4508b452d0c3061db085f3db27b8396">TiXmlDocument</a> (const char *documentName)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a document with a name. The name of the document is also the filename of the xml. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2c6e58fb99bfa76cc613f16840022225"></a><!-- doxytag: member="TiXmlDocument::TiXmlDocument" ref="2c6e58fb99bfa76cc613f16840022225" args="(const std::string &amp;documentName)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#2c6e58fb99bfa76cc613f16840022225">TiXmlDocument</a> (const std::string &amp;documentName)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#4c852a889c02cf251117fd1d9fe1845f">LoadFile</a> (TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a file using the current document value. <a href="#4c852a889c02cf251117fd1d9fe1845f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="21c0aeb0d0a720169ad4ac89523ebe93"></a><!-- doxytag: member="TiXmlDocument::SaveFile" ref="21c0aeb0d0a720169ad4ac89523ebe93" args="() const " -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#21c0aeb0d0a720169ad4ac89523ebe93">SaveFile</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save a file using the current document value. Returns true if successful. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="879cdf5e981b8b2d2ef82f2546dd28fb"></a><!-- doxytag: member="TiXmlDocument::LoadFile" ref="879cdf5e981b8b2d2ef82f2546dd28fb" args="(const char *filename, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)" -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#879cdf5e981b8b2d2ef82f2546dd28fb">LoadFile</a> (const char *filename, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a file using the given filename. Returns true if successful. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e869f5ebf7fc54c4a1d737fb4689fd44"></a><!-- doxytag: member="TiXmlDocument::SaveFile" ref="e869f5ebf7fc54c4a1d737fb4689fd44" args="(const char *filename) const " -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#e869f5ebf7fc54c4a1d737fb4689fd44">SaveFile</a> (const char *filename) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save a file using the given filename. Returns true if successful. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#41f6fe7200864d1dca663d230caf8db6">LoadFile</a> (FILE *, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a file using the given FILE*. <a href="#41f6fe7200864d1dca663d230caf8db6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cf1672b4538c6d1d441f9f108aea2bf4"></a><!-- doxytag: member="TiXmlDocument::SaveFile" ref="cf1672b4538c6d1d441f9f108aea2bf4" args="(FILE *) const " -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#cf1672b4538c6d1d441f9f108aea2bf4">SaveFile</a> (FILE *) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save a file using the given FILE*. Returns true if successful. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#18ae6ed34fed7991ebc220862dfac884">LoadFile</a> (const std::string &amp;filename, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3d4fae0463f3f03679ba0b7cf6f2df52"></a><!-- doxytag: member="TiXmlDocument::SaveFile" ref="3d4fae0463f3f03679ba0b7cf6f2df52" args="(const std::string &amp;filename) const " -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#3d4fae0463f3f03679ba0b7cf6f2df52">SaveFile</a> (const std::string &amp;filename) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">&lt; STL std::string version. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#17ebabe36926ef398e78dec0d0ad0378">Parse</a> (const char *p, TiXmlParsingData *data=0, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse the given null terminated block of xml data. <a href="#17ebabe36926ef398e78dec0d0ad0378"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#d09d17927f908f40efb406af2fb873be">RootElement</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the root element -- the only top level element -- of the document. <a href="#d09d17927f908f40efb406af2fb873be"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#6dfc01a6e5d58e56acd537dfd3bdeb29">Error</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If an error occurs, Error will be set to true. <a href="#6dfc01a6e5d58e56acd537dfd3bdeb29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9d0f689f6e09ea494ea547be8d79c25e"></a><!-- doxytag: member="TiXmlDocument::ErrorDesc" ref="9d0f689f6e09ea494ea547be8d79c25e" args="() const " -->
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#9d0f689f6e09ea494ea547be8d79c25e">ErrorDesc</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains a textual (english) description of the error if one occurs. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#f96fc2f3f9ec6422782bfe916c9e778f">ErrorId</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generally, you probably want the error string ( <a class="el" href="classTiXmlDocument.html#9d0f689f6e09ea494ea547be8d79c25e">ErrorDesc()</a> ). <a href="#f96fc2f3f9ec6422782bfe916c9e778f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#f30efc75e804aa2e92fb8be3a8cb676e">ErrorRow</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the location (if known) of the error. <a href="#f30efc75e804aa2e92fb8be3a8cb676e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a90bc630ee5203c6109ca5fad3323649"></a><!-- doxytag: member="TiXmlDocument::ErrorCol" ref="a90bc630ee5203c6109ca5fad3323649" args="() const " -->
-int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a90bc630ee5203c6109ca5fad3323649">ErrorCol</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The column where the error occured. See <a class="el" href="classTiXmlDocument.html#f30efc75e804aa2e92fb8be3a8cb676e">ErrorRow()</a>. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#51dac56316f89b35bdb7d0d433ba988e">SetTabSize</a> (int _tabsize)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classTiXmlDocument.html#51dac56316f89b35bdb7d0d433ba988e">SetTabSize()</a> allows the error reporting functions (<a class="el" href="classTiXmlDocument.html#f30efc75e804aa2e92fb8be3a8cb676e">ErrorRow()</a> and <a class="el" href="classTiXmlDocument.html#a90bc630ee5203c6109ca5fad3323649">ErrorCol()</a>) to report the correct values for row and column. <a href="#51dac56316f89b35bdb7d0d433ba988e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#c66b8c28db86363315712a3574e87c35">ClearError</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If you have handled the error, it can be reset with this call. <a href="#c66b8c28db86363315712a3574e87c35"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f08389ec70ee9b2de7f800e206a18510"></a><!-- doxytag: member="TiXmlDocument::Print" ref="f08389ec70ee9b2de7f800e206a18510" args="() const " -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#f08389ec70ee9b2de7f800e206a18510">Print</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write the document to standard out using formatted printing ("pretty print"). <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8701fda1fa31b25abbc9c0df42da10e8"></a><!-- doxytag: member="TiXmlDocument::Print" ref="8701fda1fa31b25abbc9c0df42da10e8" args="(FILE *cfile, int depth=0) const " -->
-virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#8701fda1fa31b25abbc9c0df42da10e8">Print</a> (FILE *cfile, int depth=0) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print this Document to a FILE stream. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1dc977bde3e4fe85a8eb9d88a35ef5a4"></a><!-- doxytag: member="TiXmlDocument::ToDocument" ref="1dc977bde3e4fe85a8eb9d88a35ef5a4" args="() const " -->
-virtual const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#1dc977bde3e4fe85a8eb9d88a35ef5a4">ToDocument</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1025d942a1f328fd742d545e37efdd42"></a><!-- doxytag: member="TiXmlDocument::ToDocument" ref="1025d942a1f328fd742d545e37efdd42" args="()" -->
-virtual <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#1025d942a1f328fd742d545e37efdd42">ToDocument</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a545aae325d9752ad64120bc4ecf939a"></a><!-- doxytag: member="TiXmlDocument::Accept" ref="a545aae325d9752ad64120bc4ecf939a" args="(TiXmlVisitor *content) const " -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a545aae325d9752ad64120bc4ecf939a">Accept</a> (<a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> *content) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walk the XML tree visiting this node and all of its children. <br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#4968661cab4a1f44a23329c6f8db1907">Clone</a> () const </td></tr>
+ </div>
+</div>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an exact duplicate of this node and return it. <a href="#4968661cab4a1f44a23329c6f8db1907"></a><br></td></tr>
+<p><a href="classTiXmlDocument-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f5e84335708fde98400230f9f12659c"></a><!-- doxytag: member="TiXmlDocument::TiXmlDocument" ref="a9f5e84335708fde98400230f9f12659c" args="()" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a9f5e84335708fde98400230f9f12659c">TiXmlDocument</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an empty document, that has no name. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae4508b452d0c3061db085f3db27b8396"></a><!-- doxytag: member="TiXmlDocument::TiXmlDocument" ref="ae4508b452d0c3061db085f3db27b8396" args="(const char *documentName)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#ae4508b452d0c3061db085f3db27b8396">TiXmlDocument</a> (const char *documentName)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a document with a name. The name of the document is also the filename of the xml. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c6e58fb99bfa76cc613f16840022225"></a><!-- doxytag: member="TiXmlDocument::TiXmlDocument" ref="a2c6e58fb99bfa76cc613f16840022225" args="(const std::string &amp;documentName)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a2c6e58fb99bfa76cc613f16840022225">TiXmlDocument</a> (const std::string &amp;documentName)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a4c852a889c02cf251117fd1d9fe1845f">LoadFile</a> (TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a file using the current document value. <a href="#a4c852a889c02cf251117fd1d9fe1845f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21c0aeb0d0a720169ad4ac89523ebe93"></a><!-- doxytag: member="TiXmlDocument::SaveFile" ref="a21c0aeb0d0a720169ad4ac89523ebe93" args="() const " -->
+bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a21c0aeb0d0a720169ad4ac89523ebe93">SaveFile</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save a file using the current document value. Returns true if successful. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a879cdf5e981b8b2d2ef82f2546dd28fb"></a><!-- doxytag: member="TiXmlDocument::LoadFile" ref="a879cdf5e981b8b2d2ef82f2546dd28fb" args="(const char *filename, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)" -->
+bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a879cdf5e981b8b2d2ef82f2546dd28fb">LoadFile</a> (const char *filename, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a file using the given filename. Returns true if successful. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae869f5ebf7fc54c4a1d737fb4689fd44"></a><!-- doxytag: member="TiXmlDocument::SaveFile" ref="ae869f5ebf7fc54c4a1d737fb4689fd44" args="(const char *filename) const " -->
+bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#ae869f5ebf7fc54c4a1d737fb4689fd44">SaveFile</a> (const char *filename) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save a file using the given filename. Returns true if successful. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a41f6fe7200864d1dca663d230caf8db6">LoadFile</a> (FILE *, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a file using the given FILE*. <a href="#a41f6fe7200864d1dca663d230caf8db6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf1672b4538c6d1d441f9f108aea2bf4"></a><!-- doxytag: member="TiXmlDocument::SaveFile" ref="acf1672b4538c6d1d441f9f108aea2bf4" args="(FILE *) const " -->
+bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#acf1672b4538c6d1d441f9f108aea2bf4">SaveFile</a> (FILE *) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save a file using the given FILE*. Returns true if successful. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a18ae6ed34fed7991ebc220862dfac884">LoadFile</a> (const std::string &amp;filename, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d4fae0463f3f03679ba0b7cf6f2df52"></a><!-- doxytag: member="TiXmlDocument::SaveFile" ref="a3d4fae0463f3f03679ba0b7cf6f2df52" args="(const std::string &amp;filename) const " -->
+bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a3d4fae0463f3f03679ba0b7cf6f2df52">SaveFile</a> (const std::string &amp;filename) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">&lt; STL std::string version. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a17ebabe36926ef398e78dec0d0ad0378">Parse</a> (const char *p, TiXmlParsingData *data=0, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse the given null terminated block of xml data. <a href="#a17ebabe36926ef398e78dec0d0ad0378"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#ad09d17927f908f40efb406af2fb873be">RootElement</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the root element -- the only top level element -- of the document. <a href="#ad09d17927f908f40efb406af2fb873be"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a6dfc01a6e5d58e56acd537dfd3bdeb29">Error</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If an error occurs, Error will be set to true. <a href="#a6dfc01a6e5d58e56acd537dfd3bdeb29"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d0f689f6e09ea494ea547be8d79c25e"></a><!-- doxytag: member="TiXmlDocument::ErrorDesc" ref="a9d0f689f6e09ea494ea547be8d79c25e" args="() const " -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a9d0f689f6e09ea494ea547be8d79c25e">ErrorDesc</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains a textual (english) description of the error if one occurs. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#af96fc2f3f9ec6422782bfe916c9e778f">ErrorId</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generally, you probably want the error string ( <a class="el" href="classTiXmlDocument.html#a9d0f689f6e09ea494ea547be8d79c25e" title="Contains a textual (english) description of the error if one occurs.">ErrorDesc()</a> ). <a href="#af96fc2f3f9ec6422782bfe916c9e778f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#af30efc75e804aa2e92fb8be3a8cb676e">ErrorRow</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the location (if known) of the error. <a href="#af30efc75e804aa2e92fb8be3a8cb676e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa90bc630ee5203c6109ca5fad3323649"></a><!-- doxytag: member="TiXmlDocument::ErrorCol" ref="aa90bc630ee5203c6109ca5fad3323649" args="() const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#aa90bc630ee5203c6109ca5fad3323649">ErrorCol</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The column where the error occured. See <a class="el" href="classTiXmlDocument.html#af30efc75e804aa2e92fb8be3a8cb676e" title="Returns the location (if known) of the error.">ErrorRow()</a>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a51dac56316f89b35bdb7d0d433ba988e">SetTabSize</a> (int _tabsize)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classTiXmlDocument.html#a51dac56316f89b35bdb7d0d433ba988e" title="SetTabSize() allows the error reporting functions (ErrorRow() and ErrorCol()) to...">SetTabSize()</a> allows the error reporting functions (<a class="el" href="classTiXmlDocument.html#af30efc75e804aa2e92fb8be3a8cb676e" title="Returns the location (if known) of the error.">ErrorRow()</a> and <a class="el" href="classTiXmlDocument.html#aa90bc630ee5203c6109ca5fad3323649" title="The column where the error occured. See ErrorRow().">ErrorCol()</a>) to report the correct values for row and column. <a href="#a51dac56316f89b35bdb7d0d433ba988e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#ac66b8c28db86363315712a3574e87c35">ClearError</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If you have handled the error, it can be reset with this call. <a href="#ac66b8c28db86363315712a3574e87c35"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#af08389ec70ee9b2de7f800e206a18510">Print</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write the document to standard out using formatted printing ("pretty print"). <a href="#af08389ec70ee9b2de7f800e206a18510"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8701fda1fa31b25abbc9c0df42da10e8"></a><!-- doxytag: member="TiXmlDocument::Print" ref="a8701fda1fa31b25abbc9c0df42da10e8" args="(FILE *cfile, int depth=0) const " -->
+virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a8701fda1fa31b25abbc9c0df42da10e8">Print</a> (FILE *cfile, int depth=0) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print this Document to a FILE stream. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1dc977bde3e4fe85a8eb9d88a35ef5a4"></a><!-- doxytag: member="TiXmlDocument::ToDocument" ref="a1dc977bde3e4fe85a8eb9d88a35ef5a4" args="() const " -->
+virtual const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a1dc977bde3e4fe85a8eb9d88a35ef5a4">ToDocument</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1025d942a1f328fd742d545e37efdd42"></a><!-- doxytag: member="TiXmlDocument::ToDocument" ref="a1025d942a1f328fd742d545e37efdd42" args="()" -->
+virtual <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a1025d942a1f328fd742d545e37efdd42">ToDocument</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa545aae325d9752ad64120bc4ecf939a"></a><!-- doxytag: member="TiXmlDocument::Accept" ref="aa545aae325d9752ad64120bc4ecf939a" args="(TiXmlVisitor *content) const " -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#aa545aae325d9752ad64120bc4ecf939a">Accept</a> (<a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> *content) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walk the XML tree visiting this node and all of its children. <br/></td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlDocument.html#a4968661cab4a1f44a23329c6f8db1907">Clone</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an exact duplicate of this node and return it. <a href="#a4968661cab4a1f44a23329c6f8db1907"></a><br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Always the top level node.
-<p>
-A document binds together all the XML pieces. It can be saved, loaded, and printed to the screen. The 'value' of a document node is the xml file name.
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="c66b8c28db86363315712a3574e87c35"></a><!-- doxytag: member="TiXmlDocument::ClearError" ref="c66b8c28db86363315712a3574e87c35" args="()" -->
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Always the top level node. </p>
+<p>A document binds together all the XML pieces. It can be saved, loaded, and printed to the screen. The 'value' of a document node is the xml file name. </p>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ac66b8c28db86363315712a3574e87c35"></a><!-- doxytag: member="TiXmlDocument::ClearError" ref="ac66b8c28db86363315712a3574e87c35" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void TiXmlDocument::ClearError </td>
+ <td class="memname">void TiXmlDocument::ClearError </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"><code> [inline]</code></td>
+ <td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-If you have handled the error, it can be reset with this call.
-<p>
-The error state is automatically cleared if you Parse a new XML block.
+<p>If you have handled the error, it can be reset with this call. </p>
+<p>The error state is automatically cleared if you Parse a new XML block. </p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="4968661cab4a1f44a23329c6f8db1907"></a><!-- doxytag: member="TiXmlDocument::Clone" ref="4968661cab4a1f44a23329c6f8db1907" args="() const " -->
+<a class="anchor" id="a4968661cab4a1f44a23329c6f8db1907"></a><!-- doxytag: member="TiXmlDocument::Clone" ref="a4968661cab4a1f44a23329c6f8db1907" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlDocument::Clone </td>
+ <td class="memname">virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlDocument::Clone </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [protected, virtual]</code></td>
+ <td> const<code> [protected, virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Create an exact duplicate of this node and return it.
-<p>
-The memory must be deleted by the caller.
-<p>
-Implements <a class="el" href="classTiXmlNode.html#4508cc3a2d7a98e96a54cc09c37a78a4">TiXmlNode</a>.
+<p>Create an exact duplicate of this node and return it. </p>
+<p>The memory must be deleted by the caller. </p>
+
+<p>Implements <a class="el" href="classTiXmlNode.html#a4508cc3a2d7a98e96a54cc09c37a78a4">TiXmlNode</a>.</p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="6dfc01a6e5d58e56acd537dfd3bdeb29"></a><!-- doxytag: member="TiXmlDocument::Error" ref="6dfc01a6e5d58e56acd537dfd3bdeb29" args="() const " -->
+<a class="anchor" id="a6dfc01a6e5d58e56acd537dfd3bdeb29"></a><!-- doxytag: member="TiXmlDocument::Error" ref="a6dfc01a6e5d58e56acd537dfd3bdeb29" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">bool TiXmlDocument::Error </td>
+ <td class="memname">bool TiXmlDocument::Error </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [inline]</code></td>
+ <td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-If an error occurs, Error will be set to true.
-<p>
-Also,<ul>
-<li>The <a class="el" href="classTiXmlDocument.html#f96fc2f3f9ec6422782bfe916c9e778f">ErrorId()</a> will contain the integer identifier of the error (not generally useful)</li><li>The <a class="el" href="classTiXmlDocument.html#9d0f689f6e09ea494ea547be8d79c25e">ErrorDesc()</a> method will return the name of the error. (very useful)</li><li>The <a class="el" href="classTiXmlDocument.html#f30efc75e804aa2e92fb8be3a8cb676e">ErrorRow()</a> and <a class="el" href="classTiXmlDocument.html#a90bc630ee5203c6109ca5fad3323649">ErrorCol()</a> will return the location of the error (if known) </li></ul>
+<p>If an error occurs, Error will be set to true. </p>
+<p>Also,</p>
+<ul>
+<li>The <a class="el" href="classTiXmlDocument.html#af96fc2f3f9ec6422782bfe916c9e778f" title="Generally, you probably want the error string ( ErrorDesc() ).">ErrorId()</a> will contain the integer identifier of the error (not generally useful)</li>
+<li>The <a class="el" href="classTiXmlDocument.html#a9d0f689f6e09ea494ea547be8d79c25e" title="Contains a textual (english) description of the error if one occurs.">ErrorDesc()</a> method will return the name of the error. (very useful)</li>
+<li>The <a class="el" href="classTiXmlDocument.html#af30efc75e804aa2e92fb8be3a8cb676e" title="Returns the location (if known) of the error.">ErrorRow()</a> and <a class="el" href="classTiXmlDocument.html#aa90bc630ee5203c6109ca5fad3323649" title="The column where the error occured. See ErrorRow().">ErrorCol()</a> will return the location of the error (if known) </li>
+</ul>
</div>
-</div><p>
-<a class="anchor" name="f96fc2f3f9ec6422782bfe916c9e778f"></a><!-- doxytag: member="TiXmlDocument::ErrorId" ref="f96fc2f3f9ec6422782bfe916c9e778f" args="() const " -->
+</div>
+<a class="anchor" id="af96fc2f3f9ec6422782bfe916c9e778f"></a><!-- doxytag: member="TiXmlDocument::ErrorId" ref="af96fc2f3f9ec6422782bfe916c9e778f" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int TiXmlDocument::ErrorId </td>
+ <td class="memname">int TiXmlDocument::ErrorId </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [inline]</code></td>
+ <td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Generally, you probably want the error string ( <a class="el" href="classTiXmlDocument.html#9d0f689f6e09ea494ea547be8d79c25e">ErrorDesc()</a> ).
-<p>
-But if you prefer the ErrorId, this function will fetch it.
+<p>Generally, you probably want the error string ( <a class="el" href="classTiXmlDocument.html#a9d0f689f6e09ea494ea547be8d79c25e" title="Contains a textual (english) description of the error if one occurs.">ErrorDesc()</a> ). </p>
+<p>But if you prefer the ErrorId, this function will fetch it. </p>
+
</div>
-</div><p>
-<a class="anchor" name="f30efc75e804aa2e92fb8be3a8cb676e"></a><!-- doxytag: member="TiXmlDocument::ErrorRow" ref="f30efc75e804aa2e92fb8be3a8cb676e" args="() const " -->
+</div>
+<a class="anchor" id="af30efc75e804aa2e92fb8be3a8cb676e"></a><!-- doxytag: member="TiXmlDocument::ErrorRow" ref="af30efc75e804aa2e92fb8be3a8cb676e" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int TiXmlDocument::ErrorRow </td>
+ <td class="memname">int TiXmlDocument::ErrorRow </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [inline]</code></td>
+ <td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Returns the location (if known) of the error.
-<p>
-The first column is column 1, and the first row is row 1. A value of 0 means the row and column wasn't applicable (memory errors, for example, have no row/column) or the parser lost the error. (An error in the error reporting, in that case.)<p>
-<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classTiXmlDocument.html#51dac56316f89b35bdb7d0d433ba988e">SetTabSize</a>, <a class="el" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">Row</a>, <a class="el" href="classTiXmlBase.html#b54bfb9b70fe6dd276e7b279cab7f003">Column</a> </dd></dl>
+<p>Returns the location (if known) of the error. </p>
+<p>The first column is column 1, and the first row is row 1. A value of 0 means the row and column wasn't applicable (memory errors, for example, have no row/column) or the parser lost the error. (An error in the error reporting, in that case.)</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classTiXmlDocument.html#a51dac56316f89b35bdb7d0d433ba988e" title="SetTabSize() allows the error reporting functions (ErrorRow() and ErrorCol()) to...">SetTabSize</a>, <a class="el" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853" title="Return the position, in the original source file, of this node or attribute.">Row</a>, <a class="el" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003" title="See Row().">Column</a> </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="18ae6ed34fed7991ebc220862dfac884"></a><!-- doxytag: member="TiXmlDocument::LoadFile" ref="18ae6ed34fed7991ebc220862dfac884" args="(const std::string &amp;filename, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)" -->
+</div>
+<a class="anchor" id="a18ae6ed34fed7991ebc220862dfac884"></a><!-- doxytag: member="TiXmlDocument::LoadFile" ref="a18ae6ed34fed7991ebc220862dfac884" args="(const std::string &amp;filename, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">bool TiXmlDocument::LoadFile </td>
+ <td class="memname">bool TiXmlDocument::LoadFile </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&nbsp;</td>
<td class="paramname"> <em>filename</em>, </td>
@@ -262,27 +244,28 @@ The first column is column 1, and the first row is row 1. A value of 0 means the
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"><code> [inline]</code></td>
+ <td></td><td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-
-<p>
-<dl compact><dt><b>Parameters: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em>encoding</em>&nbsp;</td><td>
-STL std::string version. </td></tr>
-</table>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>encoding</em>&nbsp;</td><td>STL std::string version. </td></tr>
+ </table>
+ </dd>
</dl>
+
+<p>References <a class="el" href="classTiXmlDocument.html#a4c852a889c02cf251117fd1d9fe1845f">LoadFile()</a>.</p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="41f6fe7200864d1dca663d230caf8db6"></a><!-- doxytag: member="TiXmlDocument::LoadFile" ref="41f6fe7200864d1dca663d230caf8db6" args="(FILE *, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)" -->
+<a class="anchor" id="a41f6fe7200864d1dca663d230caf8db6"></a><!-- doxytag: member="TiXmlDocument::LoadFile" ref="a41f6fe7200864d1dca663d230caf8db6" args="(FILE *, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">bool TiXmlDocument::LoadFile </td>
+ <td class="memname">bool TiXmlDocument::LoadFile </td>
<td>(</td>
<td class="paramtype">FILE *&nbsp;</td>
<td class="paramname">, </td>
@@ -296,46 +279,46 @@ STL std::string version. </td></tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"></td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Load a file using the given FILE*.
-<p>
-Returns true if successful. Note that this method doesn't stream - the entire object pointed at by the FILE* will be interpreted as an XML file. TinyXML doesn't stream in XML from the current file location. Streaming may be added in the future.
+<p>Load a file using the given FILE*. </p>
+<p>Returns true if successful. Note that this method doesn't stream - the entire object pointed at by the FILE* will be interpreted as an XML file. TinyXML doesn't stream in XML from the current file location. Streaming may be added in the future. </p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="4c852a889c02cf251117fd1d9fe1845f"></a><!-- doxytag: member="TiXmlDocument::LoadFile" ref="4c852a889c02cf251117fd1d9fe1845f" args="(TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)" -->
+<a class="anchor" id="a4c852a889c02cf251117fd1d9fe1845f"></a><!-- doxytag: member="TiXmlDocument::LoadFile" ref="a4c852a889c02cf251117fd1d9fe1845f" args="(TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">bool TiXmlDocument::LoadFile </td>
+ <td class="memname">bool TiXmlDocument::LoadFile </td>
<td>(</td>
<td class="paramtype">TiXmlEncoding&nbsp;</td>
- <td class="paramname"> <em>encoding</em> = <code>TIXML_DEFAULT_ENCODING</code> </td>
+ <td class="paramname"> <em>encoding</em> = <code>TIXML_DEFAULT_ENCODING</code></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
+ <td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Load a file using the current document value.
-<p>
-Returns true if successful. Will delete any existing document data before loading.
+<p>Load a file using the current document value. </p>
+<p>Returns true if successful. Will delete any existing document data before loading. </p>
+
+<p>Referenced by <a class="el" href="tinyxml_8h_source.html#l01425">LoadFile()</a>.</p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="17ebabe36926ef398e78dec0d0ad0378"></a><!-- doxytag: member="TiXmlDocument::Parse" ref="17ebabe36926ef398e78dec0d0ad0378" args="(const char *p, TiXmlParsingData *data=0, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)" -->
+<a class="anchor" id="a17ebabe36926ef398e78dec0d0ad0378"></a><!-- doxytag: member="TiXmlDocument::Parse" ref="a17ebabe36926ef398e78dec0d0ad0378" args="(const char *p, TiXmlParsingData *data=0, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">virtual const char* TiXmlDocument::Parse </td>
+ <td class="memname">virtual const char* TiXmlDocument::Parse </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>p</em>, </td>
@@ -355,76 +338,100 @@ Returns true if successful. Will delete any existing document data before loadin
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"><code> [virtual]</code></td>
+ <td></td><td></td><td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Parse the given null terminated block of xml data.
-<p>
-Passing in an encoding to this method (either TIXML_ENCODING_LEGACY or TIXML_ENCODING_UTF8 will force TinyXml to use that encoding, regardless of what TinyXml might otherwise try to detect.
-<p>
-Implements <a class="el" href="classTiXmlBase.html">TiXmlBase</a>.
+<p>Parse the given null terminated block of xml data. </p>
+<p>Passing in an encoding to this method (either TIXML_ENCODING_LEGACY or TIXML_ENCODING_UTF8 will force TinyXml to use that encoding, regardless of what TinyXml might otherwise try to detect. </p>
+
+<p>Implements <a class="el" href="classTiXmlBase.html">TiXmlBase</a>.</p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="d09d17927f908f40efb406af2fb873be"></a><!-- doxytag: member="TiXmlDocument::RootElement" ref="d09d17927f908f40efb406af2fb873be" args="() const " -->
+<a class="anchor" id="af08389ec70ee9b2de7f800e206a18510"></a><!-- doxytag: member="TiXmlDocument::Print" ref="af08389ec70ee9b2de7f800e206a18510" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const <a class="el" href="classTiXmlElement.html">TiXmlElement</a>* TiXmlDocument::RootElement </td>
+ <td class="memname">void TiXmlDocument::Print </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [inline]</code></td>
+ <td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Get the root element -- the only top level element -- of the document.
-<p>
-In well formed XML, there should only be one. TinyXml is tolerant of multiple elements at the document level.
+<p>Write the document to standard out using formatted printing ("pretty print"). </p>
+
+<p>References <a class="el" href="tinyxml_8h_source.html#l01512">Print()</a>.</p>
+
+<p>Referenced by <a class="el" href="tinyxml_8h_source.html#l01512">Print()</a>.</p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="51dac56316f89b35bdb7d0d433ba988e"></a><!-- doxytag: member="TiXmlDocument::SetTabSize" ref="51dac56316f89b35bdb7d0d433ba988e" args="(int _tabsize)" -->
+<a class="anchor" id="ad09d17927f908f40efb406af2fb873be"></a><!-- doxytag: member="TiXmlDocument::RootElement" ref="ad09d17927f908f40efb406af2fb873be" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void TiXmlDocument::SetTabSize </td>
+ <td class="memname">const <a class="el" href="classTiXmlElement.html">TiXmlElement</a>* TiXmlDocument::RootElement </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Get the root element -- the only top level element -- of the document. </p>
+<p>In well formed XML, there should only be one. TinyXml is tolerant of multiple elements at the document level. </p>
+
+<p>References <a class="el" href="classTiXmlNode.html#af4fb652f6bd79ae0d5ce7d0f7d3c0fba">TiXmlNode::FirstChildElement()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a51dac56316f89b35bdb7d0d433ba988e"></a><!-- doxytag: member="TiXmlDocument::SetTabSize" ref="a51dac56316f89b35bdb7d0d433ba988e" args="(int _tabsize)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void TiXmlDocument::SetTabSize </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>_tabsize</em> </td>
+ <td class="paramname"> <em>_tabsize</em></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"><code> [inline]</code></td>
+ <td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-<a class="el" href="classTiXmlDocument.html#51dac56316f89b35bdb7d0d433ba988e">SetTabSize()</a> allows the error reporting functions (<a class="el" href="classTiXmlDocument.html#f30efc75e804aa2e92fb8be3a8cb676e">ErrorRow()</a> and <a class="el" href="classTiXmlDocument.html#a90bc630ee5203c6109ca5fad3323649">ErrorCol()</a>) to report the correct values for row and column.
-<p>
-It does not change the output or input in any way.<p>
-By calling this method, with a tab size greater than 0, the row and column of each node and attribute is stored when the file is loaded. Very useful for tracking the DOM back in to the source file.<p>
-The tab size is required for calculating the location of nodes. If not set, the default of 4 is used. The tabsize is set per document. Setting the tabsize to 0 disables row/column tracking.<p>
-Note that row and column tracking is not supported when using operator&gt;&gt;.<p>
-The tab size needs to be enabled before the parse or load. Correct usage: <div class="fragment"><pre class="fragment"> TiXmlDocument doc;
+<p><a class="el" href="classTiXmlDocument.html#a51dac56316f89b35bdb7d0d433ba988e" title="SetTabSize() allows the error reporting functions (ErrorRow() and ErrorCol()) to...">SetTabSize()</a> allows the error reporting functions (<a class="el" href="classTiXmlDocument.html#af30efc75e804aa2e92fb8be3a8cb676e" title="Returns the location (if known) of the error.">ErrorRow()</a> and <a class="el" href="classTiXmlDocument.html#aa90bc630ee5203c6109ca5fad3323649" title="The column where the error occured. See ErrorRow().">ErrorCol()</a>) to report the correct values for row and column. </p>
+<p>It does not change the output or input in any way.</p>
+<p>By calling this method, with a tab size greater than 0, the row and column of each node and attribute is stored when the file is loaded. Very useful for tracking the DOM back in to the source file.</p>
+<p>The tab size is required for calculating the location of nodes. If not set, the default of 4 is used. The tabsize is set per document. Setting the tabsize to 0 disables row/column tracking.</p>
+<p>Note that row and column tracking is not supported when using operator&gt;&gt;.</p>
+<p>The tab size needs to be enabled before the parse or load. Correct usage: </p>
+<div class="fragment"><pre class="fragment">
+ TiXmlDocument doc;
doc.SetTabSize( 8 );
doc.Load( "myfile.xml" );
- </pre></div><p>
-<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">Row</a>, <a class="el" href="classTiXmlBase.html#b54bfb9b70fe6dd276e7b279cab7f003">Column</a> </dd></dl>
+ </pre></div><dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853" title="Return the position, in the original source file, of this node or attribute.">Row</a>, <a class="el" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003" title="See Row().">Column</a> </dd></dl>
</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="tinyxml_8h-source.html">tinyxml.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tinyxml_8h_source.html">tinyxml.h</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlDocument.png b/shared/tinyxml/docs/classTiXmlDocument.png
index 32fd267e..d27aca29 100644
--- a/shared/tinyxml/docs/classTiXmlDocument.png
+++ b/shared/tinyxml/docs/classTiXmlDocument.png
Binary files differ
diff --git a/shared/tinyxml/docs/classTiXmlElement-members.html b/shared/tinyxml/docs/classTiXmlElement-members.html
index ece5255d..dff303a8 100644
--- a/shared/tinyxml/docs/classTiXmlElement-members.html
+++ b/shared/tinyxml/docs/classTiXmlElement-members.html
@@ -1,116 +1,127 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlElement Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlElement.html">TiXmlElement</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#71a81b2afb0d42be1543d1c404dee6f5">Accept</a>(TiXmlVisitor *visitor) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#e419a442a9701a62b0c3d8fd1cbdd12d">Attribute</a>(const char *name) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#0ed8348fdc56b72a6b4900ce5bac1849">Attribute</a>(const char *name, int *i) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#eaff99d4f0ea5b34f7aee202aad457ba">Attribute</a>(const char *name, double *d) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#708e7f953df61d4d2d12f73171550a4b">Clear</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#a464535ea1994db337cb6a8ce4b588b5">Clone</a>() const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#516054c9073647d6cb29b6abe9fa0592">FirstAttribute</a>() const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1f05828d023150706eeb16d6fb3f6355">FirstChild</a>(const char *value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#bc8bf32be6419ec453a731868de19554">FirstChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#07f6200a5956c723c5b52d70f29c46f6">FirstChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#10d2669ccb5e29e02fcb0e4408685ef6">FirstChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ccda2c6b45c25bb5a6f9c3407a644e61">FirstChildElement</a>(const char *_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#327ad4bbd90073c5dfc931b07314f5f7">FirstChildElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#7f1d7291880534c1e5cdeb392d8c1f45">FirstChildElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#80e397fa973cf5323e33b07154b024f3">GetDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#f3282294986cdb216646ea1f67af2c87">GetText</a>() const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#d9b75e54ec19301c8b4d5ff583d0b3d5">InsertAfterChild</a>(TiXmlNode *afterThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#0c146fa2fff0157b681594102f48cbc7">InsertBeforeChild</a>(TiXmlNode *beforeThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#d7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a>(const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>(const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#dfaef35a076b9343adc1420757376c39">IterateChildren</a>(const char *value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1cbaaf8e82c09ad763d52616d75724df">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#16e9ad53e2f5445b14bf325c90aa862c">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#86191b49f9177be132b85b14655f1381">LastAttribute</a>() const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6432d2b2495f6caf9cb4278df706a031">LastChild</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#bad5bf1059c48127b958711ef89e8e5d">LastChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#256d0cdbfcfeccae83f3a1c9747a8b63">LastChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#69772c9202f70553f940b15c06b07be3">LastChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#5d29442ae46de6d0168429156197bfc6">LinkEndChild</a>(TiXmlNode *addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1b94d2f7fa7ab25a5a8e8d4340c449c9">NextSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1757c1f4d01e8c9596ffdbd561c76aea">NextSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#f854baeba384f5fe9859f5aee03b548e">NextSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2e61c0b89a77e36a0e8c60490003cb46">NextSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#071ba77fd7ab79402fa84b7e9b8607b3">NextSiblingElement</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#7572d0af9d1e696ee3f05d8bb5ebb463">NextSiblingElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#506958e34406729a4e4c5326ea39d081">NextSiblingElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#eed21ad30630ef6e7faf096127edc9f3">NoChildren</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">NodeType</a> enum name</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt;</a>(std::ostream &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#52ef17e7080df2490cf87bde380685ab">operator&lt;&lt;</a>(std::string &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#b57bd426563c926844f65a78412e18b9">operator&gt;&gt;</a>(std::istream &amp;in, TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#b643043132ffd794f8602685d34a982e">Parent</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#c2cd892768726270e511b2ab32de4d10">PreviousSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#5bdd49327eec1e609b7d22af706b8316">PreviousSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#658276f57d35d5d4256d1dc1a2c398ab">PreviousSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#cc8a0434c7f401d4a3b6dee77c1a5912">PreviousSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#fbf52736e70fc91ec9d760721d6f4fd2">Print</a>(FILE *cfile, int depth) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#898d7730ecc341f0bffc7a9dadbf1ce7">QueryDoubleAttribute</a>(const char *name, double *_value) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#a04d3af11601ef5a5f88295203a843be">QueryFloatAttribute</a>(const char *name, float *_value) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#ea0bfe471380f281c5945770ddbf52b9">QueryIntAttribute</a>(const char *name, int *_value) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#e3b9a03b0a56663a40801c7256683576">QueryValueAttribute</a>(const std::string &amp;name, T *outValue) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#56979767deca794376b1dfa69a525b2a">RemoveAttribute</a>(const char *name)</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#1afa6aea716511326a608e4c05df4f3a">RemoveAttribute</a>(const std::string &amp;name)</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#e19d8510efc90596552f4feeac9a8fbf">RemoveChild</a>(TiXmlNode *removeThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#0c49e739a17b9938050c22cd89617fbd">ReplaceChild</a>(TiXmlNode *replaceThis, const TiXmlNode &amp;withThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#bf0b3bd7f0e4c746a89ec6e7f101fc32">SetAttribute</a>(const char *name, const char *_value)</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#80ed65b1d194c71c6c9986ae42337d7d">SetAttribute</a>(const std::string &amp;name, const std::string &amp;_value)</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#ce6f4be75e373726d4774073d666d1a7">SetAttribute</a>(const char *name, int value)</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#0d1dd975d75496778177e35abfe0ec0b">SetDoubleAttribute</a>(const char *name, double value)</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#c6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2598d5f448042c1abbeae4503dd45ff2">SetValue</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#01bc3ab372d35da08efcbbe65ad90c60">TiXmlElement</a>(const char *in_value)</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#40fc2e3c1a955e2f78e1a32350d180e7">TiXmlElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0a5086f9eaee910bbfdc7f975e26574">ToComment</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#383e06a0787f7063953934867990f849">ToComment</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#9f43e6984fc7d4afd6eb32714c6b7b72">ToDeclaration</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#4027136ca820ff4a636b607231b6a6df">ToDeclaration</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#8a4cda4b15c29f64cff419309aebed08">ToDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6a4c8ac28ee7a745d059db6691e03bae">ToDocument</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#c5b8d0e25fa23fd9acbb6d146082901c">ToElement</a>() const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#9def86337ea7a755eb41cac980f60c7a">ToElement</a>()</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#95a46a52c525992d6b4ee08beb14cd69">ToText</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#3ddfbcac78fbea041fad57e5c6d60a03">ToText</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#fd7205cf31d7a376929f8a36930627a2">ToUnknown</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#06de5af852668c7e4af0d09c205f0b0d">ToUnknown</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#57b99d5c97d67a42b9752f5210a1ba5e">Type</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#77943eb90d12c2892b1337a9f5918b41">Value</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlElement Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlElement.html">TiXmlElement</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#a71a81b2afb0d42be1543d1c404dee6f5">Accept</a>(TiXmlVisitor *visitor) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#ae419a442a9701a62b0c3d8fd1cbdd12d">Attribute</a>(const char *name) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#a0ed8348fdc56b72a6b4900ce5bac1849">Attribute</a>(const char *name, int *i) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#aeaff99d4f0ea5b34f7aee202aad457ba">Attribute</a>(const char *name, double *d) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a708e7f953df61d4d2d12f73171550a4b">Clear</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#aa464535ea1994db337cb6a8ce4b588b5">Clone</a>() const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#a516054c9073647d6cb29b6abe9fa0592">FirstAttribute</a>() const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1f05828d023150706eeb16d6fb3f6355">FirstChild</a>(const char *value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#abc8bf32be6419ec453a731868de19554">FirstChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a07f6200a5956c723c5b52d70f29c46f6">FirstChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a10d2669ccb5e29e02fcb0e4408685ef6">FirstChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#af4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#accda2c6b45c25bb5a6f9c3407a644e61">FirstChildElement</a>(const char *_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a327ad4bbd90073c5dfc931b07314f5f7">FirstChildElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a7f1d7291880534c1e5cdeb392d8c1f45">FirstChildElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a80e397fa973cf5323e33b07154b024f3">GetDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#af3282294986cdb216646ea1f67af2c87">GetText</a>() const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ad9b75e54ec19301c8b4d5ff583d0b3d5">InsertAfterChild</a>(TiXmlNode *afterThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0c146fa2fff0157b681594102f48cbc7">InsertBeforeChild</a>(TiXmlNode *beforeThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ad7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a>(const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>(const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#adfaef35a076b9343adc1420757376c39">IterateChildren</a>(const char *value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1cbaaf8e82c09ad763d52616d75724df">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a16e9ad53e2f5445b14bf325c90aa862c">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#a86191b49f9177be132b85b14655f1381">LastAttribute</a>() const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6432d2b2495f6caf9cb4278df706a031">LastChild</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#abad5bf1059c48127b958711ef89e8e5d">LastChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a256d0cdbfcfeccae83f3a1c9747a8b63">LastChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a69772c9202f70553f940b15c06b07be3">LastChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a5d29442ae46de6d0168429156197bfc6">LinkEndChild</a>(TiXmlNode *addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1b94d2f7fa7ab25a5a8e8d4340c449c9">NextSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1757c1f4d01e8c9596ffdbd561c76aea">NextSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e">NextSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2e61c0b89a77e36a0e8c60490003cb46">NextSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a071ba77fd7ab79402fa84b7e9b8607b3">NextSiblingElement</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a7572d0af9d1e696ee3f05d8bb5ebb463">NextSiblingElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a506958e34406729a4e4c5326ea39d081">NextSiblingElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aeed21ad30630ef6e7faf096127edc9f3">NoChildren</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2">NodeType</a> enum name</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt;</a>(std::ostream &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a52ef17e7080df2490cf87bde380685ab">operator&lt;&lt;</a>(std::string &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ab57bd426563c926844f65a78412e18b9">operator&gt;&gt;</a>(std::istream &amp;in, TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ab643043132ffd794f8602685d34a982e">Parent</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10">PreviousSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a5bdd49327eec1e609b7d22af706b8316">PreviousSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a658276f57d35d5d4256d1dc1a2c398ab">PreviousSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#acc8a0434c7f401d4a3b6dee77c1a5912">PreviousSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#afbf52736e70fc91ec9d760721d6f4fd2">Print</a>(FILE *cfile, int depth) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#a898d7730ecc341f0bffc7a9dadbf1ce7">QueryDoubleAttribute</a>(const char *name, double *_value) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#aa04d3af11601ef5a5f88295203a843be">QueryFloatAttribute</a>(const char *name, float *_value) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#aea0bfe471380f281c5945770ddbf52b9">QueryIntAttribute</a>(const char *name, int *_value) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#a14321ac360efe906ed449d9db3fd9961">QueryStringAttribute</a>(const char *name, std::string *_value) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#ae3b9a03b0a56663a40801c7256683576">QueryValueAttribute</a>(const std::string &amp;name, T *outValue) const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#a56979767deca794376b1dfa69a525b2a">RemoveAttribute</a>(const char *name)</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#a1afa6aea716511326a608e4c05df4f3a">RemoveAttribute</a>(const std::string &amp;name)</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ae19d8510efc90596552f4feeac9a8fbf">RemoveChild</a>(TiXmlNode *removeThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0c49e739a17b9938050c22cd89617fbd">ReplaceChild</a>(TiXmlNode *replaceThis, const TiXmlNode &amp;withThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#abf0b3bd7f0e4c746a89ec6e7f101fc32">SetAttribute</a>(const char *name, const char *_value)</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#a80ed65b1d194c71c6c9986ae42337d7d">SetAttribute</a>(const std::string &amp;name, const std::string &amp;_value)</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#a6f18d54fbe25bbc527936ee65363b3c5">SetAttribute</a>(const std::string &amp;name, int _value)</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#ace6f4be75e373726d4774073d666d1a7">SetAttribute</a>(const char *name, int value)</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#a0d1dd975d75496778177e35abfe0ec0b">SetDoubleAttribute</a>(const char *name, double value)</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ac6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2598d5f448042c1abbeae4503dd45ff2">SetValue</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#a01bc3ab372d35da08efcbbe65ad90c60">TiXmlElement</a>(const char *in_value)</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#a40fc2e3c1a955e2f78e1a32350d180e7">TiXmlElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aa0a5086f9eaee910bbfdc7f975e26574">ToComment</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a383e06a0787f7063953934867990f849">ToComment</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a9f43e6984fc7d4afd6eb32714c6b7b72">ToDeclaration</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a4027136ca820ff4a636b607231b6a6df">ToDeclaration</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a8a4cda4b15c29f64cff419309aebed08">ToDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6a4c8ac28ee7a745d059db6691e03bae">ToDocument</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#ac5b8d0e25fa23fd9acbb6d146082901c">ToElement</a>() const </td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlElement.html#a9def86337ea7a755eb41cac980f60c7a">ToElement</a>()</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a95a46a52c525992d6b4ee08beb14cd69">ToText</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a3ddfbcac78fbea041fad57e5c6d60a03">ToText</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#afd7205cf31d7a376929f8a36930627a2">ToUnknown</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a06de5af852668c7e4af0d09c205f0b0d">ToUnknown</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a57b99d5c97d67a42b9752f5210a1ba5e">Type</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a77943eb90d12c2892b1337a9f5918b41">Value</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlElement.html b/shared/tinyxml/docs/classTiXmlElement.html
index dcbd2515..ac1b3d7a 100644
--- a/shared/tinyxml/docs/classTiXmlElement.html
+++ b/shared/tinyxml/docs/classTiXmlElement.html
@@ -1,134 +1,127 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: TiXmlElement Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlElement Class Reference</h1><!-- doxytag: class="TiXmlElement" --><!-- doxytag: inherits="TiXmlNode" -->The element is a container class.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="tinyxml_8h-source.html">tinyxml.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for TiXmlElement:
-<p><center><img src="classTiXmlElement.png" usemap="#TiXmlElement_map" border="0" alt=""></center>
-<map name="TiXmlElement_map">
-<area href="classTiXmlNode.html" alt="TiXmlNode" shape="rect" coords="0,56,87,80">
-<area href="classTiXmlBase.html" alt="TiXmlBase" shape="rect" coords="0,0,87,24">
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlElement Class Reference</h1><!-- doxytag: class="TiXmlElement" --><!-- doxytag: inherits="TiXmlNode" -->
+<p>The element is a container class.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="tinyxml_8h_source.html">tinyxml.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for TiXmlElement:</div>
+<div class="dynsection">
+ <div class="center">
+ <img src="classTiXmlElement.png" usemap="#TiXmlElement_map" alt=""/>
+ <map id="TiXmlElement_map" name="TiXmlElement_map">
+<area href="classTiXmlNode.html" alt="TiXmlNode" shape="rect" coords="0,56,87,80"/>
+<area href="classTiXmlBase.html" alt="TiXmlBase" shape="rect" coords="0,0,87,24"/>
</map>
-<a href="classTiXmlElement-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="01bc3ab372d35da08efcbbe65ad90c60"></a><!-- doxytag: member="TiXmlElement::TiXmlElement" ref="01bc3ab372d35da08efcbbe65ad90c60" args="(const char *in_value)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#01bc3ab372d35da08efcbbe65ad90c60">TiXmlElement</a> (const char *in_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an element. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="40fc2e3c1a955e2f78e1a32350d180e7"></a><!-- doxytag: member="TiXmlElement::TiXmlElement" ref="40fc2e3c1a955e2f78e1a32350d180e7" args="(const std::string &amp;_value)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#40fc2e3c1a955e2f78e1a32350d180e7">TiXmlElement</a> (const std::string &amp;_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::string constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e419a442a9701a62b0c3d8fd1cbdd12d"></a><!-- doxytag: member="TiXmlElement::Attribute" ref="e419a442a9701a62b0c3d8fd1cbdd12d" args="(const char *name) const " -->
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#e419a442a9701a62b0c3d8fd1cbdd12d">Attribute</a> (const char *name) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given an attribute name, <a class="el" href="classTiXmlElement.html#e419a442a9701a62b0c3d8fd1cbdd12d">Attribute()</a> returns the value for the attribute of that name, or null if none exists. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#0ed8348fdc56b72a6b4900ce5bac1849">Attribute</a> (const char *name, int *i) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given an attribute name, <a class="el" href="classTiXmlElement.html#e419a442a9701a62b0c3d8fd1cbdd12d">Attribute()</a> returns the value for the attribute of that name, or null if none exists. <a href="#0ed8348fdc56b72a6b4900ce5bac1849"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#eaff99d4f0ea5b34f7aee202aad457ba">Attribute</a> (const char *name, double *d) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given an attribute name, <a class="el" href="classTiXmlElement.html#e419a442a9701a62b0c3d8fd1cbdd12d">Attribute()</a> returns the value for the attribute of that name, or null if none exists. <a href="#eaff99d4f0ea5b34f7aee202aad457ba"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#ea0bfe471380f281c5945770ddbf52b9">QueryIntAttribute</a> (const char *name, int *_value) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">QueryIntAttribute examines the attribute - it is an alternative to the <a class="el" href="classTiXmlElement.html#e419a442a9701a62b0c3d8fd1cbdd12d">Attribute()</a> method with richer error checking. <a href="#ea0bfe471380f281c5945770ddbf52b9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="898d7730ecc341f0bffc7a9dadbf1ce7"></a><!-- doxytag: member="TiXmlElement::QueryDoubleAttribute" ref="898d7730ecc341f0bffc7a9dadbf1ce7" args="(const char *name, double *_value) const " -->
-int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#898d7730ecc341f0bffc7a9dadbf1ce7">QueryDoubleAttribute</a> (const char *name, double *_value) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">QueryDoubleAttribute examines the attribute - see <a class="el" href="classTiXmlElement.html#ea0bfe471380f281c5945770ddbf52b9">QueryIntAttribute()</a>. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a04d3af11601ef5a5f88295203a843be"></a><!-- doxytag: member="TiXmlElement::QueryFloatAttribute" ref="a04d3af11601ef5a5f88295203a843be" args="(const char *name, float *_value) const " -->
-int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#a04d3af11601ef5a5f88295203a843be">QueryFloatAttribute</a> (const char *name, float *_value) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">QueryFloatAttribute examines the attribute - see <a class="el" href="classTiXmlElement.html#ea0bfe471380f281c5945770ddbf52b9">QueryIntAttribute()</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#e3b9a03b0a56663a40801c7256683576">QueryValueAttribute</a> (const std::string &amp;name, T *outValue) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template form of the attribute query which will try to read the attribute into the specified type. <a href="#e3b9a03b0a56663a40801c7256683576"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#bf0b3bd7f0e4c746a89ec6e7f101fc32">SetAttribute</a> (const char *name, const char *_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets an attribute of name to a given value. <a href="#bf0b3bd7f0e4c746a89ec6e7f101fc32"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="80ed65b1d194c71c6c9986ae42337d7d"></a><!-- doxytag: member="TiXmlElement::SetAttribute" ref="80ed65b1d194c71c6c9986ae42337d7d" args="(const std::string &amp;name, const std::string &amp;_value)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#80ed65b1d194c71c6c9986ae42337d7d">SetAttribute</a> (const std::string &amp;name, const std::string &amp;_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#ce6f4be75e373726d4774073d666d1a7">SetAttribute</a> (const char *name, int value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets an attribute of name to a given value. <a href="#ce6f4be75e373726d4774073d666d1a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#0d1dd975d75496778177e35abfe0ec0b">SetDoubleAttribute</a> (const char *name, double value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets an attribute of name to a given value. <a href="#0d1dd975d75496778177e35abfe0ec0b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="56979767deca794376b1dfa69a525b2a"></a><!-- doxytag: member="TiXmlElement::RemoveAttribute" ref="56979767deca794376b1dfa69a525b2a" args="(const char *name)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#56979767deca794376b1dfa69a525b2a">RemoveAttribute</a> (const char *name)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes an attribute with the given name. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1afa6aea716511326a608e4c05df4f3a"></a><!-- doxytag: member="TiXmlElement::RemoveAttribute" ref="1afa6aea716511326a608e4c05df4f3a" args="(const std::string &amp;name)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#1afa6aea716511326a608e4c05df4f3a">RemoveAttribute</a> (const std::string &amp;name)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="516054c9073647d6cb29b6abe9fa0592"></a><!-- doxytag: member="TiXmlElement::FirstAttribute" ref="516054c9073647d6cb29b6abe9fa0592" args="() const " -->
-const <a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#516054c9073647d6cb29b6abe9fa0592">FirstAttribute</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access the first attribute in this element. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="86191b49f9177be132b85b14655f1381"></a><!-- doxytag: member="TiXmlElement::LastAttribute" ref="86191b49f9177be132b85b14655f1381" args="() const " -->
-const <a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#86191b49f9177be132b85b14655f1381">LastAttribute</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access the last attribute in this element. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#f3282294986cdb216646ea1f67af2c87">GetText</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function for easy access to the text inside an element. <a href="#f3282294986cdb216646ea1f67af2c87"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a464535ea1994db337cb6a8ce4b588b5"></a><!-- doxytag: member="TiXmlElement::Clone" ref="a464535ea1994db337cb6a8ce4b588b5" args="() const " -->
-virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#a464535ea1994db337cb6a8ce4b588b5">Clone</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new Element and returns it - the returned element is a copy. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#fbf52736e70fc91ec9d760721d6f4fd2">Print</a> (FILE *cfile, int depth) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. <a href="#fbf52736e70fc91ec9d760721d6f4fd2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c5b8d0e25fa23fd9acbb6d146082901c"></a><!-- doxytag: member="TiXmlElement::ToElement" ref="c5b8d0e25fa23fd9acbb6d146082901c" args="() const " -->
-virtual const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#c5b8d0e25fa23fd9acbb6d146082901c">ToElement</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9def86337ea7a755eb41cac980f60c7a"></a><!-- doxytag: member="TiXmlElement::ToElement" ref="9def86337ea7a755eb41cac980f60c7a" args="()" -->
-virtual <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#9def86337ea7a755eb41cac980f60c7a">ToElement</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="71a81b2afb0d42be1543d1c404dee6f5"></a><!-- doxytag: member="TiXmlElement::Accept" ref="71a81b2afb0d42be1543d1c404dee6f5" args="(TiXmlVisitor *visitor) const " -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#71a81b2afb0d42be1543d1c404dee6f5">Accept</a> (<a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> *visitor) const </td></tr>
+ </div>
+</div>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walk the XML tree visiting this node and all of its children. <br></td></tr>
+<p><a href="classTiXmlElement-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01bc3ab372d35da08efcbbe65ad90c60"></a><!-- doxytag: member="TiXmlElement::TiXmlElement" ref="a01bc3ab372d35da08efcbbe65ad90c60" args="(const char *in_value)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#a01bc3ab372d35da08efcbbe65ad90c60">TiXmlElement</a> (const char *in_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an element. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a40fc2e3c1a955e2f78e1a32350d180e7"></a><!-- doxytag: member="TiXmlElement::TiXmlElement" ref="a40fc2e3c1a955e2f78e1a32350d180e7" args="(const std::string &amp;_value)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#a40fc2e3c1a955e2f78e1a32350d180e7">TiXmlElement</a> (const std::string &amp;_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::string constructor. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae419a442a9701a62b0c3d8fd1cbdd12d"></a><!-- doxytag: member="TiXmlElement::Attribute" ref="ae419a442a9701a62b0c3d8fd1cbdd12d" args="(const char *name) const " -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#ae419a442a9701a62b0c3d8fd1cbdd12d">Attribute</a> (const char *name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given an attribute name, <a class="el" href="classTiXmlElement.html#ae419a442a9701a62b0c3d8fd1cbdd12d" title="Given an attribute name, Attribute() returns the value for the attribute of that...">Attribute()</a> returns the value for the attribute of that name, or null if none exists. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#a0ed8348fdc56b72a6b4900ce5bac1849">Attribute</a> (const char *name, int *i) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given an attribute name, <a class="el" href="classTiXmlElement.html#ae419a442a9701a62b0c3d8fd1cbdd12d" title="Given an attribute name, Attribute() returns the value for the attribute of that...">Attribute()</a> returns the value for the attribute of that name, or null if none exists. <a href="#a0ed8348fdc56b72a6b4900ce5bac1849"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#aeaff99d4f0ea5b34f7aee202aad457ba">Attribute</a> (const char *name, double *d) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given an attribute name, <a class="el" href="classTiXmlElement.html#ae419a442a9701a62b0c3d8fd1cbdd12d" title="Given an attribute name, Attribute() returns the value for the attribute of that...">Attribute()</a> returns the value for the attribute of that name, or null if none exists. <a href="#aeaff99d4f0ea5b34f7aee202aad457ba"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#aea0bfe471380f281c5945770ddbf52b9">QueryIntAttribute</a> (const char *name, int *_value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">QueryIntAttribute examines the attribute - it is an alternative to the <a class="el" href="classTiXmlElement.html#ae419a442a9701a62b0c3d8fd1cbdd12d" title="Given an attribute name, Attribute() returns the value for the attribute of that...">Attribute()</a> method with richer error checking. <a href="#aea0bfe471380f281c5945770ddbf52b9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a898d7730ecc341f0bffc7a9dadbf1ce7"></a><!-- doxytag: member="TiXmlElement::QueryDoubleAttribute" ref="a898d7730ecc341f0bffc7a9dadbf1ce7" args="(const char *name, double *_value) const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#a898d7730ecc341f0bffc7a9dadbf1ce7">QueryDoubleAttribute</a> (const char *name, double *_value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">QueryDoubleAttribute examines the attribute - see <a class="el" href="classTiXmlElement.html#aea0bfe471380f281c5945770ddbf52b9" title="QueryIntAttribute examines the attribute - it is an alternative to the Attribute()...">QueryIntAttribute()</a>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa04d3af11601ef5a5f88295203a843be"></a><!-- doxytag: member="TiXmlElement::QueryFloatAttribute" ref="aa04d3af11601ef5a5f88295203a843be" args="(const char *name, float *_value) const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#aa04d3af11601ef5a5f88295203a843be">QueryFloatAttribute</a> (const char *name, float *_value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">QueryFloatAttribute examines the attribute - see <a class="el" href="classTiXmlElement.html#aea0bfe471380f281c5945770ddbf52b9" title="QueryIntAttribute examines the attribute - it is an alternative to the Attribute()...">QueryIntAttribute()</a>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14321ac360efe906ed449d9db3fd9961"></a><!-- doxytag: member="TiXmlElement::QueryStringAttribute" ref="a14321ac360efe906ed449d9db3fd9961" args="(const char *name, std::string *_value) const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#a14321ac360efe906ed449d9db3fd9961">QueryStringAttribute</a> (const char *name, std::string *_value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">QueryStringAttribute examines the attribute - see <a class="el" href="classTiXmlElement.html#aea0bfe471380f281c5945770ddbf52b9" title="QueryIntAttribute examines the attribute - it is an alternative to the Attribute()...">QueryIntAttribute()</a>. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#ae3b9a03b0a56663a40801c7256683576">QueryValueAttribute</a> (const std::string &amp;name, T *outValue) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template form of the attribute query which will try to read the attribute into the specified type. <a href="#ae3b9a03b0a56663a40801c7256683576"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#abf0b3bd7f0e4c746a89ec6e7f101fc32">SetAttribute</a> (const char *name, const char *_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets an attribute of name to a given value. <a href="#abf0b3bd7f0e4c746a89ec6e7f101fc32"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#a80ed65b1d194c71c6c9986ae42337d7d">SetAttribute</a> (const std::string &amp;name, const std::string &amp;_value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f18d54fbe25bbc527936ee65363b3c5"></a><!-- doxytag: member="TiXmlElement::SetAttribute" ref="a6f18d54fbe25bbc527936ee65363b3c5" args="(const std::string &amp;name, int _value)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#a6f18d54fbe25bbc527936ee65363b3c5">SetAttribute</a> (const std::string &amp;name, int _value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#ace6f4be75e373726d4774073d666d1a7">SetAttribute</a> (const char *name, int value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets an attribute of name to a given value. <a href="#ace6f4be75e373726d4774073d666d1a7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#a0d1dd975d75496778177e35abfe0ec0b">SetDoubleAttribute</a> (const char *name, double value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets an attribute of name to a given value. <a href="#a0d1dd975d75496778177e35abfe0ec0b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56979767deca794376b1dfa69a525b2a"></a><!-- doxytag: member="TiXmlElement::RemoveAttribute" ref="a56979767deca794376b1dfa69a525b2a" args="(const char *name)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#a56979767deca794376b1dfa69a525b2a">RemoveAttribute</a> (const char *name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes an attribute with the given name. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1afa6aea716511326a608e4c05df4f3a"></a><!-- doxytag: member="TiXmlElement::RemoveAttribute" ref="a1afa6aea716511326a608e4c05df4f3a" args="(const std::string &amp;name)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#a1afa6aea716511326a608e4c05df4f3a">RemoveAttribute</a> (const std::string &amp;name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a516054c9073647d6cb29b6abe9fa0592"></a><!-- doxytag: member="TiXmlElement::FirstAttribute" ref="a516054c9073647d6cb29b6abe9fa0592" args="() const " -->
+const <a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#a516054c9073647d6cb29b6abe9fa0592">FirstAttribute</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access the first attribute in this element. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86191b49f9177be132b85b14655f1381"></a><!-- doxytag: member="TiXmlElement::LastAttribute" ref="a86191b49f9177be132b85b14655f1381" args="() const " -->
+const <a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#a86191b49f9177be132b85b14655f1381">LastAttribute</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access the last attribute in this element. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#af3282294986cdb216646ea1f67af2c87">GetText</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function for easy access to the text inside an element. <a href="#af3282294986cdb216646ea1f67af2c87"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa464535ea1994db337cb6a8ce4b588b5"></a><!-- doxytag: member="TiXmlElement::Clone" ref="aa464535ea1994db337cb6a8ce4b588b5" args="() const " -->
+virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#aa464535ea1994db337cb6a8ce4b588b5">Clone</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new Element and returns it - the returned element is a copy. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#afbf52736e70fc91ec9d760721d6f4fd2">Print</a> (FILE *cfile, int depth) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. <a href="#afbf52736e70fc91ec9d760721d6f4fd2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac5b8d0e25fa23fd9acbb6d146082901c"></a><!-- doxytag: member="TiXmlElement::ToElement" ref="ac5b8d0e25fa23fd9acbb6d146082901c" args="() const " -->
+virtual const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#ac5b8d0e25fa23fd9acbb6d146082901c">ToElement</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9def86337ea7a755eb41cac980f60c7a"></a><!-- doxytag: member="TiXmlElement::ToElement" ref="a9def86337ea7a755eb41cac980f60c7a" args="()" -->
+virtual <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#a9def86337ea7a755eb41cac980f60c7a">ToElement</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a71a81b2afb0d42be1543d1c404dee6f5"></a><!-- doxytag: member="TiXmlElement::Accept" ref="a71a81b2afb0d42be1543d1c404dee6f5" args="(TiXmlVisitor *visitor) const " -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlElement.html#a71a81b2afb0d42be1543d1c404dee6f5">Accept</a> (<a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> *visitor) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walk the XML tree visiting this node and all of its children. <br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The element is a container class.
-<p>
-It has a value, the element name, and can contain other elements, text, comments, and unknowns. Elements also contain an arbitrary number of attributes.
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="eaff99d4f0ea5b34f7aee202aad457ba"></a><!-- doxytag: member="TiXmlElement::Attribute" ref="eaff99d4f0ea5b34f7aee202aad457ba" args="(const char *name, double *d) const " -->
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The element is a container class. </p>
+<p>It has a value, the element name, and can contain other elements, text, comments, and unknowns. Elements also contain an arbitrary number of attributes. </p>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="aeaff99d4f0ea5b34f7aee202aad457ba"></a><!-- doxytag: member="TiXmlElement::Attribute" ref="aeaff99d4f0ea5b34f7aee202aad457ba" args="(const char *name, double *d) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const char* TiXmlElement::Attribute </td>
+ <td class="memname">const char* TiXmlElement::Attribute </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>name</em>, </td>
@@ -142,24 +135,23 @@ It has a value, the element name, and can contain other elements, text, comments
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"> const</td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Given an attribute name, <a class="el" href="classTiXmlElement.html#e419a442a9701a62b0c3d8fd1cbdd12d">Attribute()</a> returns the value for the attribute of that name, or null if none exists.
-<p>
-If the attribute exists and can be converted to an double, the double value will be put in the return 'd', if 'd' is non-null.
+<p>Given an attribute name, <a class="el" href="classTiXmlElement.html#ae419a442a9701a62b0c3d8fd1cbdd12d" title="Given an attribute name, Attribute() returns the value for the attribute of that...">Attribute()</a> returns the value for the attribute of that name, or null if none exists. </p>
+<p>If the attribute exists and can be converted to an double, the double value will be put in the return 'd', if 'd' is non-null. </p>
+
</div>
-</div><p>
-<a class="anchor" name="0ed8348fdc56b72a6b4900ce5bac1849"></a><!-- doxytag: member="TiXmlElement::Attribute" ref="0ed8348fdc56b72a6b4900ce5bac1849" args="(const char *name, int *i) const " -->
+</div>
+<a class="anchor" id="a0ed8348fdc56b72a6b4900ce5bac1849"></a><!-- doxytag: member="TiXmlElement::Attribute" ref="a0ed8348fdc56b72a6b4900ce5bac1849" args="(const char *name, int *i) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const char* TiXmlElement::Attribute </td>
+ <td class="memname">const char* TiXmlElement::Attribute </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>name</em>, </td>
@@ -173,55 +165,57 @@ If the attribute exists and can be converted to an double, the double value will
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"> const</td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Given an attribute name, <a class="el" href="classTiXmlElement.html#e419a442a9701a62b0c3d8fd1cbdd12d">Attribute()</a> returns the value for the attribute of that name, or null if none exists.
-<p>
-If the attribute exists and can be converted to an integer, the integer value will be put in the return 'i', if 'i' is non-null.
+<p>Given an attribute name, <a class="el" href="classTiXmlElement.html#ae419a442a9701a62b0c3d8fd1cbdd12d" title="Given an attribute name, Attribute() returns the value for the attribute of that...">Attribute()</a> returns the value for the attribute of that name, or null if none exists. </p>
+<p>If the attribute exists and can be converted to an integer, the integer value will be put in the return 'i', if 'i' is non-null. </p>
+
</div>
-</div><p>
-<a class="anchor" name="f3282294986cdb216646ea1f67af2c87"></a><!-- doxytag: member="TiXmlElement::GetText" ref="f3282294986cdb216646ea1f67af2c87" args="() const " -->
+</div>
+<a class="anchor" id="af3282294986cdb216646ea1f67af2c87"></a><!-- doxytag: member="TiXmlElement::GetText" ref="af3282294986cdb216646ea1f67af2c87" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const char* TiXmlElement::GetText </td>
+ <td class="memname">const char* TiXmlElement::GetText </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const</td>
+ <td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Convenience function for easy access to the text inside an element.
-<p>
-Although easy and concise, <a class="el" href="classTiXmlElement.html#f3282294986cdb216646ea1f67af2c87">GetText()</a> is limited compared to getting the <a class="el" href="classTiXmlText.html">TiXmlText</a> child and accessing it directly.<p>
-If the first child of 'this' is a <a class="el" href="classTiXmlText.html">TiXmlText</a>, the <a class="el" href="classTiXmlElement.html#f3282294986cdb216646ea1f67af2c87">GetText()</a> returns the character string of the Text node, else null is returned.<p>
-This is a convenient method for getting the text of simple contained text: <div class="fragment"><pre class="fragment"> &lt;foo&gt;This is text&lt;/foo&gt;
+<p>Convenience function for easy access to the text inside an element. </p>
+<p>Although easy and concise, <a class="el" href="classTiXmlElement.html#af3282294986cdb216646ea1f67af2c87" title="Convenience function for easy access to the text inside an element.">GetText()</a> is limited compared to getting the <a class="el" href="classTiXmlText.html" title="XML text.">TiXmlText</a> child and accessing it directly.</p>
+<p>If the first child of 'this' is a <a class="el" href="classTiXmlText.html" title="XML text.">TiXmlText</a>, the <a class="el" href="classTiXmlElement.html#af3282294986cdb216646ea1f67af2c87" title="Convenience function for easy access to the text inside an element.">GetText()</a> returns the character string of the Text node, else null is returned.</p>
+<p>This is a convenient method for getting the text of simple contained text: </p>
+<div class="fragment"><pre class="fragment">
+ &lt;foo&gt;This is text&lt;/foo&gt;
const char* str = fooElement-&gt;GetText();
- </pre></div><p>
-'str' will be a pointer to "This is text".<p>
-Note that this function can be misleading. If the element foo was created from this XML: <div class="fragment"><pre class="fragment"> &lt;foo&gt;&lt;b&gt;This is text&lt;/b&gt;&lt;/foo&gt;
- </pre></div><p>
-then the value of str would be null. The first child node isn't a text node, it is another element. From this XML: <div class="fragment"><pre class="fragment"> &lt;foo&gt;This is &lt;b&gt;text&lt;/b&gt;&lt;/foo&gt;
- </pre></div> <a class="el" href="classTiXmlElement.html#f3282294986cdb216646ea1f67af2c87">GetText()</a> will return "This is ".<p>
-WARNING: <a class="el" href="classTiXmlElement.html#f3282294986cdb216646ea1f67af2c87">GetText()</a> accesses a child node - don't become confused with the similarly named <a class="el" href="classTiXmlHandle.html#9fc739c8a18d160006f82572fc143d13">TiXmlHandle::Text()</a> and <a class="el" href="classTiXmlNode.html#3ddfbcac78fbea041fad57e5c6d60a03">TiXmlNode::ToText()</a> which are safe type casts on the referenced node.
-</div>
-</div><p>
-<a class="anchor" name="fbf52736e70fc91ec9d760721d6f4fd2"></a><!-- doxytag: member="TiXmlElement::Print" ref="fbf52736e70fc91ec9d760721d6f4fd2" args="(FILE *cfile, int depth) const " -->
+ </pre></div><p>'str' will be a pointer to "This is text".</p>
+<p>Note that this function can be misleading. If the element foo was created from this XML: </p>
+<div class="fragment"><pre class="fragment">
+ &lt;foo&gt;&lt;b&gt;This is text&lt;/b&gt;&lt;/foo&gt;
+ </pre></div><p>then the value of str would be null. The first child node isn't a text node, it is another element. From this XML: </p>
+<div class="fragment"><pre class="fragment">
+ &lt;foo&gt;This is &lt;b&gt;text&lt;/b&gt;&lt;/foo&gt;
+ </pre></div><p> <a class="el" href="classTiXmlElement.html#af3282294986cdb216646ea1f67af2c87" title="Convenience function for easy access to the text inside an element.">GetText()</a> will return "This is ".</p>
+<p>WARNING: <a class="el" href="classTiXmlElement.html#af3282294986cdb216646ea1f67af2c87" title="Convenience function for easy access to the text inside an element.">GetText()</a> accesses a child node - don't become confused with the similarly named <a class="el" href="classTiXmlHandle.html#a9fc739c8a18d160006f82572fc143d13">TiXmlHandle::Text()</a> and <a class="el" href="classTiXmlNode.html#a3ddfbcac78fbea041fad57e5c6d60a03" title="Cast to a more defined type. Will return null if not of the requested type.">TiXmlNode::ToText()</a> which are safe type casts on the referenced node. </p>
+
+</div>
+</div>
+<a class="anchor" id="afbf52736e70fc91ec9d760721d6f4fd2"></a><!-- doxytag: member="TiXmlElement::Print" ref="afbf52736e70fc91ec9d760721d6f4fd2" args="(FILE *cfile, int depth) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">virtual void TiXmlElement::Print </td>
+ <td class="memname">virtual void TiXmlElement::Print </td>
<td>(</td>
<td class="paramtype">FILE *&nbsp;</td>
<td class="paramname"> <em>cfile</em>, </td>
@@ -235,28 +229,27 @@ WARNING: <a class="el" href="classTiXmlElement.html#f3282294986cdb216646ea1f67af
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"> const<code> [virtual]</code></td>
+ <td></td><td></td><td> const<code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode.
-<p>
-) Either or both cfile and str can be null.<p>
-This is a formatted print, and will insert tabs and newlines.<p>
-(For an unformatted stream, use the &lt;&lt; operator.)
-<p>
-Implements <a class="el" href="classTiXmlBase.html#0de56b3f2ef14c65091a3b916437b512">TiXmlBase</a>.
-</div>
-</div><p>
-<a class="anchor" name="ea0bfe471380f281c5945770ddbf52b9"></a><!-- doxytag: member="TiXmlElement::QueryIntAttribute" ref="ea0bfe471380f281c5945770ddbf52b9" args="(const char *name, int *_value) const " -->
+<p>All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. </p>
+<p>) Either or both cfile and str can be null.</p>
+<p>This is a formatted print, and will insert tabs and newlines.</p>
+<p>(For an unformatted stream, use the &lt;&lt; operator.) </p>
+
+<p>Implements <a class="el" href="classTiXmlBase.html#a0de56b3f2ef14c65091a3b916437b512">TiXmlBase</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aea0bfe471380f281c5945770ddbf52b9"></a><!-- doxytag: member="TiXmlElement::QueryIntAttribute" ref="aea0bfe471380f281c5945770ddbf52b9" args="(const char *name, int *_value) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int TiXmlElement::QueryIntAttribute </td>
+ <td class="memname">int TiXmlElement::QueryIntAttribute </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>name</em>, </td>
@@ -270,26 +263,25 @@ Implements <a class="el" href="classTiXmlBase.html#0de56b3f2ef14c65091a3b916437b
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"> const</td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-QueryIntAttribute examines the attribute - it is an alternative to the <a class="el" href="classTiXmlElement.html#e419a442a9701a62b0c3d8fd1cbdd12d">Attribute()</a> method with richer error checking.
-<p>
-If the attribute is an integer, it is stored in 'value' and the call returns TIXML_SUCCESS. If it is not an integer, it returns TIXML_WRONG_TYPE. If the attribute does not exist, then TIXML_NO_ATTRIBUTE is returned.
+<p>QueryIntAttribute examines the attribute - it is an alternative to the <a class="el" href="classTiXmlElement.html#ae419a442a9701a62b0c3d8fd1cbdd12d" title="Given an attribute name, Attribute() returns the value for the attribute of that...">Attribute()</a> method with richer error checking. </p>
+<p>If the attribute is an integer, it is stored in 'value' and the call returns TIXML_SUCCESS. If it is not an integer, it returns TIXML_WRONG_TYPE. If the attribute does not exist, then TIXML_NO_ATTRIBUTE is returned. </p>
+
</div>
-</div><p>
-<a class="anchor" name="e3b9a03b0a56663a40801c7256683576"></a><!-- doxytag: member="TiXmlElement::QueryValueAttribute" ref="e3b9a03b0a56663a40801c7256683576" args="(const std::string &amp;name, T *outValue) const " -->
+</div>
+<a class="anchor" id="ae3b9a03b0a56663a40801c7256683576"></a><!-- doxytag: member="TiXmlElement::QueryValueAttribute" ref="ae3b9a03b0a56663a40801c7256683576" args="(const std::string &amp;name, T *outValue) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;typename T&gt; </div>
+template&lt;typename T &gt; </div>
<table class="memname">
<tr>
- <td class="memname">int TiXmlElement::QueryValueAttribute </td>
+ <td class="memname">int TiXmlElement::QueryValueAttribute </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&nbsp;</td>
<td class="paramname"> <em>name</em>, </td>
@@ -303,27 +295,27 @@ template&lt;typename T&gt; </div>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"> const<code> [inline]</code></td>
+ <td></td><td></td><td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Template form of the attribute query which will try to read the attribute into the specified type.
-<p>
-Very easy, very powerful, but be careful to make sure to call this with the correct type.<p>
-NOTE: This method doesn't work correctly for 'string' types.<p>
-<dl compact><dt><b>Returns:</b></dt><dd>TIXML_SUCCESS, TIXML_WRONG_TYPE, or TIXML_NO_ATTRIBUTE </dd></dl>
+<p>Template form of the attribute query which will try to read the attribute into the specified type. </p>
+<p>Very easy, very powerful, but be careful to make sure to call this with the correct type.</p>
+<p>NOTE: This method doesn't work correctly for 'string' types that contain spaces.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>TIXML_SUCCESS, TIXML_WRONG_TYPE, or TIXML_NO_ATTRIBUTE </dd></dl>
+
+<p>References <a class="el" href="tinyxml_8h_source.html#l00814">TiXmlAttribute::ValueStr()</a>.</p>
</div>
-</div><p>
-<a class="anchor" name="ce6f4be75e373726d4774073d666d1a7"></a><!-- doxytag: member="TiXmlElement::SetAttribute" ref="ce6f4be75e373726d4774073d666d1a7" args="(const char *name, int value)" -->
+</div>
+<a class="anchor" id="ace6f4be75e373726d4774073d666d1a7"></a><!-- doxytag: member="TiXmlElement::SetAttribute" ref="ace6f4be75e373726d4774073d666d1a7" args="(const char *name, int value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void TiXmlElement::SetAttribute </td>
+ <td class="memname">void TiXmlElement::SetAttribute </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>name</em>, </td>
@@ -337,24 +329,51 @@ NOTE: This method doesn't work correctly for 'string' types.<p>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"></td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Sets an attribute of name to a given value.
-<p>
-The attribute will be created if it does not exist, or changed if it does.
+<p>Sets an attribute of name to a given value. </p>
+<p>The attribute will be created if it does not exist, or changed if it does. </p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="bf0b3bd7f0e4c746a89ec6e7f101fc32"></a><!-- doxytag: member="TiXmlElement::SetAttribute" ref="bf0b3bd7f0e4c746a89ec6e7f101fc32" args="(const char *name, const char *_value)" -->
+<a class="anchor" id="a80ed65b1d194c71c6c9986ae42337d7d"></a><!-- doxytag: member="TiXmlElement::SetAttribute" ref="a80ed65b1d194c71c6c9986ae42337d7d" args="(const std::string &amp;name, const std::string &amp;_value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void TiXmlElement::SetAttribute </td>
+ <td class="memname">void TiXmlElement::SetAttribute </td>
+ <td>(</td>
+ <td class="paramtype">const std::string &amp;&nbsp;</td>
+ <td class="paramname"> <em>name</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const std::string &amp;&nbsp;</td>
+ <td class="paramname"> <em>_value</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>STL std::string form. </p>
+
+</div>
+</div>
+<a class="anchor" id="abf0b3bd7f0e4c746a89ec6e7f101fc32"></a><!-- doxytag: member="TiXmlElement::SetAttribute" ref="abf0b3bd7f0e4c746a89ec6e7f101fc32" args="(const char *name, const char *_value)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void TiXmlElement::SetAttribute </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>name</em>, </td>
@@ -368,24 +387,23 @@ The attribute will be created if it does not exist, or changed if it does.
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"></td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Sets an attribute of name to a given value.
-<p>
-The attribute will be created if it does not exist, or changed if it does.
+<p>Sets an attribute of name to a given value. </p>
+<p>The attribute will be created if it does not exist, or changed if it does. </p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="0d1dd975d75496778177e35abfe0ec0b"></a><!-- doxytag: member="TiXmlElement::SetDoubleAttribute" ref="0d1dd975d75496778177e35abfe0ec0b" args="(const char *name, double value)" -->
+<a class="anchor" id="a0d1dd975d75496778177e35abfe0ec0b"></a><!-- doxytag: member="TiXmlElement::SetDoubleAttribute" ref="a0d1dd975d75496778177e35abfe0ec0b" args="(const char *name, double value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void TiXmlElement::SetDoubleAttribute </td>
+ <td class="memname">void TiXmlElement::SetDoubleAttribute </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>name</em>, </td>
@@ -399,22 +417,23 @@ The attribute will be created if it does not exist, or changed if it does.
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"></td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Sets an attribute of name to a given value.
-<p>
-The attribute will be created if it does not exist, or changed if it does.
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="tinyxml_8h-source.html">tinyxml.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<p>Sets an attribute of name to a given value. </p>
+<p>The attribute will be created if it does not exist, or changed if it does. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tinyxml_8h_source.html">tinyxml.h</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlElement.png b/shared/tinyxml/docs/classTiXmlElement.png
index 5acc21bd..21e8c8f9 100644
--- a/shared/tinyxml/docs/classTiXmlElement.png
+++ b/shared/tinyxml/docs/classTiXmlElement.png
Binary files differ
diff --git a/shared/tinyxml/docs/classTiXmlHandle-members.html b/shared/tinyxml/docs/classTiXmlHandle-members.html
index 77ed5bab..91fd69c3 100644
--- a/shared/tinyxml/docs/classTiXmlHandle-members.html
+++ b/shared/tinyxml/docs/classTiXmlHandle-members.html
@@ -1,44 +1,53 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlHandle Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#072492b4be1acdb0db2d03cd8f71ccc4">Child</a>(const char *value, int index) const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#f9cf6a7d08a5da94a8924425ad0cd5ac">Child</a>(int index) const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#979a3f850984a176ee884e394c7eed2d">ChildElement</a>(const char *value, int index) const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#8786475b9d1f1518492e3a46704c7ef0">ChildElement</a>(int index) const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#cb5fe8388a526289ea65e817a51e05e7">Element</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#cdb1faaf88a700b40ca2c8d9aee21139">FirstChild</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#8c61f64ae9365d89c264f289085541f8">FirstChild</a>(const char *value) const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#24d1112e995e937e4dddb202d4113d4a">FirstChildElement</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#f0aea751320f5e430fac6f8fff3b8dd4">FirstChildElement</a>(const char *value) const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#b44b723a8dc9af72838a303c079d0376">Node</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#9fc739c8a18d160006f82572fc143d13">Text</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#ba18fd7bdefb942ecdea4bf4b8e29ec8">TiXmlHandle</a>(TiXmlNode *_node)</td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#236d7855e1e56ccc7b980630c48c7fd7">TiXmlHandle</a>(const TiXmlHandle &amp;ref)</td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#bc6e7ed383a5fe1e52b0c0004b457b9e">ToElement</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#f678e5088e83be67baf76f699756f2c3">ToNode</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#4ac53a652296203a5b5e13854d923586">ToText</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#1381c17507a130767b1e23afc93b3674">ToUnknown</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#49675b74357ba2aae124657a9a1ef465">Unknown</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlHandle Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#a072492b4be1acdb0db2d03cd8f71ccc4">Child</a>(const char *value, int index) const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#af9cf6a7d08a5da94a8924425ad0cd5ac">Child</a>(int index) const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#a979a3f850984a176ee884e394c7eed2d">ChildElement</a>(const char *value, int index) const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#a8786475b9d1f1518492e3a46704c7ef0">ChildElement</a>(int index) const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#acb5fe8388a526289ea65e817a51e05e7">Element</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#acdb1faaf88a700b40ca2c8d9aee21139">FirstChild</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#a8c61f64ae9365d89c264f289085541f8">FirstChild</a>(const char *value) const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#a24d1112e995e937e4dddb202d4113d4a">FirstChildElement</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#af0aea751320f5e430fac6f8fff3b8dd4">FirstChildElement</a>(const char *value) const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#ab44b723a8dc9af72838a303c079d0376">Node</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#a9fc739c8a18d160006f82572fc143d13">Text</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#aba18fd7bdefb942ecdea4bf4b8e29ec8">TiXmlHandle</a>(TiXmlNode *_node)</td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#a236d7855e1e56ccc7b980630c48c7fd7">TiXmlHandle</a>(const TiXmlHandle &amp;ref)</td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#abc6e7ed383a5fe1e52b0c0004b457b9e">ToElement</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#af678e5088e83be67baf76f699756f2c3">ToNode</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#a4ac53a652296203a5b5e13854d923586">ToText</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#a1381c17507a130767b1e23afc93b3674">ToUnknown</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlHandle.html#a49675b74357ba2aae124657a9a1ef465">Unknown</a>() const </td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlHandle.html b/shared/tinyxml/docs/classTiXmlHandle.html
index 3808e66f..0e0d45e3 100644
--- a/shared/tinyxml/docs/classTiXmlHandle.html
+++ b/shared/tinyxml/docs/classTiXmlHandle.html
@@ -1,101 +1,93 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: TiXmlHandle Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlHandle Class Reference</h1><!-- doxytag: class="TiXmlHandle" -->A <a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> is a class that wraps a node pointer with null checks; this is an incredibly useful thing.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="tinyxml_8h-source.html">tinyxml.h</a>&gt;</code>
-<p>
-<a href="classTiXmlHandle-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ba18fd7bdefb942ecdea4bf4b8e29ec8"></a><!-- doxytag: member="TiXmlHandle::TiXmlHandle" ref="ba18fd7bdefb942ecdea4bf4b8e29ec8" args="(TiXmlNode *_node)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#ba18fd7bdefb942ecdea4bf4b8e29ec8">TiXmlHandle</a> (<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *_node)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a handle from any node (at any depth of the tree.) This can be a null pointer. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="236d7855e1e56ccc7b980630c48c7fd7"></a><!-- doxytag: member="TiXmlHandle::TiXmlHandle" ref="236d7855e1e56ccc7b980630c48c7fd7" args="(const TiXmlHandle &amp;ref)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#236d7855e1e56ccc7b980630c48c7fd7">TiXmlHandle</a> (const <a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> &amp;ref)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cdb1faaf88a700b40ca2c8d9aee21139"></a><!-- doxytag: member="TiXmlHandle::FirstChild" ref="cdb1faaf88a700b40ca2c8d9aee21139" args="() const " -->
-<a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#cdb1faaf88a700b40ca2c8d9aee21139">FirstChild</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a handle to the first child node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8c61f64ae9365d89c264f289085541f8"></a><!-- doxytag: member="TiXmlHandle::FirstChild" ref="8c61f64ae9365d89c264f289085541f8" args="(const char *value) const " -->
-<a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#8c61f64ae9365d89c264f289085541f8">FirstChild</a> (const char *value) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a handle to the first child node with the given name. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="24d1112e995e937e4dddb202d4113d4a"></a><!-- doxytag: member="TiXmlHandle::FirstChildElement" ref="24d1112e995e937e4dddb202d4113d4a" args="() const " -->
-<a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#24d1112e995e937e4dddb202d4113d4a">FirstChildElement</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a handle to the first child element. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f0aea751320f5e430fac6f8fff3b8dd4"></a><!-- doxytag: member="TiXmlHandle::FirstChildElement" ref="f0aea751320f5e430fac6f8fff3b8dd4" args="(const char *value) const " -->
-<a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#f0aea751320f5e430fac6f8fff3b8dd4">FirstChildElement</a> (const char *value) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a handle to the first child element with the given name. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#072492b4be1acdb0db2d03cd8f71ccc4">Child</a> (const char *value, int index) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a handle to the "index" child with the given name. <a href="#072492b4be1acdb0db2d03cd8f71ccc4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#f9cf6a7d08a5da94a8924425ad0cd5ac">Child</a> (int index) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a handle to the "index" child. <a href="#f9cf6a7d08a5da94a8924425ad0cd5ac"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#979a3f850984a176ee884e394c7eed2d">ChildElement</a> (const char *value, int index) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a handle to the "index" child element with the given name. <a href="#979a3f850984a176ee884e394c7eed2d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#8786475b9d1f1518492e3a46704c7ef0">ChildElement</a> (int index) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a handle to the "index" child element. <a href="#8786475b9d1f1518492e3a46704c7ef0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#f678e5088e83be67baf76f699756f2c3">ToNode</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the handle as a <a class="el" href="classTiXmlNode.html">TiXmlNode</a>. <a href="#f678e5088e83be67baf76f699756f2c3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#bc6e7ed383a5fe1e52b0c0004b457b9e">ToElement</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the handle as a <a class="el" href="classTiXmlElement.html">TiXmlElement</a>. <a href="#bc6e7ed383a5fe1e52b0c0004b457b9e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlText.html">TiXmlText</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#4ac53a652296203a5b5e13854d923586">ToText</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the handle as a <a class="el" href="classTiXmlText.html">TiXmlText</a>. <a href="#4ac53a652296203a5b5e13854d923586"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#1381c17507a130767b1e23afc93b3674">ToUnknown</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the handle as a <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a>. <a href="#1381c17507a130767b1e23afc93b3674"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#b44b723a8dc9af72838a303c079d0376">Node</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#cb5fe8388a526289ea65e817a51e05e7">Element</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlText.html">TiXmlText</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#9fc739c8a18d160006f82572fc143d13">Text</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#49675b74357ba2aae124657a9a1ef465">Unknown</a> () const </td></tr>
-
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlHandle Class Reference</h1><!-- doxytag: class="TiXmlHandle" -->
+<p>A <a class="el" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> is a class that wraps a node pointer with null checks; this is an incredibly useful thing.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="tinyxml_8h_source.html">tinyxml.h</a>&gt;</code></p>
+
+<p><a href="classTiXmlHandle-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aba18fd7bdefb942ecdea4bf4b8e29ec8"></a><!-- doxytag: member="TiXmlHandle::TiXmlHandle" ref="aba18fd7bdefb942ecdea4bf4b8e29ec8" args="(TiXmlNode *_node)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#aba18fd7bdefb942ecdea4bf4b8e29ec8">TiXmlHandle</a> (<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *_node)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a handle from any node (at any depth of the tree.) This can be a null pointer. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a236d7855e1e56ccc7b980630c48c7fd7"></a><!-- doxytag: member="TiXmlHandle::TiXmlHandle" ref="a236d7855e1e56ccc7b980630c48c7fd7" args="(const TiXmlHandle &amp;ref)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#a236d7855e1e56ccc7b980630c48c7fd7">TiXmlHandle</a> (const <a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> &amp;ref)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acdb1faaf88a700b40ca2c8d9aee21139"></a><!-- doxytag: member="TiXmlHandle::FirstChild" ref="acdb1faaf88a700b40ca2c8d9aee21139" args="() const " -->
+<a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#acdb1faaf88a700b40ca2c8d9aee21139">FirstChild</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a handle to the first child node. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8c61f64ae9365d89c264f289085541f8"></a><!-- doxytag: member="TiXmlHandle::FirstChild" ref="a8c61f64ae9365d89c264f289085541f8" args="(const char *value) const " -->
+<a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#a8c61f64ae9365d89c264f289085541f8">FirstChild</a> (const char *value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a handle to the first child node with the given name. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a24d1112e995e937e4dddb202d4113d4a"></a><!-- doxytag: member="TiXmlHandle::FirstChildElement" ref="a24d1112e995e937e4dddb202d4113d4a" args="() const " -->
+<a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#a24d1112e995e937e4dddb202d4113d4a">FirstChildElement</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a handle to the first child element. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af0aea751320f5e430fac6f8fff3b8dd4"></a><!-- doxytag: member="TiXmlHandle::FirstChildElement" ref="af0aea751320f5e430fac6f8fff3b8dd4" args="(const char *value) const " -->
+<a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#af0aea751320f5e430fac6f8fff3b8dd4">FirstChildElement</a> (const char *value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a handle to the first child element with the given name. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#a072492b4be1acdb0db2d03cd8f71ccc4">Child</a> (const char *value, int index) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a handle to the "index" child with the given name. <a href="#a072492b4be1acdb0db2d03cd8f71ccc4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#af9cf6a7d08a5da94a8924425ad0cd5ac">Child</a> (int index) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a handle to the "index" child. <a href="#af9cf6a7d08a5da94a8924425ad0cd5ac"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#a979a3f850984a176ee884e394c7eed2d">ChildElement</a> (const char *value, int index) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a handle to the "index" child element with the given name. <a href="#a979a3f850984a176ee884e394c7eed2d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#a8786475b9d1f1518492e3a46704c7ef0">ChildElement</a> (int index) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a handle to the "index" child element. <a href="#a8786475b9d1f1518492e3a46704c7ef0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#af678e5088e83be67baf76f699756f2c3">ToNode</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the handle as a <a class="el" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>. <a href="#af678e5088e83be67baf76f699756f2c3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#abc6e7ed383a5fe1e52b0c0004b457b9e">ToElement</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the handle as a <a class="el" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>. <a href="#abc6e7ed383a5fe1e52b0c0004b457b9e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTiXmlText.html">TiXmlText</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#a4ac53a652296203a5b5e13854d923586">ToText</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the handle as a <a class="el" href="classTiXmlText.html" title="XML text.">TiXmlText</a>. <a href="#a4ac53a652296203a5b5e13854d923586"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#a1381c17507a130767b1e23afc93b3674">ToUnknown</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the handle as a <a class="el" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&#39;t recognize is saved as an unknown.">TiXmlUnknown</a>. <a href="#a1381c17507a130767b1e23afc93b3674"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#ab44b723a8dc9af72838a303c079d0376">Node</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#acb5fe8388a526289ea65e817a51e05e7">Element</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTiXmlText.html">TiXmlText</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#a9fc739c8a18d160006f82572fc143d13">Text</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlHandle.html#a49675b74357ba2aae124657a9a1ef465">Unknown</a> () const </td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-A <a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> is a class that wraps a node pointer with null checks; this is an incredibly useful thing.
-<p>
-Note that <a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> is not part of the TinyXml DOM structure. It is a separate utility class.<p>
-Take an example: <div class="fragment"><pre class="fragment"> &lt;Document&gt;
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A <a class="el" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> is a class that wraps a node pointer with null checks; this is an incredibly useful thing. </p>
+<p>Note that <a class="el" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> is not part of the TinyXml DOM structure. It is a separate utility class.</p>
+<p>Take an example: </p>
+<div class="fragment"><pre class="fragment">
+ &lt;Document&gt;
&lt;Element attributeA = "valueA"&gt;
&lt;Child attributeB = "value1" /&gt;
&lt;Child attributeB = "value2" /&gt;
&lt;/Element&gt;
&lt;Document&gt;
- </pre></div><p>
-Assuming you want the value of "attributeB" in the 2nd "Child" element, it's very easy to write a *lot* of code that looks like:<p>
-<div class="fragment"><pre class="fragment"> TiXmlElement* root = document.FirstChildElement( "Document" );
+ </pre></div><p>Assuming you want the value of "attributeB" in the 2nd "Child" element, it's very easy to write a *lot* of code that looks like:</p>
+<div class="fragment"><pre class="fragment">
+ TiXmlElement* root = document.FirstChildElement( "Document" );
if ( root )
{
TiXmlElement* element = root-&gt;FirstChildElement( "Element" );
@@ -108,19 +100,20 @@ Assuming you want the value of "attributeB" in the 2nd "Child" element, it's ver
if ( child2 )
{
// Finally do something useful.
- </pre></div><p>
-And that doesn't even cover "else" cases. <a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> addresses the verbosity of such code. A <a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> checks for null pointers so it is perfectly safe and correct to use:<p>
-<div class="fragment"><pre class="fragment"> TiXmlHandle docHandle( &amp;document );
+ </pre></div><p>And that doesn't even cover "else" cases. <a class="el" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> addresses the verbosity of such code. A <a class="el" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> checks for null pointers so it is perfectly safe and correct to use:</p>
+<div class="fragment"><pre class="fragment">
+ TiXmlHandle docHandle( &amp;document );
TiXmlElement* child2 = docHandle.FirstChild( "Document" ).FirstChild( "Element" ).Child( "Child", 1 ).ToElement();
if ( child2 )
{
// do something useful
- </pre></div><p>
-Which is MUCH more concise and useful.<p>
-It is also safe to copy handles - internally they are nothing more than node pointers. <div class="fragment"><pre class="fragment"> TiXmlHandle handleCopy = handle;
- </pre></div><p>
-What they should not be used for is iteration:<p>
-<div class="fragment"><pre class="fragment"> int i=0;
+ </pre></div><p>Which is MUCH more concise and useful.</p>
+<p>It is also safe to copy handles - internally they are nothing more than node pointers. </p>
+<div class="fragment"><pre class="fragment">
+ TiXmlHandle handleCopy = handle;
+ </pre></div><p>What they should not be used for is iteration:</p>
+<div class="fragment"><pre class="fragment">
+ int i=0;
while ( true )
{
TiXmlElement* child = docHandle.FirstChild( "Document" ).FirstChild( "Element" ).Child( "Child", i ).ToElement();
@@ -129,45 +122,42 @@ What they should not be used for is iteration:<p>
// do something
++i;
}
- </pre></div><p>
-It seems reasonable, but it is in fact two embedded while loops. The Child method is a linear walk to find the element, so this code would iterate much more than it needs to. Instead, prefer:<p>
-<div class="fragment"><pre class="fragment"> TiXmlElement* child = docHandle.FirstChild( "Document" ).FirstChild( "Element" ).FirstChild( "Child" ).ToElement();
+ </pre></div><p>It seems reasonable, but it is in fact two embedded while loops. The Child method is a linear walk to find the element, so this code would iterate much more than it needs to. Instead, prefer:</p>
+<div class="fragment"><pre class="fragment">
+ TiXmlElement* child = docHandle.FirstChild( "Document" ).FirstChild( "Element" ).FirstChild( "Child" ).ToElement();
for( child; child; child=child-&gt;NextSiblingElement() )
{
// do something
}
- </pre></div>
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="f9cf6a7d08a5da94a8924425ad0cd5ac"></a><!-- doxytag: member="TiXmlHandle::Child" ref="f9cf6a7d08a5da94a8924425ad0cd5ac" args="(int index) const " -->
+ </pre></div> <hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="af9cf6a7d08a5da94a8924425ad0cd5ac"></a><!-- doxytag: member="TiXmlHandle::Child" ref="af9cf6a7d08a5da94a8924425ad0cd5ac" args="(int index) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> TiXmlHandle::Child </td>
+ <td class="memname"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> TiXmlHandle::Child </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>index</em> </td>
+ <td class="paramname"> <em>index</em></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const</td>
+ <td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Return a handle to the "index" child.
-<p>
-The first child is 0, the second 1, etc.
+<p>Return a handle to the "index" child. </p>
+<p>The first child is 0, the second 1, etc. </p>
+
</div>
-</div><p>
-<a class="anchor" name="072492b4be1acdb0db2d03cd8f71ccc4"></a><!-- doxytag: member="TiXmlHandle::Child" ref="072492b4be1acdb0db2d03cd8f71ccc4" args="(const char *value, int index) const " -->
+</div>
+<a class="anchor" id="a072492b4be1acdb0db2d03cd8f71ccc4"></a><!-- doxytag: member="TiXmlHandle::Child" ref="a072492b4be1acdb0db2d03cd8f71ccc4" args="(const char *value, int index) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> TiXmlHandle::Child </td>
+ <td class="memname"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> TiXmlHandle::Child </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>value</em>, </td>
@@ -181,46 +171,44 @@ The first child is 0, the second 1, etc.
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"> const</td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Return a handle to the "index" child with the given name.
-<p>
-The first child is 0, the second 1, etc.
+<p>Return a handle to the "index" child with the given name. </p>
+<p>The first child is 0, the second 1, etc. </p>
+
</div>
-</div><p>
-<a class="anchor" name="8786475b9d1f1518492e3a46704c7ef0"></a><!-- doxytag: member="TiXmlHandle::ChildElement" ref="8786475b9d1f1518492e3a46704c7ef0" args="(int index) const " -->
+</div>
+<a class="anchor" id="a8786475b9d1f1518492e3a46704c7ef0"></a><!-- doxytag: member="TiXmlHandle::ChildElement" ref="a8786475b9d1f1518492e3a46704c7ef0" args="(int index) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> TiXmlHandle::ChildElement </td>
+ <td class="memname"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> TiXmlHandle::ChildElement </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>index</em> </td>
+ <td class="paramname"> <em>index</em></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const</td>
+ <td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Return a handle to the "index" child element.
-<p>
-The first child element is 0, the second 1, etc. Note that only TiXmlElements are indexed: other types are not counted.
+<p>Return a handle to the "index" child element. </p>
+<p>The first child element is 0, the second 1, etc. Note that only TiXmlElements are indexed: other types are not counted. </p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="979a3f850984a176ee884e394c7eed2d"></a><!-- doxytag: member="TiXmlHandle::ChildElement" ref="979a3f850984a176ee884e394c7eed2d" args="(const char *value, int index) const " -->
+<a class="anchor" id="a979a3f850984a176ee884e394c7eed2d"></a><!-- doxytag: member="TiXmlHandle::ChildElement" ref="a979a3f850984a176ee884e394c7eed2d" args="(const char *value, int index) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> TiXmlHandle::ChildElement </td>
+ <td class="memname"><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> TiXmlHandle::ChildElement </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>value</em>, </td>
@@ -234,186 +222,191 @@ The first child element is 0, the second 1, etc. Note that only TiXmlElements ar
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"> const</td>
+ <td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Return a handle to the "index" child element with the given name.
-<p>
-The first child element is 0, the second 1, etc. Note that only TiXmlElements are indexed: other types are not counted.
+<p>Return a handle to the "index" child element with the given name. </p>
+<p>The first child element is 0, the second 1, etc. Note that only TiXmlElements are indexed: other types are not counted. </p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="cb5fe8388a526289ea65e817a51e05e7"></a><!-- doxytag: member="TiXmlHandle::Element" ref="cb5fe8388a526289ea65e817a51e05e7" args="() const " -->
+<a class="anchor" id="acb5fe8388a526289ea65e817a51e05e7"></a><!-- doxytag: member="TiXmlHandle::Element" ref="acb5fe8388a526289ea65e817a51e05e7" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTiXmlElement.html">TiXmlElement</a>* TiXmlHandle::Element </td>
+ <td class="memname"><a class="el" href="classTiXmlElement.html">TiXmlElement</a>* TiXmlHandle::Element </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [inline]</code></td>
+ <td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>use ToElement. Return the handle as a <a class="el" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>. This may return null. </dd></dl>
-<p>
-<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>use ToElement. Return the handle as a <a class="el" href="classTiXmlElement.html">TiXmlElement</a>. This may return null. </dd></dl>
+<p>References <a class="el" href="tinyxml_8h_source.html#l01681">ToElement()</a>.</p>
</div>
-</div><p>
-<a class="anchor" name="b44b723a8dc9af72838a303c079d0376"></a><!-- doxytag: member="TiXmlHandle::Node" ref="b44b723a8dc9af72838a303c079d0376" args="() const " -->
+</div>
+<a class="anchor" id="ab44b723a8dc9af72838a303c079d0376"></a><!-- doxytag: member="TiXmlHandle::Node" ref="ab44b723a8dc9af72838a303c079d0376" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlHandle::Node </td>
+ <td class="memname"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlHandle::Node </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [inline]</code></td>
+ <td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>use ToNode. Return the handle as a <a class="el" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>. This may return null. </dd></dl>
-<p>
-<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>use ToNode. Return the handle as a <a class="el" href="classTiXmlNode.html">TiXmlNode</a>. This may return null. </dd></dl>
+<p>References <a class="el" href="tinyxml_8h_source.html#l01678">ToNode()</a>.</p>
</div>
-</div><p>
-<a class="anchor" name="9fc739c8a18d160006f82572fc143d13"></a><!-- doxytag: member="TiXmlHandle::Text" ref="9fc739c8a18d160006f82572fc143d13" args="() const " -->
+</div>
+<a class="anchor" id="a9fc739c8a18d160006f82572fc143d13"></a><!-- doxytag: member="TiXmlHandle::Text" ref="a9fc739c8a18d160006f82572fc143d13" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTiXmlText.html">TiXmlText</a>* TiXmlHandle::Text </td>
+ <td class="memname"><a class="el" href="classTiXmlText.html">TiXmlText</a>* TiXmlHandle::Text </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [inline]</code></td>
+ <td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated:</a></b></dt><dd>use <a class="el" href="classTiXmlHandle.html#a4ac53a652296203a5b5e13854d923586" title="Return the handle as a TiXmlText.">ToText()</a> Return the handle as a <a class="el" href="classTiXmlText.html" title="XML text.">TiXmlText</a>. This may return null. </dd></dl>
-<p>
-<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated:</a></b></dt><dd>use <a class="el" href="classTiXmlHandle.html#4ac53a652296203a5b5e13854d923586">ToText()</a> Return the handle as a <a class="el" href="classTiXmlText.html">TiXmlText</a>. This may return null. </dd></dl>
+<p>References <a class="el" href="tinyxml_8h_source.html#l01684">ToText()</a>.</p>
</div>
-</div><p>
-<a class="anchor" name="bc6e7ed383a5fe1e52b0c0004b457b9e"></a><!-- doxytag: member="TiXmlHandle::ToElement" ref="bc6e7ed383a5fe1e52b0c0004b457b9e" args="() const " -->
+</div>
+<a class="anchor" id="abc6e7ed383a5fe1e52b0c0004b457b9e"></a><!-- doxytag: member="TiXmlHandle::ToElement" ref="abc6e7ed383a5fe1e52b0c0004b457b9e" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTiXmlElement.html">TiXmlElement</a>* TiXmlHandle::ToElement </td>
+ <td class="memname"><a class="el" href="classTiXmlElement.html">TiXmlElement</a>* TiXmlHandle::ToElement </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [inline]</code></td>
+ <td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Return the handle as a <a class="el" href="classTiXmlElement.html">TiXmlElement</a>.
-<p>
-This may return null.
+<p>Return the handle as a <a class="el" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>. </p>
+<p>This may return null. </p>
+
+<p>Referenced by <a class="el" href="tinyxml_8h_source.html#l01696">Element()</a>.</p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="f678e5088e83be67baf76f699756f2c3"></a><!-- doxytag: member="TiXmlHandle::ToNode" ref="f678e5088e83be67baf76f699756f2c3" args="() const " -->
+<a class="anchor" id="af678e5088e83be67baf76f699756f2c3"></a><!-- doxytag: member="TiXmlHandle::ToNode" ref="af678e5088e83be67baf76f699756f2c3" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlHandle::ToNode </td>
+ <td class="memname"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlHandle::ToNode </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [inline]</code></td>
+ <td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Return the handle as a <a class="el" href="classTiXmlNode.html">TiXmlNode</a>.
-<p>
-This may return null.
+<p>Return the handle as a <a class="el" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>. </p>
+<p>This may return null. </p>
+
+<p>Referenced by <a class="el" href="tinyxml_8h_source.html#l01692">Node()</a>.</p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="4ac53a652296203a5b5e13854d923586"></a><!-- doxytag: member="TiXmlHandle::ToText" ref="4ac53a652296203a5b5e13854d923586" args="() const " -->
+<a class="anchor" id="a4ac53a652296203a5b5e13854d923586"></a><!-- doxytag: member="TiXmlHandle::ToText" ref="a4ac53a652296203a5b5e13854d923586" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTiXmlText.html">TiXmlText</a>* TiXmlHandle::ToText </td>
+ <td class="memname"><a class="el" href="classTiXmlText.html">TiXmlText</a>* TiXmlHandle::ToText </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [inline]</code></td>
+ <td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Return the handle as a <a class="el" href="classTiXmlText.html">TiXmlText</a>.
-<p>
-This may return null.
+<p>Return the handle as a <a class="el" href="classTiXmlText.html" title="XML text.">TiXmlText</a>. </p>
+<p>This may return null. </p>
+
+<p>Referenced by <a class="el" href="tinyxml_8h_source.html#l01700">Text()</a>.</p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="1381c17507a130767b1e23afc93b3674"></a><!-- doxytag: member="TiXmlHandle::ToUnknown" ref="1381c17507a130767b1e23afc93b3674" args="() const " -->
+<a class="anchor" id="a1381c17507a130767b1e23afc93b3674"></a><!-- doxytag: member="TiXmlHandle::ToUnknown" ref="a1381c17507a130767b1e23afc93b3674" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a>* TiXmlHandle::ToUnknown </td>
+ <td class="memname"><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a>* TiXmlHandle::ToUnknown </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [inline]</code></td>
+ <td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Return the handle as a <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a>.
-<p>
-This may return null.
+<p>Return the handle as a <a class="el" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&#39;t recognize is saved as an unknown.">TiXmlUnknown</a>. </p>
+<p>This may return null. </p>
+
+<p>Referenced by <a class="el" href="tinyxml_8h_source.html#l01704">Unknown()</a>.</p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="49675b74357ba2aae124657a9a1ef465"></a><!-- doxytag: member="TiXmlHandle::Unknown" ref="49675b74357ba2aae124657a9a1ef465" args="() const " -->
+<a class="anchor" id="a49675b74357ba2aae124657a9a1ef465"></a><!-- doxytag: member="TiXmlHandle::Unknown" ref="a49675b74357ba2aae124657a9a1ef465" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a>* TiXmlHandle::Unknown </td>
+ <td class="memname"><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a>* TiXmlHandle::Unknown </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [inline]</code></td>
+ <td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd>use <a class="el" href="classTiXmlHandle.html#a1381c17507a130767b1e23afc93b3674" title="Return the handle as a TiXmlUnknown.">ToUnknown()</a> Return the handle as a <a class="el" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&#39;t recognize is saved as an unknown.">TiXmlUnknown</a>. This may return null. </dd></dl>
-<p>
-<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd>use <a class="el" href="classTiXmlHandle.html#1381c17507a130767b1e23afc93b3674">ToUnknown()</a> Return the handle as a <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a>. This may return null. </dd></dl>
+<p>References <a class="el" href="tinyxml_8h_source.html#l01687">ToUnknown()</a>.</p>
</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="tinyxml_8h-source.html">tinyxml.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tinyxml_8h_source.html">tinyxml.h</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlNode-members.html b/shared/tinyxml/docs/classTiXmlNode-members.html
index b7c9ecf5..3151b699 100644
--- a/shared/tinyxml/docs/classTiXmlNode-members.html
+++ b/shared/tinyxml/docs/classTiXmlNode-members.html
@@ -1,98 +1,107 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlNode Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlNode.html">TiXmlNode</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#cc0f88b7462c6cb73809d410a4f5bb86">Accept</a>(TiXmlVisitor *visitor) const =0</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [pure virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#708e7f953df61d4d2d12f73171550a4b">Clear</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#4508cc3a2d7a98e96a54cc09c37a78a4">Clone</a>() const =0</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [pure virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1f05828d023150706eeb16d6fb3f6355">FirstChild</a>(const char *value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#bc8bf32be6419ec453a731868de19554">FirstChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#07f6200a5956c723c5b52d70f29c46f6">FirstChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#10d2669ccb5e29e02fcb0e4408685ef6">FirstChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ccda2c6b45c25bb5a6f9c3407a644e61">FirstChildElement</a>(const char *_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#327ad4bbd90073c5dfc931b07314f5f7">FirstChildElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#7f1d7291880534c1e5cdeb392d8c1f45">FirstChildElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#80e397fa973cf5323e33b07154b024f3">GetDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#d9b75e54ec19301c8b4d5ff583d0b3d5">InsertAfterChild</a>(TiXmlNode *afterThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#0c146fa2fff0157b681594102f48cbc7">InsertBeforeChild</a>(TiXmlNode *beforeThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#d7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a>(const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>(const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#dfaef35a076b9343adc1420757376c39">IterateChildren</a>(const char *value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1cbaaf8e82c09ad763d52616d75724df">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#16e9ad53e2f5445b14bf325c90aa862c">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6432d2b2495f6caf9cb4278df706a031">LastChild</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#bad5bf1059c48127b958711ef89e8e5d">LastChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#256d0cdbfcfeccae83f3a1c9747a8b63">LastChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#69772c9202f70553f940b15c06b07be3">LastChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#5d29442ae46de6d0168429156197bfc6">LinkEndChild</a>(TiXmlNode *addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1b94d2f7fa7ab25a5a8e8d4340c449c9">NextSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1757c1f4d01e8c9596ffdbd561c76aea">NextSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#f854baeba384f5fe9859f5aee03b548e">NextSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2e61c0b89a77e36a0e8c60490003cb46">NextSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#071ba77fd7ab79402fa84b7e9b8607b3">NextSiblingElement</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#7572d0af9d1e696ee3f05d8bb5ebb463">NextSiblingElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#506958e34406729a4e4c5326ea39d081">NextSiblingElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#eed21ad30630ef6e7faf096127edc9f3">NoChildren</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">NodeType</a> enum name</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt;</a>(std::ostream &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#52ef17e7080df2490cf87bde380685ab">operator&lt;&lt;</a>(std::string &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#b57bd426563c926844f65a78412e18b9">operator&gt;&gt;</a>(std::istream &amp;in, TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#b643043132ffd794f8602685d34a982e">Parent</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#c2cd892768726270e511b2ab32de4d10">PreviousSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#5bdd49327eec1e609b7d22af706b8316">PreviousSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#658276f57d35d5d4256d1dc1a2c398ab">PreviousSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#cc8a0434c7f401d4a3b6dee77c1a5912">PreviousSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#0de56b3f2ef14c65091a3b916437b512">Print</a>(FILE *cfile, int depth) const =0</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [pure virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#e19d8510efc90596552f4feeac9a8fbf">RemoveChild</a>(TiXmlNode *removeThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#0c49e739a17b9938050c22cd89617fbd">ReplaceChild</a>(TiXmlNode *replaceThis, const TiXmlNode &amp;withThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#c6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2598d5f448042c1abbeae4503dd45ff2">SetValue</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0a5086f9eaee910bbfdc7f975e26574">ToComment</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#383e06a0787f7063953934867990f849">ToComment</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#9f43e6984fc7d4afd6eb32714c6b7b72">ToDeclaration</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#4027136ca820ff4a636b607231b6a6df">ToDeclaration</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#8a4cda4b15c29f64cff419309aebed08">ToDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6a4c8ac28ee7a745d059db6691e03bae">ToDocument</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#72abed96dc9667ab9e0a2a275301bb1c">ToElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a65d000223187d22a4dcebd7479e9ebc">ToElement</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#95a46a52c525992d6b4ee08beb14cd69">ToText</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#3ddfbcac78fbea041fad57e5c6d60a03">ToText</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#fd7205cf31d7a376929f8a36930627a2">ToUnknown</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#06de5af852668c7e4af0d09c205f0b0d">ToUnknown</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#57b99d5c97d67a42b9752f5210a1ba5e">Type</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#77943eb90d12c2892b1337a9f5918b41">Value</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlNode Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlNode.html">TiXmlNode</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#acc0f88b7462c6cb73809d410a4f5bb86">Accept</a>(TiXmlVisitor *visitor) const =0</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a708e7f953df61d4d2d12f73171550a4b">Clear</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a4508cc3a2d7a98e96a54cc09c37a78a4">Clone</a>() const =0</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1f05828d023150706eeb16d6fb3f6355">FirstChild</a>(const char *value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#abc8bf32be6419ec453a731868de19554">FirstChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a07f6200a5956c723c5b52d70f29c46f6">FirstChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a10d2669ccb5e29e02fcb0e4408685ef6">FirstChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#af4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#accda2c6b45c25bb5a6f9c3407a644e61">FirstChildElement</a>(const char *_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a327ad4bbd90073c5dfc931b07314f5f7">FirstChildElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a7f1d7291880534c1e5cdeb392d8c1f45">FirstChildElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a80e397fa973cf5323e33b07154b024f3">GetDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ad9b75e54ec19301c8b4d5ff583d0b3d5">InsertAfterChild</a>(TiXmlNode *afterThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0c146fa2fff0157b681594102f48cbc7">InsertBeforeChild</a>(TiXmlNode *beforeThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ad7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a>(const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>(const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#adfaef35a076b9343adc1420757376c39">IterateChildren</a>(const char *value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1cbaaf8e82c09ad763d52616d75724df">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a16e9ad53e2f5445b14bf325c90aa862c">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6432d2b2495f6caf9cb4278df706a031">LastChild</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#abad5bf1059c48127b958711ef89e8e5d">LastChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a256d0cdbfcfeccae83f3a1c9747a8b63">LastChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a69772c9202f70553f940b15c06b07be3">LastChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a5d29442ae46de6d0168429156197bfc6">LinkEndChild</a>(TiXmlNode *addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1b94d2f7fa7ab25a5a8e8d4340c449c9">NextSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1757c1f4d01e8c9596ffdbd561c76aea">NextSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e">NextSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2e61c0b89a77e36a0e8c60490003cb46">NextSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a071ba77fd7ab79402fa84b7e9b8607b3">NextSiblingElement</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a7572d0af9d1e696ee3f05d8bb5ebb463">NextSiblingElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a506958e34406729a4e4c5326ea39d081">NextSiblingElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aeed21ad30630ef6e7faf096127edc9f3">NoChildren</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2">NodeType</a> enum name</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt;</a>(std::ostream &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a52ef17e7080df2490cf87bde380685ab">operator&lt;&lt;</a>(std::string &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ab57bd426563c926844f65a78412e18b9">operator&gt;&gt;</a>(std::istream &amp;in, TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ab643043132ffd794f8602685d34a982e">Parent</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10">PreviousSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a5bdd49327eec1e609b7d22af706b8316">PreviousSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a658276f57d35d5d4256d1dc1a2c398ab">PreviousSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#acc8a0434c7f401d4a3b6dee77c1a5912">PreviousSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a0de56b3f2ef14c65091a3b916437b512">Print</a>(FILE *cfile, int depth) const =0</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ae19d8510efc90596552f4feeac9a8fbf">RemoveChild</a>(TiXmlNode *removeThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0c49e739a17b9938050c22cd89617fbd">ReplaceChild</a>(TiXmlNode *replaceThis, const TiXmlNode &amp;withThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ac6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2598d5f448042c1abbeae4503dd45ff2">SetValue</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aa0a5086f9eaee910bbfdc7f975e26574">ToComment</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a383e06a0787f7063953934867990f849">ToComment</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a9f43e6984fc7d4afd6eb32714c6b7b72">ToDeclaration</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a4027136ca820ff4a636b607231b6a6df">ToDeclaration</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a8a4cda4b15c29f64cff419309aebed08">ToDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6a4c8ac28ee7a745d059db6691e03bae">ToDocument</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a72abed96dc9667ab9e0a2a275301bb1c">ToElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aa65d000223187d22a4dcebd7479e9ebc">ToElement</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a95a46a52c525992d6b4ee08beb14cd69">ToText</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a3ddfbcac78fbea041fad57e5c6d60a03">ToText</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#afd7205cf31d7a376929f8a36930627a2">ToUnknown</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a06de5af852668c7e4af0d09c205f0b0d">ToUnknown</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a57b99d5c97d67a42b9752f5210a1ba5e">Type</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a77943eb90d12c2892b1337a9f5918b41">Value</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlNode.html b/shared/tinyxml/docs/classTiXmlNode.html
index b64a0d60..50b3464a 100644
--- a/shared/tinyxml/docs/classTiXmlNode.html
+++ b/shared/tinyxml/docs/classTiXmlNode.html
@@ -1,410 +1,356 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: TiXmlNode Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlNode Class Reference</h1><!-- doxytag: class="TiXmlNode" --><!-- doxytag: inherits="TiXmlBase" -->The parent class for everything in the Document Object Model.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="tinyxml_8h-source.html">tinyxml.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for TiXmlNode:
-<p><center><img src="classTiXmlNode.png" usemap="#TiXmlNode_map" border="0" alt=""></center>
-<map name="TiXmlNode_map">
-<area href="classTiXmlBase.html" alt="TiXmlBase" shape="rect" coords="295,0,403,24">
-<area href="classTiXmlComment.html" alt="TiXmlComment" shape="rect" coords="0,112,108,136">
-<area href="classTiXmlDeclaration.html" alt="TiXmlDeclaration" shape="rect" coords="118,112,226,136">
-<area href="classTiXmlDocument.html" alt="TiXmlDocument" shape="rect" coords="236,112,344,136">
-<area href="classTiXmlElement.html" alt="TiXmlElement" shape="rect" coords="354,112,462,136">
-<area href="classTiXmlText.html" alt="TiXmlText" shape="rect" coords="472,112,580,136">
-<area href="classTiXmlUnknown.html" alt="TiXmlUnknown" shape="rect" coords="590,112,698,136">
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlNode Class Reference</h1><!-- doxytag: class="TiXmlNode" --><!-- doxytag: inherits="TiXmlBase" -->
+<p>The parent class for everything in the Document Object Model.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="tinyxml_8h_source.html">tinyxml.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for TiXmlNode:</div>
+<div class="dynsection">
+ <div class="center">
+ <img src="classTiXmlNode.png" usemap="#TiXmlNode_map" alt=""/>
+ <map id="TiXmlNode_map" name="TiXmlNode_map">
+<area href="classTiXmlBase.html" alt="TiXmlBase" shape="rect" coords="295,0,403,24"/>
+<area href="classTiXmlComment.html" alt="TiXmlComment" shape="rect" coords="0,112,108,136"/>
+<area href="classTiXmlDeclaration.html" alt="TiXmlDeclaration" shape="rect" coords="118,112,226,136"/>
+<area href="classTiXmlDocument.html" alt="TiXmlDocument" shape="rect" coords="236,112,344,136"/>
+<area href="classTiXmlElement.html" alt="TiXmlElement" shape="rect" coords="354,112,462,136"/>
+<area href="classTiXmlText.html" alt="TiXmlText" shape="rect" coords="472,112,580,136"/>
+<area href="classTiXmlUnknown.html" alt="TiXmlUnknown" shape="rect" coords="590,112,698,136"/>
</map>
-<a href="classTiXmlNode-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">NodeType</a> </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The types of XML nodes supported by TinyXml. <a href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#77943eb90d12c2892b1337a9f5918b41">Value</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The meaning of 'value' changes for the specific type of <a class="el" href="classTiXmlNode.html">TiXmlNode</a>. <a href="#77943eb90d12c2892b1337a9f5918b41"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return <a class="el" href="classTiXmlNode.html#77943eb90d12c2892b1337a9f5918b41">Value()</a> as a std::string. <a href="#6d9e505619d39bf50bfd9609c9169ea5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#2a38329ca5d3f28f98ce932b8299ae90">SetValue</a> (const char *_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the value of the node. <a href="#2a38329ca5d3f28f98ce932b8299ae90"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2598d5f448042c1abbeae4503dd45ff2"></a><!-- doxytag: member="TiXmlNode::SetValue" ref="2598d5f448042c1abbeae4503dd45ff2" args="(const std::string &amp;_value)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#2598d5f448042c1abbeae4503dd45ff2">SetValue</a> (const std::string &amp;_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="708e7f953df61d4d2d12f73171550a4b"></a><!-- doxytag: member="TiXmlNode::Clear" ref="708e7f953df61d4d2d12f73171550a4b" args="()" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#708e7f953df61d4d2d12f73171550a4b">Clear</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete all the children of this node. Does not affect 'this'. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b643043132ffd794f8602685d34a982e"></a><!-- doxytag: member="TiXmlNode::Parent" ref="b643043132ffd794f8602685d34a982e" args="()" -->
-<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#b643043132ffd794f8602685d34a982e">Parent</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">One step up the DOM. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="44c8eee26bbe2d1b2762038df9dde2f0"></a><!-- doxytag: member="TiXmlNode::FirstChild" ref="44c8eee26bbe2d1b2762038df9dde2f0" args="() const " -->
-const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The first child of this node. Will be null if there are no children. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#1f05828d023150706eeb16d6fb3f6355">FirstChild</a> (const char *value) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The first child of this node with the matching 'value'. <a href="#1f05828d023150706eeb16d6fb3f6355"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bc8bf32be6419ec453a731868de19554"></a><!-- doxytag: member="TiXmlNode::FirstChild" ref="bc8bf32be6419ec453a731868de19554" args="(const char *_value)" -->
-<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#bc8bf32be6419ec453a731868de19554">FirstChild</a> (const char *_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The first child of this node with the matching 'value'. Will be null if none found. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6432d2b2495f6caf9cb4278df706a031"></a><!-- doxytag: member="TiXmlNode::LastChild" ref="6432d2b2495f6caf9cb4278df706a031" args="()" -->
-<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#6432d2b2495f6caf9cb4278df706a031">LastChild</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The last child of this node. Will be null if there are no children. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bad5bf1059c48127b958711ef89e8e5d"></a><!-- doxytag: member="TiXmlNode::LastChild" ref="bad5bf1059c48127b958711ef89e8e5d" args="(const char *_value)" -->
-<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#bad5bf1059c48127b958711ef89e8e5d">LastChild</a> (const char *_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The last child of this node matching 'value'. Will be null if there are no children. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="07f6200a5956c723c5b52d70f29c46f6"></a><!-- doxytag: member="TiXmlNode::FirstChild" ref="07f6200a5956c723c5b52d70f29c46f6" args="(const std::string &amp;_value) const " -->
-const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#07f6200a5956c723c5b52d70f29c46f6">FirstChild</a> (const std::string &amp;_value) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="10d2669ccb5e29e02fcb0e4408685ef6"></a><!-- doxytag: member="TiXmlNode::FirstChild" ref="10d2669ccb5e29e02fcb0e4408685ef6" args="(const std::string &amp;_value)" -->
-<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#10d2669ccb5e29e02fcb0e4408685ef6">FirstChild</a> (const std::string &amp;_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="256d0cdbfcfeccae83f3a1c9747a8b63"></a><!-- doxytag: member="TiXmlNode::LastChild" ref="256d0cdbfcfeccae83f3a1c9747a8b63" args="(const std::string &amp;_value) const " -->
-const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#256d0cdbfcfeccae83f3a1c9747a8b63">LastChild</a> (const std::string &amp;_value) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="69772c9202f70553f940b15c06b07be3"></a><!-- doxytag: member="TiXmlNode::LastChild" ref="69772c9202f70553f940b15c06b07be3" args="(const std::string &amp;_value)" -->
-<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#69772c9202f70553f940b15c06b07be3">LastChild</a> (const std::string &amp;_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#8621196ba3705fa226bef4a761cc51b6">IterateChildren</a> (const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *previous) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An alternate way to walk the children of a node. <a href="#8621196ba3705fa226bef4a761cc51b6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dfaef35a076b9343adc1420757376c39"></a><!-- doxytag: member="TiXmlNode::IterateChildren" ref="dfaef35a076b9343adc1420757376c39" args="(const char *value, const TiXmlNode *previous) const " -->
-const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#dfaef35a076b9343adc1420757376c39">IterateChildren</a> (const char *value, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *previous) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This flavor of IterateChildren searches for children with a particular 'value'. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1cbaaf8e82c09ad763d52616d75724df"></a><!-- doxytag: member="TiXmlNode::IterateChildren" ref="1cbaaf8e82c09ad763d52616d75724df" args="(const std::string &amp;_value, const TiXmlNode *previous) const " -->
-const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#1cbaaf8e82c09ad763d52616d75724df">IterateChildren</a> (const std::string &amp;_value, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *previous) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="16e9ad53e2f5445b14bf325c90aa862c"></a><!-- doxytag: member="TiXmlNode::IterateChildren" ref="16e9ad53e2f5445b14bf325c90aa862c" args="(const std::string &amp;_value, const TiXmlNode *previous)" -->
-<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#16e9ad53e2f5445b14bf325c90aa862c">IterateChildren</a> (const std::string &amp;_value, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *previous)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#d7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a> (const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;addThis)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new node related to this. <a href="#d7d4630e1a2a916edda16be22448a8ba"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#5d29442ae46de6d0168429156197bfc6">LinkEndChild</a> (<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *addThis)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new node related to this. <a href="#5d29442ae46de6d0168429156197bfc6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#0c146fa2fff0157b681594102f48cbc7">InsertBeforeChild</a> (<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *beforeThis, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;addThis)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new node related to this. <a href="#0c146fa2fff0157b681594102f48cbc7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#d9b75e54ec19301c8b4d5ff583d0b3d5">InsertAfterChild</a> (<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *afterThis, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;addThis)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new node related to this. <a href="#d9b75e54ec19301c8b4d5ff583d0b3d5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#0c49e739a17b9938050c22cd89617fbd">ReplaceChild</a> (<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *replaceThis, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;withThis)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replace a child of this node. <a href="#0c49e739a17b9938050c22cd89617fbd"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e19d8510efc90596552f4feeac9a8fbf"></a><!-- doxytag: member="TiXmlNode::RemoveChild" ref="e19d8510efc90596552f4feeac9a8fbf" args="(TiXmlNode *removeThis)" -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#e19d8510efc90596552f4feeac9a8fbf">RemoveChild</a> (<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *removeThis)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a child of this node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c2cd892768726270e511b2ab32de4d10"></a><!-- doxytag: member="TiXmlNode::PreviousSibling" ref="c2cd892768726270e511b2ab32de4d10" args="() const " -->
-const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#c2cd892768726270e511b2ab32de4d10">PreviousSibling</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Navigate to a sibling node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5bdd49327eec1e609b7d22af706b8316"></a><!-- doxytag: member="TiXmlNode::PreviousSibling" ref="5bdd49327eec1e609b7d22af706b8316" args="(const char *) const " -->
-const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#5bdd49327eec1e609b7d22af706b8316">PreviousSibling</a> (const char *) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Navigate to a sibling node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="658276f57d35d5d4256d1dc1a2c398ab"></a><!-- doxytag: member="TiXmlNode::PreviousSibling" ref="658276f57d35d5d4256d1dc1a2c398ab" args="(const std::string &amp;_value) const " -->
-const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#658276f57d35d5d4256d1dc1a2c398ab">PreviousSibling</a> (const std::string &amp;_value) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cc8a0434c7f401d4a3b6dee77c1a5912"></a><!-- doxytag: member="TiXmlNode::PreviousSibling" ref="cc8a0434c7f401d4a3b6dee77c1a5912" args="(const std::string &amp;_value)" -->
-<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#cc8a0434c7f401d4a3b6dee77c1a5912">PreviousSibling</a> (const std::string &amp;_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1b94d2f7fa7ab25a5a8e8d4340c449c9"></a><!-- doxytag: member="TiXmlNode::NextSibling" ref="1b94d2f7fa7ab25a5a8e8d4340c449c9" args="(const std::string &amp;_value) const " -->
-const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#1b94d2f7fa7ab25a5a8e8d4340c449c9">NextSibling</a> (const std::string &amp;_value) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1757c1f4d01e8c9596ffdbd561c76aea"></a><!-- doxytag: member="TiXmlNode::NextSibling" ref="1757c1f4d01e8c9596ffdbd561c76aea" args="(const std::string &amp;_value)" -->
-<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#1757c1f4d01e8c9596ffdbd561c76aea">NextSibling</a> (const std::string &amp;_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f854baeba384f5fe9859f5aee03b548e"></a><!-- doxytag: member="TiXmlNode::NextSibling" ref="f854baeba384f5fe9859f5aee03b548e" args="() const " -->
-const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#f854baeba384f5fe9859f5aee03b548e">NextSibling</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Navigate to a sibling node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2e61c0b89a77e36a0e8c60490003cb46"></a><!-- doxytag: member="TiXmlNode::NextSibling" ref="2e61c0b89a77e36a0e8c60490003cb46" args="(const char *) const " -->
-const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#2e61c0b89a77e36a0e8c60490003cb46">NextSibling</a> (const char *) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Navigate to a sibling node with the given 'value'. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to get through elements. <a href="#73acf929d49d10bd0e5fb3d31b0372d1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#071ba77fd7ab79402fa84b7e9b8607b3">NextSiblingElement</a> (const char *) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to get through elements. <a href="#071ba77fd7ab79402fa84b7e9b8607b3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7572d0af9d1e696ee3f05d8bb5ebb463"></a><!-- doxytag: member="TiXmlNode::NextSiblingElement" ref="7572d0af9d1e696ee3f05d8bb5ebb463" args="(const std::string &amp;_value) const " -->
-const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#7572d0af9d1e696ee3f05d8bb5ebb463">NextSiblingElement</a> (const std::string &amp;_value) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="506958e34406729a4e4c5326ea39d081"></a><!-- doxytag: member="TiXmlNode::NextSiblingElement" ref="506958e34406729a4e4c5326ea39d081" args="(const std::string &amp;_value)" -->
-<a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#506958e34406729a4e4c5326ea39d081">NextSiblingElement</a> (const std::string &amp;_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f4fb652f6bd79ae0d5ce7d0f7d3c0fba"></a><!-- doxytag: member="TiXmlNode::FirstChildElement" ref="f4fb652f6bd79ae0d5ce7d0f7d3c0fba" args="() const " -->
-const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to get through elements. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ccda2c6b45c25bb5a6f9c3407a644e61"></a><!-- doxytag: member="TiXmlNode::FirstChildElement" ref="ccda2c6b45c25bb5a6f9c3407a644e61" args="(const char *_value) const " -->
-const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#ccda2c6b45c25bb5a6f9c3407a644e61">FirstChildElement</a> (const char *_value) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to get through elements. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="327ad4bbd90073c5dfc931b07314f5f7"></a><!-- doxytag: member="TiXmlNode::FirstChildElement" ref="327ad4bbd90073c5dfc931b07314f5f7" args="(const std::string &amp;_value) const " -->
-const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#327ad4bbd90073c5dfc931b07314f5f7">FirstChildElement</a> (const std::string &amp;_value) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7f1d7291880534c1e5cdeb392d8c1f45"></a><!-- doxytag: member="TiXmlNode::FirstChildElement" ref="7f1d7291880534c1e5cdeb392d8c1f45" args="(const std::string &amp;_value)" -->
-<a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#7f1d7291880534c1e5cdeb392d8c1f45">FirstChildElement</a> (const std::string &amp;_value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#57b99d5c97d67a42b9752f5210a1ba5e">Type</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the type (as an enumerated value, above) of this node. <a href="#57b99d5c97d67a42b9752f5210a1ba5e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#80e397fa973cf5323e33b07154b024f3">GetDocument</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a pointer to the Document this node lives in. <a href="#80e397fa973cf5323e33b07154b024f3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eed21ad30630ef6e7faf096127edc9f3"></a><!-- doxytag: member="TiXmlNode::NoChildren" ref="eed21ad30630ef6e7faf096127edc9f3" args="() const " -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#eed21ad30630ef6e7faf096127edc9f3">NoChildren</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if this node has no children. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8a4cda4b15c29f64cff419309aebed08"></a><!-- doxytag: member="TiXmlNode::ToDocument" ref="8a4cda4b15c29f64cff419309aebed08" args="() const " -->
-virtual const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#8a4cda4b15c29f64cff419309aebed08">ToDocument</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="72abed96dc9667ab9e0a2a275301bb1c"></a><!-- doxytag: member="TiXmlNode::ToElement" ref="72abed96dc9667ab9e0a2a275301bb1c" args="() const " -->
-virtual const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#72abed96dc9667ab9e0a2a275301bb1c">ToElement</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0a5086f9eaee910bbfdc7f975e26574"></a><!-- doxytag: member="TiXmlNode::ToComment" ref="a0a5086f9eaee910bbfdc7f975e26574" args="() const " -->
-virtual const <a class="el" href="classTiXmlComment.html">TiXmlComment</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a0a5086f9eaee910bbfdc7f975e26574">ToComment</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fd7205cf31d7a376929f8a36930627a2"></a><!-- doxytag: member="TiXmlNode::ToUnknown" ref="fd7205cf31d7a376929f8a36930627a2" args="() const " -->
-virtual const <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#fd7205cf31d7a376929f8a36930627a2">ToUnknown</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="95a46a52c525992d6b4ee08beb14cd69"></a><!-- doxytag: member="TiXmlNode::ToText" ref="95a46a52c525992d6b4ee08beb14cd69" args="() const " -->
-virtual const <a class="el" href="classTiXmlText.html">TiXmlText</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#95a46a52c525992d6b4ee08beb14cd69">ToText</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9f43e6984fc7d4afd6eb32714c6b7b72"></a><!-- doxytag: member="TiXmlNode::ToDeclaration" ref="9f43e6984fc7d4afd6eb32714c6b7b72" args="() const " -->
-virtual const <a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#9f43e6984fc7d4afd6eb32714c6b7b72">ToDeclaration</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6a4c8ac28ee7a745d059db6691e03bae"></a><!-- doxytag: member="TiXmlNode::ToDocument" ref="6a4c8ac28ee7a745d059db6691e03bae" args="()" -->
-virtual <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#6a4c8ac28ee7a745d059db6691e03bae">ToDocument</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a65d000223187d22a4dcebd7479e9ebc"></a><!-- doxytag: member="TiXmlNode::ToElement" ref="a65d000223187d22a4dcebd7479e9ebc" args="()" -->
-virtual <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a65d000223187d22a4dcebd7479e9ebc">ToElement</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="383e06a0787f7063953934867990f849"></a><!-- doxytag: member="TiXmlNode::ToComment" ref="383e06a0787f7063953934867990f849" args="()" -->
-virtual <a class="el" href="classTiXmlComment.html">TiXmlComment</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#383e06a0787f7063953934867990f849">ToComment</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="06de5af852668c7e4af0d09c205f0b0d"></a><!-- doxytag: member="TiXmlNode::ToUnknown" ref="06de5af852668c7e4af0d09c205f0b0d" args="()" -->
-virtual <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#06de5af852668c7e4af0d09c205f0b0d">ToUnknown</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3ddfbcac78fbea041fad57e5c6d60a03"></a><!-- doxytag: member="TiXmlNode::ToText" ref="3ddfbcac78fbea041fad57e5c6d60a03" args="()" -->
-virtual <a class="el" href="classTiXmlText.html">TiXmlText</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#3ddfbcac78fbea041fad57e5c6d60a03">ToText</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4027136ca820ff4a636b607231b6a6df"></a><!-- doxytag: member="TiXmlNode::ToDeclaration" ref="4027136ca820ff4a636b607231b6a6df" args="()" -->
-virtual <a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#4027136ca820ff4a636b607231b6a6df">ToDeclaration</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#4508cc3a2d7a98e96a54cc09c37a78a4">Clone</a> () const =0</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an exact duplicate of this node and return it. <a href="#4508cc3a2d7a98e96a54cc09c37a78a4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#cc0f88b7462c6cb73809d410a4f5bb86">Accept</a> (<a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> *visitor) const =0</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accept a hierchical visit the nodes in the TinyXML DOM. <a href="#cc0f88b7462c6cb73809d410a4f5bb86"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="173617f6dfe902cf484ce5552b950475"></a><!-- doxytag: member="TiXmlNode::TiXmlDocument" ref="173617f6dfe902cf484ce5552b950475" args="" -->
-class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#173617f6dfe902cf484ce5552b950475">TiXmlDocument</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b6592e32cb9132be517cc12a70564c4b"></a><!-- doxytag: member="TiXmlNode::TiXmlElement" ref="b6592e32cb9132be517cc12a70564c4b" args="" -->
-class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#b6592e32cb9132be517cc12a70564c4b">TiXmlElement</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::istream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#b57bd426563c926844f65a78412e18b9">operator&gt;&gt;</a> (std::istream &amp;in, <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;base)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An input stream operator, for every class. <a href="#b57bd426563c926844f65a78412e18b9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt;</a> (std::ostream &amp;out, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;base)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An output stream operator, for every class. <a href="#86cd49cfb17a844c0010b3136ac966c7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="52ef17e7080df2490cf87bde380685ab"></a><!-- doxytag: member="TiXmlNode::operator&lt;&lt;" ref="52ef17e7080df2490cf87bde380685ab" args="(std::string &amp;out, const TiXmlNode &amp;base)" -->
-std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#52ef17e7080df2490cf87bde380685ab">operator&lt;&lt;</a> (std::string &amp;out, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;base)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends the XML node or attribute to a std::string. <br></td></tr>
+ </div>
+</div>
+
+<p><a href="classTiXmlNode-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2">NodeType</a> </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The types of XML nodes supported by TinyXml. </p>
+ <a href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a77943eb90d12c2892b1337a9f5918b41">Value</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The meaning of 'value' changes for the specific type of <a class="el" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>. <a href="#a77943eb90d12c2892b1337a9f5918b41"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return <a class="el" href="classTiXmlNode.html#a77943eb90d12c2892b1337a9f5918b41" title="The meaning of &#39;value&#39; changes for the specific type of TiXmlNode.">Value()</a> as a std::string. <a href="#a6d9e505619d39bf50bfd9609c9169ea5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90">SetValue</a> (const char *_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the value of the node. <a href="#a2a38329ca5d3f28f98ce932b8299ae90"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2598d5f448042c1abbeae4503dd45ff2"></a><!-- doxytag: member="TiXmlNode::SetValue" ref="a2598d5f448042c1abbeae4503dd45ff2" args="(const std::string &amp;_value)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a2598d5f448042c1abbeae4503dd45ff2">SetValue</a> (const std::string &amp;_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a708e7f953df61d4d2d12f73171550a4b"></a><!-- doxytag: member="TiXmlNode::Clear" ref="a708e7f953df61d4d2d12f73171550a4b" args="()" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a708e7f953df61d4d2d12f73171550a4b">Clear</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete all the children of this node. Does not affect 'this'. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab643043132ffd794f8602685d34a982e"></a><!-- doxytag: member="TiXmlNode::Parent" ref="ab643043132ffd794f8602685d34a982e" args="()" -->
+<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#ab643043132ffd794f8602685d34a982e">Parent</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">One step up the DOM. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a44c8eee26bbe2d1b2762038df9dde2f0"></a><!-- doxytag: member="TiXmlNode::FirstChild" ref="a44c8eee26bbe2d1b2762038df9dde2f0" args="() const " -->
+const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The first child of this node. Will be null if there are no children. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a1f05828d023150706eeb16d6fb3f6355">FirstChild</a> (const char *value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The first child of this node with the matching 'value'. <a href="#a1f05828d023150706eeb16d6fb3f6355"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc8bf32be6419ec453a731868de19554"></a><!-- doxytag: member="TiXmlNode::FirstChild" ref="abc8bf32be6419ec453a731868de19554" args="(const char *_value)" -->
+<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#abc8bf32be6419ec453a731868de19554">FirstChild</a> (const char *_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The first child of this node with the matching 'value'. Will be null if none found. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6432d2b2495f6caf9cb4278df706a031"></a><!-- doxytag: member="TiXmlNode::LastChild" ref="a6432d2b2495f6caf9cb4278df706a031" args="()" -->
+<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a6432d2b2495f6caf9cb4278df706a031">LastChild</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The last child of this node. Will be null if there are no children. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abad5bf1059c48127b958711ef89e8e5d"></a><!-- doxytag: member="TiXmlNode::LastChild" ref="abad5bf1059c48127b958711ef89e8e5d" args="(const char *_value)" -->
+<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#abad5bf1059c48127b958711ef89e8e5d">LastChild</a> (const char *_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The last child of this node matching 'value'. Will be null if there are no children. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07f6200a5956c723c5b52d70f29c46f6"></a><!-- doxytag: member="TiXmlNode::FirstChild" ref="a07f6200a5956c723c5b52d70f29c46f6" args="(const std::string &amp;_value) const " -->
+const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a07f6200a5956c723c5b52d70f29c46f6">FirstChild</a> (const std::string &amp;_value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a10d2669ccb5e29e02fcb0e4408685ef6"></a><!-- doxytag: member="TiXmlNode::FirstChild" ref="a10d2669ccb5e29e02fcb0e4408685ef6" args="(const std::string &amp;_value)" -->
+<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a10d2669ccb5e29e02fcb0e4408685ef6">FirstChild</a> (const std::string &amp;_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a256d0cdbfcfeccae83f3a1c9747a8b63"></a><!-- doxytag: member="TiXmlNode::LastChild" ref="a256d0cdbfcfeccae83f3a1c9747a8b63" args="(const std::string &amp;_value) const " -->
+const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a256d0cdbfcfeccae83f3a1c9747a8b63">LastChild</a> (const std::string &amp;_value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69772c9202f70553f940b15c06b07be3"></a><!-- doxytag: member="TiXmlNode::LastChild" ref="a69772c9202f70553f940b15c06b07be3" args="(const std::string &amp;_value)" -->
+<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a69772c9202f70553f940b15c06b07be3">LastChild</a> (const std::string &amp;_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a8621196ba3705fa226bef4a761cc51b6">IterateChildren</a> (const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *previous) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An alternate way to walk the children of a node. <a href="#a8621196ba3705fa226bef4a761cc51b6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adfaef35a076b9343adc1420757376c39"></a><!-- doxytag: member="TiXmlNode::IterateChildren" ref="adfaef35a076b9343adc1420757376c39" args="(const char *value, const TiXmlNode *previous) const " -->
+const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#adfaef35a076b9343adc1420757376c39">IterateChildren</a> (const char *value, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *previous) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This flavor of IterateChildren searches for children with a particular 'value'. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1cbaaf8e82c09ad763d52616d75724df"></a><!-- doxytag: member="TiXmlNode::IterateChildren" ref="a1cbaaf8e82c09ad763d52616d75724df" args="(const std::string &amp;_value, const TiXmlNode *previous) const " -->
+const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a1cbaaf8e82c09ad763d52616d75724df">IterateChildren</a> (const std::string &amp;_value, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *previous) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16e9ad53e2f5445b14bf325c90aa862c"></a><!-- doxytag: member="TiXmlNode::IterateChildren" ref="a16e9ad53e2f5445b14bf325c90aa862c" args="(const std::string &amp;_value, const TiXmlNode *previous)" -->
+<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a16e9ad53e2f5445b14bf325c90aa862c">IterateChildren</a> (const std::string &amp;_value, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *previous)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#ad7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a> (const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;addThis)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new node related to this. <a href="#ad7d4630e1a2a916edda16be22448a8ba"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a5d29442ae46de6d0168429156197bfc6">LinkEndChild</a> (<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *addThis)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new node related to this. <a href="#a5d29442ae46de6d0168429156197bfc6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a0c146fa2fff0157b681594102f48cbc7">InsertBeforeChild</a> (<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *beforeThis, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;addThis)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new node related to this. <a href="#a0c146fa2fff0157b681594102f48cbc7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#ad9b75e54ec19301c8b4d5ff583d0b3d5">InsertAfterChild</a> (<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *afterThis, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;addThis)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new node related to this. <a href="#ad9b75e54ec19301c8b4d5ff583d0b3d5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a0c49e739a17b9938050c22cd89617fbd">ReplaceChild</a> (<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *replaceThis, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;withThis)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replace a child of this node. <a href="#a0c49e739a17b9938050c22cd89617fbd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae19d8510efc90596552f4feeac9a8fbf"></a><!-- doxytag: member="TiXmlNode::RemoveChild" ref="ae19d8510efc90596552f4feeac9a8fbf" args="(TiXmlNode *removeThis)" -->
+bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#ae19d8510efc90596552f4feeac9a8fbf">RemoveChild</a> (<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *removeThis)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a child of this node. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2cd892768726270e511b2ab32de4d10"></a><!-- doxytag: member="TiXmlNode::PreviousSibling" ref="ac2cd892768726270e511b2ab32de4d10" args="() const " -->
+const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10">PreviousSibling</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Navigate to a sibling node. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5bdd49327eec1e609b7d22af706b8316"></a><!-- doxytag: member="TiXmlNode::PreviousSibling" ref="a5bdd49327eec1e609b7d22af706b8316" args="(const char *) const " -->
+const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a5bdd49327eec1e609b7d22af706b8316">PreviousSibling</a> (const char *) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Navigate to a sibling node. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a658276f57d35d5d4256d1dc1a2c398ab"></a><!-- doxytag: member="TiXmlNode::PreviousSibling" ref="a658276f57d35d5d4256d1dc1a2c398ab" args="(const std::string &amp;_value) const " -->
+const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a658276f57d35d5d4256d1dc1a2c398ab">PreviousSibling</a> (const std::string &amp;_value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc8a0434c7f401d4a3b6dee77c1a5912"></a><!-- doxytag: member="TiXmlNode::PreviousSibling" ref="acc8a0434c7f401d4a3b6dee77c1a5912" args="(const std::string &amp;_value)" -->
+<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#acc8a0434c7f401d4a3b6dee77c1a5912">PreviousSibling</a> (const std::string &amp;_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b94d2f7fa7ab25a5a8e8d4340c449c9"></a><!-- doxytag: member="TiXmlNode::NextSibling" ref="a1b94d2f7fa7ab25a5a8e8d4340c449c9" args="(const std::string &amp;_value) const " -->
+const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a1b94d2f7fa7ab25a5a8e8d4340c449c9">NextSibling</a> (const std::string &amp;_value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1757c1f4d01e8c9596ffdbd561c76aea"></a><!-- doxytag: member="TiXmlNode::NextSibling" ref="a1757c1f4d01e8c9596ffdbd561c76aea" args="(const std::string &amp;_value)" -->
+<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a1757c1f4d01e8c9596ffdbd561c76aea">NextSibling</a> (const std::string &amp;_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af854baeba384f5fe9859f5aee03b548e"></a><!-- doxytag: member="TiXmlNode::NextSibling" ref="af854baeba384f5fe9859f5aee03b548e" args="() const " -->
+const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e">NextSibling</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Navigate to a sibling node. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e61c0b89a77e36a0e8c60490003cb46"></a><!-- doxytag: member="TiXmlNode::NextSibling" ref="a2e61c0b89a77e36a0e8c60490003cb46" args="(const char *) const " -->
+const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a2e61c0b89a77e36a0e8c60490003cb46">NextSibling</a> (const char *) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Navigate to a sibling node with the given 'value'. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to get through elements. <a href="#a73acf929d49d10bd0e5fb3d31b0372d1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a071ba77fd7ab79402fa84b7e9b8607b3">NextSiblingElement</a> (const char *) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to get through elements. <a href="#a071ba77fd7ab79402fa84b7e9b8607b3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7572d0af9d1e696ee3f05d8bb5ebb463"></a><!-- doxytag: member="TiXmlNode::NextSiblingElement" ref="a7572d0af9d1e696ee3f05d8bb5ebb463" args="(const std::string &amp;_value) const " -->
+const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a7572d0af9d1e696ee3f05d8bb5ebb463">NextSiblingElement</a> (const std::string &amp;_value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a506958e34406729a4e4c5326ea39d081"></a><!-- doxytag: member="TiXmlNode::NextSiblingElement" ref="a506958e34406729a4e4c5326ea39d081" args="(const std::string &amp;_value)" -->
+<a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a506958e34406729a4e4c5326ea39d081">NextSiblingElement</a> (const std::string &amp;_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4fb652f6bd79ae0d5ce7d0f7d3c0fba"></a><!-- doxytag: member="TiXmlNode::FirstChildElement" ref="af4fb652f6bd79ae0d5ce7d0f7d3c0fba" args="() const " -->
+const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#af4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to get through elements. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="accda2c6b45c25bb5a6f9c3407a644e61"></a><!-- doxytag: member="TiXmlNode::FirstChildElement" ref="accda2c6b45c25bb5a6f9c3407a644e61" args="(const char *_value) const " -->
+const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#accda2c6b45c25bb5a6f9c3407a644e61">FirstChildElement</a> (const char *_value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to get through elements. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a327ad4bbd90073c5dfc931b07314f5f7"></a><!-- doxytag: member="TiXmlNode::FirstChildElement" ref="a327ad4bbd90073c5dfc931b07314f5f7" args="(const std::string &amp;_value) const " -->
+const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a327ad4bbd90073c5dfc931b07314f5f7">FirstChildElement</a> (const std::string &amp;_value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f1d7291880534c1e5cdeb392d8c1f45"></a><!-- doxytag: member="TiXmlNode::FirstChildElement" ref="a7f1d7291880534c1e5cdeb392d8c1f45" args="(const std::string &amp;_value)" -->
+<a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a7f1d7291880534c1e5cdeb392d8c1f45">FirstChildElement</a> (const std::string &amp;_value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a57b99d5c97d67a42b9752f5210a1ba5e">Type</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the type (as an enumerated value, above) of this node. <a href="#a57b99d5c97d67a42b9752f5210a1ba5e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a80e397fa973cf5323e33b07154b024f3">GetDocument</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a pointer to the Document this node lives in. <a href="#a80e397fa973cf5323e33b07154b024f3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeed21ad30630ef6e7faf096127edc9f3"></a><!-- doxytag: member="TiXmlNode::NoChildren" ref="aeed21ad30630ef6e7faf096127edc9f3" args="() const " -->
+bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#aeed21ad30630ef6e7faf096127edc9f3">NoChildren</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if this node has no children. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a4cda4b15c29f64cff419309aebed08"></a><!-- doxytag: member="TiXmlNode::ToDocument" ref="a8a4cda4b15c29f64cff419309aebed08" args="() const " -->
+virtual const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a8a4cda4b15c29f64cff419309aebed08">ToDocument</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72abed96dc9667ab9e0a2a275301bb1c"></a><!-- doxytag: member="TiXmlNode::ToElement" ref="a72abed96dc9667ab9e0a2a275301bb1c" args="() const " -->
+virtual const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a72abed96dc9667ab9e0a2a275301bb1c">ToElement</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa0a5086f9eaee910bbfdc7f975e26574"></a><!-- doxytag: member="TiXmlNode::ToComment" ref="aa0a5086f9eaee910bbfdc7f975e26574" args="() const " -->
+virtual const <a class="el" href="classTiXmlComment.html">TiXmlComment</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#aa0a5086f9eaee910bbfdc7f975e26574">ToComment</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd7205cf31d7a376929f8a36930627a2"></a><!-- doxytag: member="TiXmlNode::ToUnknown" ref="afd7205cf31d7a376929f8a36930627a2" args="() const " -->
+virtual const <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#afd7205cf31d7a376929f8a36930627a2">ToUnknown</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95a46a52c525992d6b4ee08beb14cd69"></a><!-- doxytag: member="TiXmlNode::ToText" ref="a95a46a52c525992d6b4ee08beb14cd69" args="() const " -->
+virtual const <a class="el" href="classTiXmlText.html">TiXmlText</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a95a46a52c525992d6b4ee08beb14cd69">ToText</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f43e6984fc7d4afd6eb32714c6b7b72"></a><!-- doxytag: member="TiXmlNode::ToDeclaration" ref="a9f43e6984fc7d4afd6eb32714c6b7b72" args="() const " -->
+virtual const <a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a9f43e6984fc7d4afd6eb32714c6b7b72">ToDeclaration</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a4c8ac28ee7a745d059db6691e03bae"></a><!-- doxytag: member="TiXmlNode::ToDocument" ref="a6a4c8ac28ee7a745d059db6691e03bae" args="()" -->
+virtual <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a6a4c8ac28ee7a745d059db6691e03bae">ToDocument</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa65d000223187d22a4dcebd7479e9ebc"></a><!-- doxytag: member="TiXmlNode::ToElement" ref="aa65d000223187d22a4dcebd7479e9ebc" args="()" -->
+virtual <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#aa65d000223187d22a4dcebd7479e9ebc">ToElement</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a383e06a0787f7063953934867990f849"></a><!-- doxytag: member="TiXmlNode::ToComment" ref="a383e06a0787f7063953934867990f849" args="()" -->
+virtual <a class="el" href="classTiXmlComment.html">TiXmlComment</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a383e06a0787f7063953934867990f849">ToComment</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06de5af852668c7e4af0d09c205f0b0d"></a><!-- doxytag: member="TiXmlNode::ToUnknown" ref="a06de5af852668c7e4af0d09c205f0b0d" args="()" -->
+virtual <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a06de5af852668c7e4af0d09c205f0b0d">ToUnknown</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ddfbcac78fbea041fad57e5c6d60a03"></a><!-- doxytag: member="TiXmlNode::ToText" ref="a3ddfbcac78fbea041fad57e5c6d60a03" args="()" -->
+virtual <a class="el" href="classTiXmlText.html">TiXmlText</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a3ddfbcac78fbea041fad57e5c6d60a03">ToText</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4027136ca820ff4a636b607231b6a6df"></a><!-- doxytag: member="TiXmlNode::ToDeclaration" ref="a4027136ca820ff4a636b607231b6a6df" args="()" -->
+virtual <a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a4027136ca820ff4a636b607231b6a6df">ToDeclaration</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null if not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a4508cc3a2d7a98e96a54cc09c37a78a4">Clone</a> () const =0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an exact duplicate of this node and return it. <a href="#a4508cc3a2d7a98e96a54cc09c37a78a4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#acc0f88b7462c6cb73809d410a4f5bb86">Accept</a> (<a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> *visitor) const =0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accept a hierchical visit the nodes in the TinyXML DOM. <a href="#acc0f88b7462c6cb73809d410a4f5bb86"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a173617f6dfe902cf484ce5552b950475"></a><!-- doxytag: member="TiXmlNode::TiXmlDocument" ref="a173617f6dfe902cf484ce5552b950475" args="" -->
+class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a173617f6dfe902cf484ce5552b950475">TiXmlDocument</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab6592e32cb9132be517cc12a70564c4b"></a><!-- doxytag: member="TiXmlNode::TiXmlElement" ref="ab6592e32cb9132be517cc12a70564c4b" args="" -->
+class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#ab6592e32cb9132be517cc12a70564c4b">TiXmlElement</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::istream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#ab57bd426563c926844f65a78412e18b9">operator&gt;&gt;</a> (std::istream &amp;in, <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;base)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An input stream operator, for every class. <a href="#ab57bd426563c926844f65a78412e18b9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt;</a> (std::ostream &amp;out, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;base)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An output stream operator, for every class. <a href="#a86cd49cfb17a844c0010b3136ac966c7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a52ef17e7080df2490cf87bde380685ab"></a><!-- doxytag: member="TiXmlNode::operator&lt;&lt;" ref="a52ef17e7080df2490cf87bde380685ab" args="(std::string &amp;out, const TiXmlNode &amp;base)" -->
+std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a52ef17e7080df2490cf87bde380685ab">operator&lt;&lt;</a> (std::string &amp;out, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;base)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends the XML node or attribute to a std::string. <br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The parent class for everything in the Document Object Model.
-<p>
-(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 <a class="el" href="classTiXmlNode.html">TiXmlNode</a> can be queried, and it can be cast to its more defined type.
-<p>
-<hr><h2>Member Enumeration Documentation</h2>
-<a class="anchor" name="836eded4920ab9e9ef28496f48cd95a2"></a><!-- doxytag: member="TiXmlNode::NodeType" ref="836eded4920ab9e9ef28496f48cd95a2" args="" -->
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The parent class for everything in the Document Object Model. </p>
+<p>(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 <a class="el" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a> can be queried, and it can be cast to its more defined type. </p>
+<hr/><h2>Member Enumeration Documentation</h2>
+<a class="anchor" id="a836eded4920ab9e9ef28496f48cd95a2"></a><!-- doxytag: member="TiXmlNode::NodeType" ref="a836eded4920ab9e9ef28496f48cd95a2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">enum <a class="el" href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">TiXmlNode::NodeType</a> </td>
+ <td class="memname">enum <a class="el" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2">TiXmlNode::NodeType</a></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-The types of XML nodes supported by TinyXml.
-<p>
-(All the unsupported types are picked up by UNKNOWN.)
+<p>The types of XML nodes supported by TinyXml. </p>
+<p>(All the unsupported types are picked up by UNKNOWN.) </p>
+
+</div>
</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="cc0f88b7462c6cb73809d410a4f5bb86"></a><!-- doxytag: member="TiXmlNode::Accept" ref="cc0f88b7462c6cb73809d410a4f5bb86" args="(TiXmlVisitor *visitor) const =0" -->
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="acc0f88b7462c6cb73809d410a4f5bb86"></a><!-- doxytag: member="TiXmlNode::Accept" ref="acc0f88b7462c6cb73809d410a4f5bb86" args="(TiXmlVisitor *visitor) const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">virtual bool TiXmlNode::Accept </td>
+ <td class="memname">virtual bool TiXmlNode::Accept </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> *&nbsp;</td>
- <td class="paramname"> <em>visitor</em> </td>
+ <td class="paramname"> <em>visitor</em></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [pure virtual]</code></td>
+ <td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Accept a hierchical visit the nodes in the TinyXML DOM.
-<p>
-Every node in the XML tree will be conditionally visited and the host will be called back via the <a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> interface.<p>
-This is essentially a SAX interface for TinyXML. (Note however it doesn't re-parse the XML for the callbacks, so the performance of TinyXML is unchanged by using this interface versus any other.)<p>
-The interface has been based on ideas from:<p>
+<p>Accept a hierchical visit the nodes in the TinyXML DOM. </p>
+<p>Every node in the XML tree will be conditionally visited and the host will be called back via the <a class="el" href="classTiXmlVisitor.html" title="Implements the interface to the &quot;Visitor pattern&quot; (see the Accept() method...">TiXmlVisitor</a> interface.</p>
+<p>This is essentially a SAX interface for TinyXML. (Note however it doesn't re-parse the XML for the callbacks, so the performance of TinyXML is unchanged by using this interface versus any other.)</p>
+<p>The interface has been based on ideas from:</p>
<ul>
-<li><a href="http://www.saxproject.org/">http://www.saxproject.org/</a></li><li><a href="http://c2.com/cgi/wiki?HierarchicalVisitorPattern">http://c2.com/cgi/wiki?HierarchicalVisitorPattern</a></li></ul>
-<p>
-Which are both good references for "visiting".<p>
-An example of using <a class="el" href="classTiXmlNode.html#cc0f88b7462c6cb73809d410a4f5bb86">Accept()</a>: <div class="fragment"><pre class="fragment"> TiXmlPrinter printer;
+<li><a href="http://www.saxproject.org/">http://www.saxproject.org/</a></li>
+<li><a href="http://c2.com/cgi/wiki?HierarchicalVisitorPattern">http://c2.com/cgi/wiki?HierarchicalVisitorPattern</a></li>
+</ul>
+<p>Which are both good references for "visiting".</p>
+<p>An example of using <a class="el" href="classTiXmlNode.html#acc0f88b7462c6cb73809d410a4f5bb86" title="Accept a hierchical visit the nodes in the TinyXML DOM.">Accept()</a>: </p>
+<div class="fragment"><pre class="fragment">
+ TiXmlPrinter printer;
tinyxmlDoc.Accept( &amp;printer );
const char* xmlcstr = printer.CStr();
</pre></div>
-<p>
-Implemented in <a class="el" href="classTiXmlElement.html#71a81b2afb0d42be1543d1c404dee6f5">TiXmlElement</a>, <a class="el" href="classTiXmlComment.html#f3ac1b99fbbe9ea4fb6e14146156e43e">TiXmlComment</a>, <a class="el" href="classTiXmlText.html#8483d4415ce9de6c4fa8f63d067d5de6">TiXmlText</a>, <a class="el" href="classTiXmlDeclaration.html#22315a535983b86535cdba3458669e3e">TiXmlDeclaration</a>, <a class="el" href="classTiXmlUnknown.html#d7122e5135581b3c832a1a3217760a93">TiXmlUnknown</a>, and <a class="el" href="classTiXmlDocument.html#a545aae325d9752ad64120bc4ecf939a">TiXmlDocument</a>.
+<p>Implemented in <a class="el" href="classTiXmlElement.html#a71a81b2afb0d42be1543d1c404dee6f5">TiXmlElement</a>, <a class="el" href="classTiXmlComment.html#af3ac1b99fbbe9ea4fb6e14146156e43e">TiXmlComment</a>, <a class="el" href="classTiXmlText.html#a8483d4415ce9de6c4fa8f63d067d5de6">TiXmlText</a>, <a class="el" href="classTiXmlDeclaration.html#a22315a535983b86535cdba3458669e3e">TiXmlDeclaration</a>, <a class="el" href="classTiXmlUnknown.html#ad7122e5135581b3c832a1a3217760a93">TiXmlUnknown</a>, and <a class="el" href="classTiXmlDocument.html#aa545aae325d9752ad64120bc4ecf939a">TiXmlDocument</a>.</p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="4508cc3a2d7a98e96a54cc09c37a78a4"></a><!-- doxytag: member="TiXmlNode::Clone" ref="4508cc3a2d7a98e96a54cc09c37a78a4" args="() const =0" -->
+<a class="anchor" id="a4508cc3a2d7a98e96a54cc09c37a78a4"></a><!-- doxytag: member="TiXmlNode::Clone" ref="a4508cc3a2d7a98e96a54cc09c37a78a4" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::Clone </td>
+ <td class="memname">virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::Clone </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [pure virtual]</code></td>
+ <td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Create an exact duplicate of this node and return it.
-<p>
-The memory must be deleted by the caller.
-<p>
-Implemented in <a class="el" href="classTiXmlElement.html#a464535ea1994db337cb6a8ce4b588b5">TiXmlElement</a>, <a class="el" href="classTiXmlComment.html#0d6662bdc52488b9e12b3c7a0453d028">TiXmlComment</a>, <a class="el" href="classTiXmlText.html#0c411e93a27537369479d034cc82da3b">TiXmlText</a>, <a class="el" href="classTiXmlDeclaration.html#7cf459186040141cda7a180a6585ce2e">TiXmlDeclaration</a>, <a class="el" href="classTiXmlUnknown.html#0960bb7428b3f341da46244229604d73">TiXmlUnknown</a>, and <a class="el" href="classTiXmlDocument.html#4968661cab4a1f44a23329c6f8db1907">TiXmlDocument</a>.
+<p>Create an exact duplicate of this node and return it. </p>
+<p>The memory must be deleted by the caller. </p>
+
+<p>Implemented in <a class="el" href="classTiXmlElement.html#aa464535ea1994db337cb6a8ce4b588b5">TiXmlElement</a>, <a class="el" href="classTiXmlComment.html#a0d6662bdc52488b9e12b3c7a0453d028">TiXmlComment</a>, <a class="el" href="classTiXmlText.html#a0c411e93a27537369479d034cc82da3b">TiXmlText</a>, <a class="el" href="classTiXmlDeclaration.html#a7cf459186040141cda7a180a6585ce2e">TiXmlDeclaration</a>, <a class="el" href="classTiXmlUnknown.html#a0960bb7428b3f341da46244229604d73">TiXmlUnknown</a>, and <a class="el" href="classTiXmlDocument.html#a4968661cab4a1f44a23329c6f8db1907">TiXmlDocument</a>.</p>
+
</div>
-</div><p>
-<a class="anchor" name="1f05828d023150706eeb16d6fb3f6355"></a><!-- doxytag: member="TiXmlNode::FirstChild" ref="1f05828d023150706eeb16d6fb3f6355" args="(const char *value) const " -->
+</div>
+<a class="anchor" id="a1f05828d023150706eeb16d6fb3f6355"></a><!-- doxytag: member="TiXmlNode::FirstChild" ref="a1f05828d023150706eeb16d6fb3f6355" args="(const char *value) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const <a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::FirstChild </td>
+ <td class="memname">const <a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::FirstChild </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>value</em> </td>
+ <td class="paramname"> <em>value</em></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const</td>
+ <td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-The first child of this node with the matching 'value'.
-<p>
-Will be null if none found.
+<p>The first child of this node with the matching 'value'. </p>
+<p>Will be null if none found. </p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="80e397fa973cf5323e33b07154b024f3"></a><!-- doxytag: member="TiXmlNode::GetDocument" ref="80e397fa973cf5323e33b07154b024f3" args="() const " -->
+<a class="anchor" id="a80e397fa973cf5323e33b07154b024f3"></a><!-- doxytag: member="TiXmlNode::GetDocument" ref="a80e397fa973cf5323e33b07154b024f3" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a>* TiXmlNode::GetDocument </td>
+ <td class="memname">const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a>* TiXmlNode::GetDocument </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const</td>
+ <td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Return a pointer to the Document this node lives in.
-<p>
-Returns null if not in a document.
+<p>Return a pointer to the Document this node lives in. </p>
+<p>Returns null if not in a document. </p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="d9b75e54ec19301c8b4d5ff583d0b3d5"></a><!-- doxytag: member="TiXmlNode::InsertAfterChild" ref="d9b75e54ec19301c8b4d5ff583d0b3d5" args="(TiXmlNode *afterThis, const TiXmlNode &amp;addThis)" -->
+<a class="anchor" id="ad9b75e54ec19301c8b4d5ff583d0b3d5"></a><!-- doxytag: member="TiXmlNode::InsertAfterChild" ref="ad9b75e54ec19301c8b4d5ff583d0b3d5" args="(TiXmlNode *afterThis, const TiXmlNode &amp;addThis)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::InsertAfterChild </td>
+ <td class="memname"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::InsertAfterChild </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td>
<td class="paramname"> <em>afterThis</em>, </td>
@@ -418,24 +364,23 @@ Returns null if not in a document.
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"></td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Add a new node related to this.
-<p>
-Adds a child after the specified child. Returns a pointer to the new object or NULL if an error occured.
+<p>Add a new node related to this. </p>
+<p>Adds a child after the specified child. Returns a pointer to the new object or NULL if an error occured. </p>
+
</div>
-</div><p>
-<a class="anchor" name="0c146fa2fff0157b681594102f48cbc7"></a><!-- doxytag: member="TiXmlNode::InsertBeforeChild" ref="0c146fa2fff0157b681594102f48cbc7" args="(TiXmlNode *beforeThis, const TiXmlNode &amp;addThis)" -->
+</div>
+<a class="anchor" id="a0c146fa2fff0157b681594102f48cbc7"></a><!-- doxytag: member="TiXmlNode::InsertBeforeChild" ref="a0c146fa2fff0157b681594102f48cbc7" args="(TiXmlNode *beforeThis, const TiXmlNode &amp;addThis)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::InsertBeforeChild </td>
+ <td class="memname"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::InsertBeforeChild </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td>
<td class="paramname"> <em>beforeThis</em>, </td>
@@ -449,141 +394,136 @@ Adds a child after the specified child. Returns a pointer to the new object or N
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"></td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Add a new node related to this.
-<p>
-Adds a child before the specified child. Returns a pointer to the new object or NULL if an error occured.
+<p>Add a new node related to this. </p>
+<p>Adds a child before the specified child. Returns a pointer to the new object or NULL if an error occured. </p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="d7d4630e1a2a916edda16be22448a8ba"></a><!-- doxytag: member="TiXmlNode::InsertEndChild" ref="d7d4630e1a2a916edda16be22448a8ba" args="(const TiXmlNode &amp;addThis)" -->
+<a class="anchor" id="ad7d4630e1a2a916edda16be22448a8ba"></a><!-- doxytag: member="TiXmlNode::InsertEndChild" ref="ad7d4630e1a2a916edda16be22448a8ba" args="(const TiXmlNode &amp;addThis)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::InsertEndChild </td>
+ <td class="memname"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::InsertEndChild </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>addThis</em> </td>
+ <td class="paramname"> <em>addThis</em></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
+ <td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Add a new node related to this.
-<p>
-Adds a child past the LastChild. Returns a pointer to the new object or NULL if an error occured.
+<p>Add a new node related to this. </p>
+<p>Adds a child past the LastChild. Returns a pointer to the new object or NULL if an error occured. </p>
+
</div>
-</div><p>
-<a class="anchor" name="8621196ba3705fa226bef4a761cc51b6"></a><!-- doxytag: member="TiXmlNode::IterateChildren" ref="8621196ba3705fa226bef4a761cc51b6" args="(const TiXmlNode *previous) const " -->
+</div>
+<a class="anchor" id="a8621196ba3705fa226bef4a761cc51b6"></a><!-- doxytag: member="TiXmlNode::IterateChildren" ref="a8621196ba3705fa226bef4a761cc51b6" args="(const TiXmlNode *previous) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const <a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::IterateChildren </td>
+ <td class="memname">const <a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::IterateChildren </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td>
- <td class="paramname"> <em>previous</em> </td>
+ <td class="paramname"> <em>previous</em></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const</td>
+ <td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-An alternate way to walk the children of a node.
-<p>
-One way to iterate over nodes is: <div class="fragment"><pre class="fragment"> for( child = parent-&gt;FirstChild(); child; child = child-&gt;NextSibling() )
- </pre></div><p>
-IterateChildren does the same thing with the syntax: <div class="fragment"><pre class="fragment"> child = 0;
+<p>An alternate way to walk the children of a node. </p>
+<p>One way to iterate over nodes is: </p>
+<div class="fragment"><pre class="fragment">
+ for( child = parent-&gt;FirstChild(); child; child = child-&gt;NextSibling() )
+ </pre></div><p>IterateChildren does the same thing with the syntax: </p>
+<div class="fragment"><pre class="fragment">
+ child = 0;
while( child = parent-&gt;IterateChildren( child ) )
- </pre></div><p>
-IterateChildren takes the previous child as input and finds the next one. If the previous child is null, it returns the first. IterateChildren will return null when done.
+ </pre></div><p>IterateChildren takes the previous child as input and finds the next one. If the previous child is null, it returns the first. IterateChildren will return null when done. </p>
+
</div>
-</div><p>
-<a class="anchor" name="5d29442ae46de6d0168429156197bfc6"></a><!-- doxytag: member="TiXmlNode::LinkEndChild" ref="5d29442ae46de6d0168429156197bfc6" args="(TiXmlNode *addThis)" -->
+</div>
+<a class="anchor" id="a5d29442ae46de6d0168429156197bfc6"></a><!-- doxytag: member="TiXmlNode::LinkEndChild" ref="a5d29442ae46de6d0168429156197bfc6" args="(TiXmlNode *addThis)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::LinkEndChild </td>
+ <td class="memname"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::LinkEndChild </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td>
- <td class="paramname"> <em>addThis</em> </td>
+ <td class="paramname"> <em>addThis</em></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
+ <td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Add a new node related to this.
-<p>
-Adds a child past the LastChild.<p>
-NOTE: the node to be added is passed by pointer, and will be henceforth owned (and deleted) by tinyXml. 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.<p>
-<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classTiXmlNode.html#d7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a> </dd></dl>
+<p>Add a new node related to this. </p>
+<p>Adds a child past the LastChild.</p>
+<p>NOTE: the node to be added is passed by pointer, and will be henceforth owned (and deleted) by tinyXml. 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.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classTiXmlNode.html#ad7d4630e1a2a916edda16be22448a8ba" title="Add a new node related to this.">InsertEndChild</a> </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="071ba77fd7ab79402fa84b7e9b8607b3"></a><!-- doxytag: member="TiXmlNode::NextSiblingElement" ref="071ba77fd7ab79402fa84b7e9b8607b3" args="(const char *) const " -->
+</div>
+<a class="anchor" id="a071ba77fd7ab79402fa84b7e9b8607b3"></a><!-- doxytag: member="TiXmlNode::NextSiblingElement" ref="a071ba77fd7ab79402fa84b7e9b8607b3" args="(const char *) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const <a class="el" href="classTiXmlElement.html">TiXmlElement</a>* TiXmlNode::NextSiblingElement </td>
+ <td class="memname">const <a class="el" href="classTiXmlElement.html">TiXmlElement</a>* TiXmlNode::NextSiblingElement </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const</td>
+ <td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Convenience function to get through elements.
-<p>
-Calls NextSibling and ToElement. Will skip all non-Element nodes. Returns 0 if there is not another element.
+<p>Convenience function to get through elements. </p>
+<p>Calls NextSibling and ToElement. Will skip all non-Element nodes. Returns 0 if there is not another element. </p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="73acf929d49d10bd0e5fb3d31b0372d1"></a><!-- doxytag: member="TiXmlNode::NextSiblingElement" ref="73acf929d49d10bd0e5fb3d31b0372d1" args="() const " -->
+<a class="anchor" id="a73acf929d49d10bd0e5fb3d31b0372d1"></a><!-- doxytag: member="TiXmlNode::NextSiblingElement" ref="a73acf929d49d10bd0e5fb3d31b0372d1" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const <a class="el" href="classTiXmlElement.html">TiXmlElement</a>* TiXmlNode::NextSiblingElement </td>
+ <td class="memname">const <a class="el" href="classTiXmlElement.html">TiXmlElement</a>* TiXmlNode::NextSiblingElement </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const</td>
+ <td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Convenience function to get through elements.
-<p>
-Calls NextSibling and ToElement. Will skip all non-Element nodes. Returns 0 if there is not another element.
+<p>Convenience function to get through elements. </p>
+<p>Calls NextSibling and ToElement. Will skip all non-Element nodes. Returns 0 if there is not another element. </p>
+
</div>
-</div><p>
-<a class="anchor" name="0c49e739a17b9938050c22cd89617fbd"></a><!-- doxytag: member="TiXmlNode::ReplaceChild" ref="0c49e739a17b9938050c22cd89617fbd" args="(TiXmlNode *replaceThis, const TiXmlNode &amp;withThis)" -->
+</div>
+<a class="anchor" id="a0c49e739a17b9938050c22cd89617fbd"></a><!-- doxytag: member="TiXmlNode::ReplaceChild" ref="a0c49e739a17b9938050c22cd89617fbd" args="(TiXmlNode *replaceThis, const TiXmlNode &amp;withThis)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::ReplaceChild </td>
+ <td class="memname"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::ReplaceChild </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td>
<td class="paramname"> <em>replaceThis</em>, </td>
@@ -597,121 +537,119 @@ Calls NextSibling and ToElement. Will skip all non-Element nodes. Returns 0 if t
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"></td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Replace a child of this node.
-<p>
-Returns a pointer to the new object or NULL if an error occured.
+<p>Replace a child of this node. </p>
+<p>Returns a pointer to the new object or NULL if an error occured. </p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="2a38329ca5d3f28f98ce932b8299ae90"></a><!-- doxytag: member="TiXmlNode::SetValue" ref="2a38329ca5d3f28f98ce932b8299ae90" args="(const char *_value)" -->
+<a class="anchor" id="a2a38329ca5d3f28f98ce932b8299ae90"></a><!-- doxytag: member="TiXmlNode::SetValue" ref="a2a38329ca5d3f28f98ce932b8299ae90" args="(const char *_value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void TiXmlNode::SetValue </td>
+ <td class="memname">void TiXmlNode::SetValue </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>_value</em> </td>
+ <td class="paramname"> <em>_value</em></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"><code> [inline]</code></td>
+ <td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Changes the value of the node.
-<p>
-Defined as: <div class="fragment"><pre class="fragment"> Document: filename of the xml file
+<p>Changes the value of the node. </p>
+<p>Defined as: </p>
+<div class="fragment"><pre class="fragment">
+ Document: filename of the xml file
Element: name of the element
Comment: the comment text
Unknown: the tag contents
Text: the text string
</pre></div>
+<p>Referenced by <a class="el" href="tinyxml_8h_source.html#l01161">TiXmlComment::TiXmlComment()</a>, and <a class="el" href="tinyxml_8h_source.html#l01213">TiXmlText::TiXmlText()</a>.</p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="57b99d5c97d67a42b9752f5210a1ba5e"></a><!-- doxytag: member="TiXmlNode::Type" ref="57b99d5c97d67a42b9752f5210a1ba5e" args="() const " -->
+<a class="anchor" id="a57b99d5c97d67a42b9752f5210a1ba5e"></a><!-- doxytag: member="TiXmlNode::Type" ref="a57b99d5c97d67a42b9752f5210a1ba5e" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int TiXmlNode::Type </td>
+ <td class="memname">int TiXmlNode::Type </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [inline]</code></td>
+ <td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Query the type (as an enumerated value, above) of this node.
-<p>
-The possible types are: DOCUMENT, ELEMENT, COMMENT, UNKNOWN, TEXT, and DECLARATION.
+<p>Query the type (as an enumerated value, above) of this node. </p>
+<p>The possible types are: DOCUMENT, ELEMENT, COMMENT, UNKNOWN, TEXT, and DECLARATION. </p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="77943eb90d12c2892b1337a9f5918b41"></a><!-- doxytag: member="TiXmlNode::Value" ref="77943eb90d12c2892b1337a9f5918b41" args="() const " -->
+<a class="anchor" id="a77943eb90d12c2892b1337a9f5918b41"></a><!-- doxytag: member="TiXmlNode::Value" ref="a77943eb90d12c2892b1337a9f5918b41" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const char* TiXmlNode::Value </td>
+ <td class="memname">const char* TiXmlNode::Value </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [inline]</code></td>
+ <td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-The meaning of 'value' changes for the specific type of <a class="el" href="classTiXmlNode.html">TiXmlNode</a>.
-<p>
-<div class="fragment"><pre class="fragment"> Document: filename of the xml file
+<p>The meaning of 'value' changes for the specific type of <a class="el" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>. </p>
+<div class="fragment"><pre class="fragment">
+ Document: filename of the xml file
Element: name of the element
Comment: the comment text
Unknown: the tag contents
Text: the text string
- </pre></div><p>
-The subclasses will wrap this function.
+ </pre></div><p>The subclasses will wrap this function. </p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="6d9e505619d39bf50bfd9609c9169ea5"></a><!-- doxytag: member="TiXmlNode::ValueStr" ref="6d9e505619d39bf50bfd9609c9169ea5" args="() const " -->
+<a class="anchor" id="a6d9e505619d39bf50bfd9609c9169ea5"></a><!-- doxytag: member="TiXmlNode::ValueStr" ref="a6d9e505619d39bf50bfd9609c9169ea5" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const std::string&amp; TiXmlNode::ValueStr </td>
+ <td class="memname">const std::string&amp; TiXmlNode::ValueStr </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const<code> [inline]</code></td>
+ <td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Return <a class="el" href="classTiXmlNode.html#77943eb90d12c2892b1337a9f5918b41">Value()</a> as a std::string.
-<p>
-If you only use STL, this is more efficient than calling <a class="el" href="classTiXmlNode.html#77943eb90d12c2892b1337a9f5918b41">Value()</a>. Only available in STL mode.
+<p>Return <a class="el" href="classTiXmlNode.html#a77943eb90d12c2892b1337a9f5918b41" title="The meaning of &#39;value&#39; changes for the specific type of TiXmlNode.">Value()</a> as a std::string. </p>
+<p>If you only use STL, this is more efficient than calling <a class="el" href="classTiXmlNode.html#a77943eb90d12c2892b1337a9f5918b41" title="The meaning of &#39;value&#39; changes for the specific type of TiXmlNode.">Value()</a>. Only available in STL mode. </p>
+
</div>
-</div><p>
-<hr><h2>Friends And Related Function Documentation</h2>
-<a class="anchor" name="86cd49cfb17a844c0010b3136ac966c7"></a><!-- doxytag: member="TiXmlNode::operator&lt;&lt;" ref="86cd49cfb17a844c0010b3136ac966c7" args="(std::ostream &amp;out, const TiXmlNode &amp;base)" -->
+</div>
+<hr/><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="a86cd49cfb17a844c0010b3136ac966c7"></a><!-- doxytag: member="TiXmlNode::operator&lt;&lt;" ref="a86cd49cfb17a844c0010b3136ac966c7" args="(std::ostream &amp;out, const TiXmlNode &amp;base)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">std::ostream&amp; operator&lt;&lt; </td>
+ <td class="memname">std::ostream&amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&nbsp;</td>
<td class="paramname"> <em>out</em>, </td>
@@ -725,27 +663,26 @@ If you only use STL, this is more efficient than calling <a class="el" href="cla
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"><code> [friend]</code></td>
+ <td></td><td></td><td><code> [friend]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-An output stream operator, for every class.
-<p>
-Note that this outputs without any newlines or formatting, as opposed to <a class="el" href="classTiXmlBase.html#0de56b3f2ef14c65091a3b916437b512">Print()</a>, which includes tabs and new lines.<p>
-The operator&lt;&lt; and operator&gt;&gt; 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.<p>
-But reading is not as well defined. (As it always is.) If you create a <a class="el" href="classTiXmlElement.html">TiXmlElement</a> (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.<p>
-A <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> will read nodes until it reads a root element, and all the children of that root element.
+<p>An output stream operator, for every class. </p>
+<p>Note that this outputs without any newlines or formatting, as opposed to <a class="el" href="classTiXmlBase.html#a0de56b3f2ef14c65091a3b916437b512" title="All TinyXml classes can print themselves to a filestream or the string class (TiXmlString...">Print()</a>, which includes tabs and new lines.</p>
+<p>The operator&lt;&lt; and operator&gt;&gt; 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.</p>
+<p>But reading is not as well defined. (As it always is.) If you create a <a class="el" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a> (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.</p>
+<p>A <a class="el" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a> will read nodes until it reads a root element, and all the children of that root element. </p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="b57bd426563c926844f65a78412e18b9"></a><!-- doxytag: member="TiXmlNode::operator&gt;&gt;" ref="b57bd426563c926844f65a78412e18b9" args="(std::istream &amp;in, TiXmlNode &amp;base)" -->
+<a class="anchor" id="ab57bd426563c926844f65a78412e18b9"></a><!-- doxytag: member="TiXmlNode::operator&gt;&gt;" ref="ab57bd426563c926844f65a78412e18b9" args="(std::istream &amp;in, TiXmlNode &amp;base)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">std::istream&amp; operator&gt;&gt; </td>
+ <td class="memname">std::istream&amp; operator&gt;&gt; </td>
<td>(</td>
<td class="paramtype">std::istream &amp;&nbsp;</td>
<td class="paramname"> <em>in</em>, </td>
@@ -759,22 +696,23 @@ A <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> will read nodes
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"><code> [friend]</code></td>
+ <td></td><td></td><td><code> [friend]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-An input stream operator, for every class.
-<p>
-Tolerant of newlines and formatting, but doesn't expect them.
+<p>An input stream operator, for every class. </p>
+<p>Tolerant of newlines and formatting, but doesn't expect them. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tinyxml_8h_source.html">tinyxml.h</a></li>
+</ul>
</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="tinyxml_8h-source.html">tinyxml.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlNode.png b/shared/tinyxml/docs/classTiXmlNode.png
index 6a663cf6..77ef876b 100644
--- a/shared/tinyxml/docs/classTiXmlNode.png
+++ b/shared/tinyxml/docs/classTiXmlNode.png
Binary files differ
diff --git a/shared/tinyxml/docs/classTiXmlPrinter-members.html b/shared/tinyxml/docs/classTiXmlPrinter-members.html
index bd011fe3..b1e6f75d 100644
--- a/shared/tinyxml/docs/classTiXmlPrinter-members.html
+++ b/shared/tinyxml/docs/classTiXmlPrinter-members.html
@@ -1,42 +1,51 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlPrinter Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#859eede9597d3e0355b77757be48735e">CStr</a>()</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#bb33ec7d4bad6aaeb57f4304394b133d">Indent</a>()</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#11f1b4804a460b175ec244eb5724d96d">LineBreak</a>()</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#213377a4070c7e625bae59716b089e5e">SetIndent</a>(const char *_indent)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#4be1e37e69e3858c59635aa947174fe6">SetLineBreak</a>(const char *_lineBreak)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#b23a90629e374cb1cadca090468bbd19">SetStreamPrinting</a>()</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#d01375ae9199bd2f48252eaddce3039d">Size</a>()</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#3bd4daf44309b41f5813a833caa0d1c9">Str</a>()</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#ce1b14d33eede2575c0743e2350f6a38">Visit</a>(const TiXmlDeclaration &amp;declaration)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#711e7d65d4af9ec70977568d2451fb1c">Visit</a>(const TiXmlText &amp;text)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#83c13d6b980064b30f989f9a35498979">Visit</a>(const TiXmlComment &amp;comment)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#d2dca6dd106e8982fd3c7db1f3330970">Visit</a>(const TiXmlUnknown &amp;unknown)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#799f4f0388570cbb54c0d3c345fef7c1">VisitEnter</a>(const TiXmlDocument &amp;doc)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#0c5e7bf8622838417a0d0bfb8f433854">VisitEnter</a>(const TiXmlElement &amp;element, const TiXmlAttribute *firstAttribute)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#66b33edd76c538b462f789b797a4fdf2">VisitExit</a>(const TiXmlDocument &amp;doc)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#1853cf2f6e63ad4b4232b4835e0acaf0">VisitExit</a>(const TiXmlElement &amp;element)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlPrinter Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#a859eede9597d3e0355b77757be48735e">CStr</a>()</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#abb33ec7d4bad6aaeb57f4304394b133d">Indent</a>()</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#a11f1b4804a460b175ec244eb5724d96d">LineBreak</a>()</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#a213377a4070c7e625bae59716b089e5e">SetIndent</a>(const char *_indent)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#a4be1e37e69e3858c59635aa947174fe6">SetLineBreak</a>(const char *_lineBreak)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#ab23a90629e374cb1cadca090468bbd19">SetStreamPrinting</a>()</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#ad01375ae9199bd2f48252eaddce3039d">Size</a>()</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#a3bd4daf44309b41f5813a833caa0d1c9">Str</a>()</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#ace1b14d33eede2575c0743e2350f6a38">Visit</a>(const TiXmlDeclaration &amp;declaration)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#a711e7d65d4af9ec70977568d2451fb1c">Visit</a>(const TiXmlText &amp;text)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#a83c13d6b980064b30f989f9a35498979">Visit</a>(const TiXmlComment &amp;comment)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#ad2dca6dd106e8982fd3c7db1f3330970">Visit</a>(const TiXmlUnknown &amp;unknown)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#a799f4f0388570cbb54c0d3c345fef7c1">VisitEnter</a>(const TiXmlDocument &amp;doc)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#a0c5e7bf8622838417a0d0bfb8f433854">VisitEnter</a>(const TiXmlElement &amp;element, const TiXmlAttribute *firstAttribute)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#a66b33edd76c538b462f789b797a4fdf2">VisitExit</a>(const TiXmlDocument &amp;doc)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlPrinter.html#a1853cf2f6e63ad4b4232b4835e0acaf0">VisitExit</a>(const TiXmlElement &amp;element)</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></td><td><code> [virtual]</code></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlPrinter.html b/shared/tinyxml/docs/classTiXmlPrinter.html
index c33fdfb3..bfbf4187 100644
--- a/shared/tinyxml/docs/classTiXmlPrinter.html
+++ b/shared/tinyxml/docs/classTiXmlPrinter.html
@@ -1,184 +1,181 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: TiXmlPrinter Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlPrinter Class Reference</h1><!-- doxytag: class="TiXmlPrinter" --><!-- doxytag: inherits="TiXmlVisitor" -->Print to memory functionality.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="tinyxml_8h-source.html">tinyxml.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for TiXmlPrinter:
-<p><center><img src="classTiXmlPrinter.png" usemap="#TiXmlPrinter_map" border="0" alt=""></center>
-<map name="TiXmlPrinter_map">
-<area href="classTiXmlVisitor.html" alt="TiXmlVisitor" shape="rect" coords="0,0,81,24">
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlPrinter Class Reference</h1><!-- doxytag: class="TiXmlPrinter" --><!-- doxytag: inherits="TiXmlVisitor" -->
+<p>Print to memory functionality.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="tinyxml_8h_source.html">tinyxml.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for TiXmlPrinter:</div>
+<div class="dynsection">
+ <div class="center">
+ <img src="classTiXmlPrinter.png" usemap="#TiXmlPrinter_map" alt=""/>
+ <map id="TiXmlPrinter_map" name="TiXmlPrinter_map">
+<area href="classTiXmlVisitor.html" alt="TiXmlVisitor" shape="rect" coords="0,0,81,24"/>
</map>
-<a href="classTiXmlPrinter-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="799f4f0388570cbb54c0d3c345fef7c1"></a><!-- doxytag: member="TiXmlPrinter::VisitEnter" ref="799f4f0388570cbb54c0d3c345fef7c1" args="(const TiXmlDocument &amp;doc)" -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#799f4f0388570cbb54c0d3c345fef7c1">VisitEnter</a> (const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> &amp;doc)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a document. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="66b33edd76c538b462f789b797a4fdf2"></a><!-- doxytag: member="TiXmlPrinter::VisitExit" ref="66b33edd76c538b462f789b797a4fdf2" args="(const TiXmlDocument &amp;doc)" -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#66b33edd76c538b462f789b797a4fdf2">VisitExit</a> (const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> &amp;doc)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a document. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0c5e7bf8622838417a0d0bfb8f433854"></a><!-- doxytag: member="TiXmlPrinter::VisitEnter" ref="0c5e7bf8622838417a0d0bfb8f433854" args="(const TiXmlElement &amp;element, const TiXmlAttribute *firstAttribute)" -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#0c5e7bf8622838417a0d0bfb8f433854">VisitEnter</a> (const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> &amp;element, const <a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a> *firstAttribute)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit an element. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1853cf2f6e63ad4b4232b4835e0acaf0"></a><!-- doxytag: member="TiXmlPrinter::VisitExit" ref="1853cf2f6e63ad4b4232b4835e0acaf0" args="(const TiXmlElement &amp;element)" -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#1853cf2f6e63ad4b4232b4835e0acaf0">VisitExit</a> (const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> &amp;element)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit an element. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ce1b14d33eede2575c0743e2350f6a38"></a><!-- doxytag: member="TiXmlPrinter::Visit" ref="ce1b14d33eede2575c0743e2350f6a38" args="(const TiXmlDeclaration &amp;declaration)" -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#ce1b14d33eede2575c0743e2350f6a38">Visit</a> (const <a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a> &amp;declaration)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a declaration. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="711e7d65d4af9ec70977568d2451fb1c"></a><!-- doxytag: member="TiXmlPrinter::Visit" ref="711e7d65d4af9ec70977568d2451fb1c" args="(const TiXmlText &amp;text)" -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#711e7d65d4af9ec70977568d2451fb1c">Visit</a> (const <a class="el" href="classTiXmlText.html">TiXmlText</a> &amp;text)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a text node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="83c13d6b980064b30f989f9a35498979"></a><!-- doxytag: member="TiXmlPrinter::Visit" ref="83c13d6b980064b30f989f9a35498979" args="(const TiXmlComment &amp;comment)" -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#83c13d6b980064b30f989f9a35498979">Visit</a> (const <a class="el" href="classTiXmlComment.html">TiXmlComment</a> &amp;comment)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a comment node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d2dca6dd106e8982fd3c7db1f3330970"></a><!-- doxytag: member="TiXmlPrinter::Visit" ref="d2dca6dd106e8982fd3c7db1f3330970" args="(const TiXmlUnknown &amp;unknown)" -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#d2dca6dd106e8982fd3c7db1f3330970">Visit</a> (const <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> &amp;unknown)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit an unknow node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#213377a4070c7e625bae59716b089e5e">SetIndent</a> (const char *_indent)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the indent characters for printing. <a href="#213377a4070c7e625bae59716b089e5e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bb33ec7d4bad6aaeb57f4304394b133d"></a><!-- doxytag: member="TiXmlPrinter::Indent" ref="bb33ec7d4bad6aaeb57f4304394b133d" args="()" -->
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#bb33ec7d4bad6aaeb57f4304394b133d">Indent</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the indention string. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#4be1e37e69e3858c59635aa947174fe6">SetLineBreak</a> (const char *_lineBreak)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the line breaking string. <a href="#4be1e37e69e3858c59635aa947174fe6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="11f1b4804a460b175ec244eb5724d96d"></a><!-- doxytag: member="TiXmlPrinter::LineBreak" ref="11f1b4804a460b175ec244eb5724d96d" args="()" -->
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#11f1b4804a460b175ec244eb5724d96d">LineBreak</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the current line breaking string. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#b23a90629e374cb1cadca090468bbd19">SetStreamPrinting</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Switch over to "stream printing" which is the most dense formatting without linebreaks. <a href="#b23a90629e374cb1cadca090468bbd19"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="859eede9597d3e0355b77757be48735e"></a><!-- doxytag: member="TiXmlPrinter::CStr" ref="859eede9597d3e0355b77757be48735e" args="()" -->
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#859eede9597d3e0355b77757be48735e">CStr</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the result. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d01375ae9199bd2f48252eaddce3039d"></a><!-- doxytag: member="TiXmlPrinter::Size" ref="d01375ae9199bd2f48252eaddce3039d" args="()" -->
-size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#d01375ae9199bd2f48252eaddce3039d">Size</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the length of the result string. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3bd4daf44309b41f5813a833caa0d1c9"></a><!-- doxytag: member="TiXmlPrinter::Str" ref="3bd4daf44309b41f5813a833caa0d1c9" args="()" -->
-const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#3bd4daf44309b41f5813a833caa0d1c9">Str</a> ()</td></tr>
+ </div>
+</div>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the result. <br></td></tr>
+<p><a href="classTiXmlPrinter-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a799f4f0388570cbb54c0d3c345fef7c1"></a><!-- doxytag: member="TiXmlPrinter::VisitEnter" ref="a799f4f0388570cbb54c0d3c345fef7c1" args="(const TiXmlDocument &amp;doc)" -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#a799f4f0388570cbb54c0d3c345fef7c1">VisitEnter</a> (const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> &amp;doc)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a document. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66b33edd76c538b462f789b797a4fdf2"></a><!-- doxytag: member="TiXmlPrinter::VisitExit" ref="a66b33edd76c538b462f789b797a4fdf2" args="(const TiXmlDocument &amp;doc)" -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#a66b33edd76c538b462f789b797a4fdf2">VisitExit</a> (const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> &amp;doc)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a document. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c5e7bf8622838417a0d0bfb8f433854"></a><!-- doxytag: member="TiXmlPrinter::VisitEnter" ref="a0c5e7bf8622838417a0d0bfb8f433854" args="(const TiXmlElement &amp;element, const TiXmlAttribute *firstAttribute)" -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#a0c5e7bf8622838417a0d0bfb8f433854">VisitEnter</a> (const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> &amp;element, const <a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a> *firstAttribute)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit an element. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1853cf2f6e63ad4b4232b4835e0acaf0"></a><!-- doxytag: member="TiXmlPrinter::VisitExit" ref="a1853cf2f6e63ad4b4232b4835e0acaf0" args="(const TiXmlElement &amp;element)" -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#a1853cf2f6e63ad4b4232b4835e0acaf0">VisitExit</a> (const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> &amp;element)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit an element. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace1b14d33eede2575c0743e2350f6a38"></a><!-- doxytag: member="TiXmlPrinter::Visit" ref="ace1b14d33eede2575c0743e2350f6a38" args="(const TiXmlDeclaration &amp;declaration)" -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#ace1b14d33eede2575c0743e2350f6a38">Visit</a> (const <a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a> &amp;declaration)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a declaration. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a711e7d65d4af9ec70977568d2451fb1c"></a><!-- doxytag: member="TiXmlPrinter::Visit" ref="a711e7d65d4af9ec70977568d2451fb1c" args="(const TiXmlText &amp;text)" -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#a711e7d65d4af9ec70977568d2451fb1c">Visit</a> (const <a class="el" href="classTiXmlText.html">TiXmlText</a> &amp;text)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a text node. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83c13d6b980064b30f989f9a35498979"></a><!-- doxytag: member="TiXmlPrinter::Visit" ref="a83c13d6b980064b30f989f9a35498979" args="(const TiXmlComment &amp;comment)" -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#a83c13d6b980064b30f989f9a35498979">Visit</a> (const <a class="el" href="classTiXmlComment.html">TiXmlComment</a> &amp;comment)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a comment node. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad2dca6dd106e8982fd3c7db1f3330970"></a><!-- doxytag: member="TiXmlPrinter::Visit" ref="ad2dca6dd106e8982fd3c7db1f3330970" args="(const TiXmlUnknown &amp;unknown)" -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#ad2dca6dd106e8982fd3c7db1f3330970">Visit</a> (const <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> &amp;unknown)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit an unknow node. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#a213377a4070c7e625bae59716b089e5e">SetIndent</a> (const char *_indent)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the indent characters for printing. <a href="#a213377a4070c7e625bae59716b089e5e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb33ec7d4bad6aaeb57f4304394b133d"></a><!-- doxytag: member="TiXmlPrinter::Indent" ref="abb33ec7d4bad6aaeb57f4304394b133d" args="()" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#abb33ec7d4bad6aaeb57f4304394b133d">Indent</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the indention string. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#a4be1e37e69e3858c59635aa947174fe6">SetLineBreak</a> (const char *_lineBreak)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the line breaking string. <a href="#a4be1e37e69e3858c59635aa947174fe6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11f1b4804a460b175ec244eb5724d96d"></a><!-- doxytag: member="TiXmlPrinter::LineBreak" ref="a11f1b4804a460b175ec244eb5724d96d" args="()" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#a11f1b4804a460b175ec244eb5724d96d">LineBreak</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the current line breaking string. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#ab23a90629e374cb1cadca090468bbd19">SetStreamPrinting</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Switch over to "stream printing" which is the most dense formatting without linebreaks. <a href="#ab23a90629e374cb1cadca090468bbd19"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a859eede9597d3e0355b77757be48735e"></a><!-- doxytag: member="TiXmlPrinter::CStr" ref="a859eede9597d3e0355b77757be48735e" args="()" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#a859eede9597d3e0355b77757be48735e">CStr</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the result. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad01375ae9199bd2f48252eaddce3039d"></a><!-- doxytag: member="TiXmlPrinter::Size" ref="ad01375ae9199bd2f48252eaddce3039d" args="()" -->
+size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#ad01375ae9199bd2f48252eaddce3039d">Size</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the length of the result string. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3bd4daf44309b41f5813a833caa0d1c9"></a><!-- doxytag: member="TiXmlPrinter::Str" ref="a3bd4daf44309b41f5813a833caa0d1c9" args="()" -->
+const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlPrinter.html#a3bd4daf44309b41f5813a833caa0d1c9">Str</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the result. <br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Print to memory functionality.
-<p>
-The <a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a> is useful when you need to:<p>
-<ol type=1>
-<li>Print to memory (especially in non-STL mode)</li><li>Control formatting (line endings, etc.)</li></ol>
-<p>
-When constructed, the <a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a> is in its default "pretty printing" mode. Before calling Accept() you can call methods to control the printing of the XML document. After <a class="el" href="classTiXmlNode.html#cc0f88b7462c6cb73809d410a4f5bb86">TiXmlNode::Accept()</a> is called, the printed document can be accessed via the <a class="el" href="classTiXmlPrinter.html#859eede9597d3e0355b77757be48735e">CStr()</a>, <a class="el" href="classTiXmlPrinter.html#3bd4daf44309b41f5813a833caa0d1c9">Str()</a>, and <a class="el" href="classTiXmlPrinter.html#d01375ae9199bd2f48252eaddce3039d">Size()</a> methods.<p>
-<a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a> uses the Visitor API. <div class="fragment"><pre class="fragment"> TiXmlPrinter printer;
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Print to memory functionality. </p>
+<p>The <a class="el" href="classTiXmlPrinter.html" title="Print to memory functionality.">TiXmlPrinter</a> is useful when you need to:</p>
+<ol type="1">
+<li>Print to memory (especially in non-STL mode)</li>
+<li>Control formatting (line endings, etc.)</li>
+</ol>
+<p>When constructed, the <a class="el" href="classTiXmlPrinter.html" title="Print to memory functionality.">TiXmlPrinter</a> is in its default "pretty printing" mode. Before calling Accept() you can call methods to control the printing of the XML document. After <a class="el" href="classTiXmlNode.html#acc0f88b7462c6cb73809d410a4f5bb86" title="Accept a hierchical visit the nodes in the TinyXML DOM.">TiXmlNode::Accept()</a> is called, the printed document can be accessed via the <a class="el" href="classTiXmlPrinter.html#a859eede9597d3e0355b77757be48735e" title="Return the result.">CStr()</a>, <a class="el" href="classTiXmlPrinter.html#a3bd4daf44309b41f5813a833caa0d1c9" title="Return the result.">Str()</a>, and <a class="el" href="classTiXmlPrinter.html#ad01375ae9199bd2f48252eaddce3039d" title="Return the length of the result string.">Size()</a> methods.</p>
+<p><a class="el" href="classTiXmlPrinter.html" title="Print to memory functionality.">TiXmlPrinter</a> uses the Visitor API. </p>
+<div class="fragment"><pre class="fragment">
+ TiXmlPrinter printer;
printer.SetIndent( "\t" );
doc.Accept( &amp;printer );
fprintf( stdout, "%s", printer.CStr() );
- </pre></div>
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="213377a4070c7e625bae59716b089e5e"></a><!-- doxytag: member="TiXmlPrinter::SetIndent" ref="213377a4070c7e625bae59716b089e5e" args="(const char *_indent)" -->
+ </pre></div> <hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a213377a4070c7e625bae59716b089e5e"></a><!-- doxytag: member="TiXmlPrinter::SetIndent" ref="a213377a4070c7e625bae59716b089e5e" args="(const char *_indent)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void TiXmlPrinter::SetIndent </td>
+ <td class="memname">void TiXmlPrinter::SetIndent </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>_indent</em> </td>
+ <td class="paramname"> <em>_indent</em></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"><code> [inline]</code></td>
+ <td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Set the indent characters for printing.
-<p>
-By default 4 spaces but tab () is also useful, or null/empty string for no indentation.
+<p>Set the indent characters for printing. </p>
+<p>By default 4 spaces but tab () is also useful, or null/empty string for no indentation. </p>
+
</div>
-</div><p>
-<a class="anchor" name="4be1e37e69e3858c59635aa947174fe6"></a><!-- doxytag: member="TiXmlPrinter::SetLineBreak" ref="4be1e37e69e3858c59635aa947174fe6" args="(const char *_lineBreak)" -->
+</div>
+<a class="anchor" id="a4be1e37e69e3858c59635aa947174fe6"></a><!-- doxytag: member="TiXmlPrinter::SetLineBreak" ref="a4be1e37e69e3858c59635aa947174fe6" args="(const char *_lineBreak)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void TiXmlPrinter::SetLineBreak </td>
+ <td class="memname">void TiXmlPrinter::SetLineBreak </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>_lineBreak</em> </td>
+ <td class="paramname"> <em>_lineBreak</em></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"><code> [inline]</code></td>
+ <td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Set the line breaking string.
-<p>
-By default set to newline (<br>
-). Some operating systems prefer other characters, or can be set to the null/empty string for no indenation.
+<p>Set the line breaking string. </p>
+<p>By default set to newline (<br/>
+). Some operating systems prefer other characters, or can be set to the null/empty string for no indenation. </p>
+
+</div>
</div>
-</div><p>
-<a class="anchor" name="b23a90629e374cb1cadca090468bbd19"></a><!-- doxytag: member="TiXmlPrinter::SetStreamPrinting" ref="b23a90629e374cb1cadca090468bbd19" args="()" -->
+<a class="anchor" id="ab23a90629e374cb1cadca090468bbd19"></a><!-- doxytag: member="TiXmlPrinter::SetStreamPrinting" ref="ab23a90629e374cb1cadca090468bbd19" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void TiXmlPrinter::SetStreamPrinting </td>
+ <td class="memname">void TiXmlPrinter::SetStreamPrinting </td>
<td>(</td>
- <td class="paramname"> </td>
+ <td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"><code> [inline]</code></td>
+ <td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Switch over to "stream printing" which is the most dense formatting without linebreaks.
-<p>
-Common when the XML is needed for network transmission.
+<p>Switch over to "stream printing" which is the most dense formatting without linebreaks. </p>
+<p>Common when the XML is needed for network transmission. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tinyxml_8h_source.html">tinyxml.h</a></li>
+</ul>
</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="tinyxml_8h-source.html">tinyxml.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlPrinter.png b/shared/tinyxml/docs/classTiXmlPrinter.png
index 20887826..6a5ff8e5 100644
--- a/shared/tinyxml/docs/classTiXmlPrinter.png
+++ b/shared/tinyxml/docs/classTiXmlPrinter.png
Binary files differ
diff --git a/shared/tinyxml/docs/classTiXmlText-members.html b/shared/tinyxml/docs/classTiXmlText-members.html
index 93a3b98f..11f7ef66 100644
--- a/shared/tinyxml/docs/classTiXmlText-members.html
+++ b/shared/tinyxml/docs/classTiXmlText-members.html
@@ -1,102 +1,111 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlText Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlText.html">TiXmlText</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classTiXmlText.html#8483d4415ce9de6c4fa8f63d067d5de6">Accept</a>(TiXmlVisitor *content) const </td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlText.html#d1a6a6b83fa2271022dd97c072a2b586">CDATA</a>() const </td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#708e7f953df61d4d2d12f73171550a4b">Clear</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlText.html#0c411e93a27537369479d034cc82da3b">Clone</a>() const </td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1f05828d023150706eeb16d6fb3f6355">FirstChild</a>(const char *value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#bc8bf32be6419ec453a731868de19554">FirstChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#07f6200a5956c723c5b52d70f29c46f6">FirstChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#10d2669ccb5e29e02fcb0e4408685ef6">FirstChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ccda2c6b45c25bb5a6f9c3407a644e61">FirstChildElement</a>(const char *_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#327ad4bbd90073c5dfc931b07314f5f7">FirstChildElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#7f1d7291880534c1e5cdeb392d8c1f45">FirstChildElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#80e397fa973cf5323e33b07154b024f3">GetDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#d9b75e54ec19301c8b4d5ff583d0b3d5">InsertAfterChild</a>(TiXmlNode *afterThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#0c146fa2fff0157b681594102f48cbc7">InsertBeforeChild</a>(TiXmlNode *beforeThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#d7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a>(const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>(const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#dfaef35a076b9343adc1420757376c39">IterateChildren</a>(const char *value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1cbaaf8e82c09ad763d52616d75724df">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#16e9ad53e2f5445b14bf325c90aa862c">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6432d2b2495f6caf9cb4278df706a031">LastChild</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#bad5bf1059c48127b958711ef89e8e5d">LastChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#256d0cdbfcfeccae83f3a1c9747a8b63">LastChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#69772c9202f70553f940b15c06b07be3">LastChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#5d29442ae46de6d0168429156197bfc6">LinkEndChild</a>(TiXmlNode *addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1b94d2f7fa7ab25a5a8e8d4340c449c9">NextSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1757c1f4d01e8c9596ffdbd561c76aea">NextSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#f854baeba384f5fe9859f5aee03b548e">NextSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2e61c0b89a77e36a0e8c60490003cb46">NextSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#071ba77fd7ab79402fa84b7e9b8607b3">NextSiblingElement</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#7572d0af9d1e696ee3f05d8bb5ebb463">NextSiblingElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#506958e34406729a4e4c5326ea39d081">NextSiblingElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#eed21ad30630ef6e7faf096127edc9f3">NoChildren</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">NodeType</a> enum name</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt;</a>(std::ostream &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#52ef17e7080df2490cf87bde380685ab">operator&lt;&lt;</a>(std::string &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#b57bd426563c926844f65a78412e18b9">operator&gt;&gt;</a>(std::istream &amp;in, TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#b643043132ffd794f8602685d34a982e">Parent</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#c2cd892768726270e511b2ab32de4d10">PreviousSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#5bdd49327eec1e609b7d22af706b8316">PreviousSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#658276f57d35d5d4256d1dc1a2c398ab">PreviousSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#cc8a0434c7f401d4a3b6dee77c1a5912">PreviousSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlText.html#0cafbf6f236c7f02d12b2bffc2b7976b">Print</a>(FILE *cfile, int depth) const </td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#e19d8510efc90596552f4feeac9a8fbf">RemoveChild</a>(TiXmlNode *removeThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#0c49e739a17b9938050c22cd89617fbd">ReplaceChild</a>(TiXmlNode *replaceThis, const TiXmlNode &amp;withThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlText.html#cb17ff7c5d09b2c839393445a3de5ea9">SetCDATA</a>(bool _cdata)</td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#c6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2598d5f448042c1abbeae4503dd45ff2">SetValue</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlText.html#f659e77c6b87d684827f35a8f4895960">TiXmlText</a>(const char *initValue)</td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlText.html#439792f6183a3d3fb6f2bc2b16fa5691">TiXmlText</a>(const std::string &amp;initValue)</td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0a5086f9eaee910bbfdc7f975e26574">ToComment</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#383e06a0787f7063953934867990f849">ToComment</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#9f43e6984fc7d4afd6eb32714c6b7b72">ToDeclaration</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#4027136ca820ff4a636b607231b6a6df">ToDeclaration</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#8a4cda4b15c29f64cff419309aebed08">ToDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6a4c8ac28ee7a745d059db6691e03bae">ToDocument</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#72abed96dc9667ab9e0a2a275301bb1c">ToElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a65d000223187d22a4dcebd7479e9ebc">ToElement</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlText.html#895bf34ffad17f7439ab2a52b9651648">ToText</a>() const </td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlText.html#e7c3a8fd3e4dbf6c0c4363a943d72f5b">ToText</a>()</td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#fd7205cf31d7a376929f8a36930627a2">ToUnknown</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#06de5af852668c7e4af0d09c205f0b0d">ToUnknown</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#57b99d5c97d67a42b9752f5210a1ba5e">Type</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#77943eb90d12c2892b1337a9f5918b41">Value</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlText Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlText.html">TiXmlText</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classTiXmlText.html#a8483d4415ce9de6c4fa8f63d067d5de6">Accept</a>(TiXmlVisitor *content) const </td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlText.html#ad1a6a6b83fa2271022dd97c072a2b586">CDATA</a>() const </td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a708e7f953df61d4d2d12f73171550a4b">Clear</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlText.html#a0c411e93a27537369479d034cc82da3b">Clone</a>() const </td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1f05828d023150706eeb16d6fb3f6355">FirstChild</a>(const char *value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#abc8bf32be6419ec453a731868de19554">FirstChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a07f6200a5956c723c5b52d70f29c46f6">FirstChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a10d2669ccb5e29e02fcb0e4408685ef6">FirstChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#af4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#accda2c6b45c25bb5a6f9c3407a644e61">FirstChildElement</a>(const char *_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a327ad4bbd90073c5dfc931b07314f5f7">FirstChildElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a7f1d7291880534c1e5cdeb392d8c1f45">FirstChildElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a80e397fa973cf5323e33b07154b024f3">GetDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ad9b75e54ec19301c8b4d5ff583d0b3d5">InsertAfterChild</a>(TiXmlNode *afterThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0c146fa2fff0157b681594102f48cbc7">InsertBeforeChild</a>(TiXmlNode *beforeThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ad7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a>(const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>(const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#adfaef35a076b9343adc1420757376c39">IterateChildren</a>(const char *value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1cbaaf8e82c09ad763d52616d75724df">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a16e9ad53e2f5445b14bf325c90aa862c">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6432d2b2495f6caf9cb4278df706a031">LastChild</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#abad5bf1059c48127b958711ef89e8e5d">LastChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a256d0cdbfcfeccae83f3a1c9747a8b63">LastChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a69772c9202f70553f940b15c06b07be3">LastChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a5d29442ae46de6d0168429156197bfc6">LinkEndChild</a>(TiXmlNode *addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1b94d2f7fa7ab25a5a8e8d4340c449c9">NextSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1757c1f4d01e8c9596ffdbd561c76aea">NextSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e">NextSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2e61c0b89a77e36a0e8c60490003cb46">NextSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a071ba77fd7ab79402fa84b7e9b8607b3">NextSiblingElement</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a7572d0af9d1e696ee3f05d8bb5ebb463">NextSiblingElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a506958e34406729a4e4c5326ea39d081">NextSiblingElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aeed21ad30630ef6e7faf096127edc9f3">NoChildren</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2">NodeType</a> enum name</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt;</a>(std::ostream &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a52ef17e7080df2490cf87bde380685ab">operator&lt;&lt;</a>(std::string &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ab57bd426563c926844f65a78412e18b9">operator&gt;&gt;</a>(std::istream &amp;in, TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ab643043132ffd794f8602685d34a982e">Parent</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10">PreviousSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a5bdd49327eec1e609b7d22af706b8316">PreviousSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a658276f57d35d5d4256d1dc1a2c398ab">PreviousSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#acc8a0434c7f401d4a3b6dee77c1a5912">PreviousSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlText.html#a0cafbf6f236c7f02d12b2bffc2b7976b">Print</a>(FILE *cfile, int depth) const </td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ae19d8510efc90596552f4feeac9a8fbf">RemoveChild</a>(TiXmlNode *removeThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0c49e739a17b9938050c22cd89617fbd">ReplaceChild</a>(TiXmlNode *replaceThis, const TiXmlNode &amp;withThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlText.html#acb17ff7c5d09b2c839393445a3de5ea9">SetCDATA</a>(bool _cdata)</td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ac6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2598d5f448042c1abbeae4503dd45ff2">SetValue</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlText.html#af659e77c6b87d684827f35a8f4895960">TiXmlText</a>(const char *initValue)</td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlText.html#a439792f6183a3d3fb6f2bc2b16fa5691">TiXmlText</a>(const std::string &amp;initValue)</td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aa0a5086f9eaee910bbfdc7f975e26574">ToComment</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a383e06a0787f7063953934867990f849">ToComment</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a9f43e6984fc7d4afd6eb32714c6b7b72">ToDeclaration</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a4027136ca820ff4a636b607231b6a6df">ToDeclaration</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a8a4cda4b15c29f64cff419309aebed08">ToDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6a4c8ac28ee7a745d059db6691e03bae">ToDocument</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a72abed96dc9667ab9e0a2a275301bb1c">ToElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aa65d000223187d22a4dcebd7479e9ebc">ToElement</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlText.html#a895bf34ffad17f7439ab2a52b9651648">ToText</a>() const </td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlText.html#ae7c3a8fd3e4dbf6c0c4363a943d72f5b">ToText</a>()</td><td><a class="el" href="classTiXmlText.html">TiXmlText</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#afd7205cf31d7a376929f8a36930627a2">ToUnknown</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a06de5af852668c7e4af0d09c205f0b0d">ToUnknown</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a57b99d5c97d67a42b9752f5210a1ba5e">Type</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a77943eb90d12c2892b1337a9f5918b41">Value</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlText.html b/shared/tinyxml/docs/classTiXmlText.html
index 0dadfa95..fe311540 100644
--- a/shared/tinyxml/docs/classTiXmlText.html
+++ b/shared/tinyxml/docs/classTiXmlText.html
@@ -1,112 +1,115 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: TiXmlText Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlText Class Reference</h1><!-- doxytag: class="TiXmlText" --><!-- doxytag: inherits="TiXmlNode" -->XML text.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="tinyxml_8h-source.html">tinyxml.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for TiXmlText:
-<p><center><img src="classTiXmlText.png" usemap="#TiXmlText_map" border="0" alt=""></center>
-<map name="TiXmlText_map">
-<area href="classTiXmlNode.html" alt="TiXmlNode" shape="rect" coords="0,56,73,80">
-<area href="classTiXmlBase.html" alt="TiXmlBase" shape="rect" coords="0,0,73,24">
-</map>
-<a href="classTiXmlText-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#f659e77c6b87d684827f35a8f4895960">TiXmlText</a> (const char *initValue)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for text element. <a href="#f659e77c6b87d684827f35a8f4895960"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="439792f6183a3d3fb6f2bc2b16fa5691"></a><!-- doxytag: member="TiXmlText::TiXmlText" ref="439792f6183a3d3fb6f2bc2b16fa5691" args="(const std::string &amp;initValue)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#439792f6183a3d3fb6f2bc2b16fa5691">TiXmlText</a> (const std::string &amp;initValue)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#0cafbf6f236c7f02d12b2bffc2b7976b">Print</a> (FILE *cfile, int depth) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. <a href="#0cafbf6f236c7f02d12b2bffc2b7976b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d1a6a6b83fa2271022dd97c072a2b586"></a><!-- doxytag: member="TiXmlText::CDATA" ref="d1a6a6b83fa2271022dd97c072a2b586" args="() const " -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#d1a6a6b83fa2271022dd97c072a2b586">CDATA</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries whether this represents text using a CDATA section. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cb17ff7c5d09b2c839393445a3de5ea9"></a><!-- doxytag: member="TiXmlText::SetCDATA" ref="cb17ff7c5d09b2c839393445a3de5ea9" args="(bool _cdata)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#cb17ff7c5d09b2c839393445a3de5ea9">SetCDATA</a> (bool _cdata)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Turns on or off a CDATA representation of text. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="895bf34ffad17f7439ab2a52b9651648"></a><!-- doxytag: member="TiXmlText::ToText" ref="895bf34ffad17f7439ab2a52b9651648" args="() const " -->
-virtual const <a class="el" href="classTiXmlText.html">TiXmlText</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#895bf34ffad17f7439ab2a52b9651648">ToText</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e7c3a8fd3e4dbf6c0c4363a943d72f5b"></a><!-- doxytag: member="TiXmlText::ToText" ref="e7c3a8fd3e4dbf6c0c4363a943d72f5b" args="()" -->
-virtual <a class="el" href="classTiXmlText.html">TiXmlText</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#e7c3a8fd3e4dbf6c0c4363a943d72f5b">ToText</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8483d4415ce9de6c4fa8f63d067d5de6"></a><!-- doxytag: member="TiXmlText::Accept" ref="8483d4415ce9de6c4fa8f63d067d5de6" args="(TiXmlVisitor *content) const " -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#8483d4415ce9de6c4fa8f63d067d5de6">Accept</a> (<a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> *content) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walk the XML tree visiting this node and all of its children. <br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0c411e93a27537369479d034cc82da3b"></a><!-- doxytag: member="TiXmlText::Clone" ref="0c411e93a27537369479d034cc82da3b" args="() const " -->
-virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#0c411e93a27537369479d034cc82da3b">Clone</a> () const </td></tr>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlText Class Reference</h1><!-- doxytag: class="TiXmlText" --><!-- doxytag: inherits="TiXmlNode" -->
+<p>XML text.
+<a href="#_details">More...</a></p>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">[internal use] Creates a new Element and returns it. <br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b6592e32cb9132be517cc12a70564c4b"></a><!-- doxytag: member="TiXmlText::TiXmlElement" ref="b6592e32cb9132be517cc12a70564c4b" args="" -->
-class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#b6592e32cb9132be517cc12a70564c4b">TiXmlElement</a></td></tr>
+<p><code>#include &lt;<a class="el" href="tinyxml_8h_source.html">tinyxml.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for TiXmlText:</div>
+<div class="dynsection">
+ <div class="center">
+ <img src="classTiXmlText.png" usemap="#TiXmlText_map" alt=""/>
+ <map id="TiXmlText_map" name="TiXmlText_map">
+<area href="classTiXmlNode.html" alt="TiXmlNode" shape="rect" coords="0,56,73,80"/>
+<area href="classTiXmlBase.html" alt="TiXmlBase" shape="rect" coords="0,0,73,24"/>
+</map>
+ </div>
+</div>
+<p><a href="classTiXmlText-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#af659e77c6b87d684827f35a8f4895960">TiXmlText</a> (const char *initValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for text element. <a href="#af659e77c6b87d684827f35a8f4895960"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a439792f6183a3d3fb6f2bc2b16fa5691"></a><!-- doxytag: member="TiXmlText::TiXmlText" ref="a439792f6183a3d3fb6f2bc2b16fa5691" args="(const std::string &amp;initValue)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#a439792f6183a3d3fb6f2bc2b16fa5691">TiXmlText</a> (const std::string &amp;initValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#a0cafbf6f236c7f02d12b2bffc2b7976b">Print</a> (FILE *cfile, int depth) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. <a href="#a0cafbf6f236c7f02d12b2bffc2b7976b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad1a6a6b83fa2271022dd97c072a2b586"></a><!-- doxytag: member="TiXmlText::CDATA" ref="ad1a6a6b83fa2271022dd97c072a2b586" args="() const " -->
+bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#ad1a6a6b83fa2271022dd97c072a2b586">CDATA</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries whether this represents text using a CDATA section. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb17ff7c5d09b2c839393445a3de5ea9"></a><!-- doxytag: member="TiXmlText::SetCDATA" ref="acb17ff7c5d09b2c839393445a3de5ea9" args="(bool _cdata)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#acb17ff7c5d09b2c839393445a3de5ea9">SetCDATA</a> (bool _cdata)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Turns on or off a CDATA representation of text. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a895bf34ffad17f7439ab2a52b9651648"></a><!-- doxytag: member="TiXmlText::ToText" ref="a895bf34ffad17f7439ab2a52b9651648" args="() const " -->
+virtual const <a class="el" href="classTiXmlText.html">TiXmlText</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#a895bf34ffad17f7439ab2a52b9651648">ToText</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae7c3a8fd3e4dbf6c0c4363a943d72f5b"></a><!-- doxytag: member="TiXmlText::ToText" ref="ae7c3a8fd3e4dbf6c0c4363a943d72f5b" args="()" -->
+virtual <a class="el" href="classTiXmlText.html">TiXmlText</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#ae7c3a8fd3e4dbf6c0c4363a943d72f5b">ToText</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8483d4415ce9de6c4fa8f63d067d5de6"></a><!-- doxytag: member="TiXmlText::Accept" ref="a8483d4415ce9de6c4fa8f63d067d5de6" args="(TiXmlVisitor *content) const " -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#a8483d4415ce9de6c4fa8f63d067d5de6">Accept</a> (<a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> *content) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walk the XML tree visiting this node and all of its children. <br/></td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c411e93a27537369479d034cc82da3b"></a><!-- doxytag: member="TiXmlText::Clone" ref="a0c411e93a27537369479d034cc82da3b" args="() const " -->
+virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#a0c411e93a27537369479d034cc82da3b">Clone</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">[internal use] Creates a new Element and returns it. <br/></td></tr>
+<tr><td colspan="2"><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab6592e32cb9132be517cc12a70564c4b"></a><!-- doxytag: member="TiXmlText::TiXmlElement" ref="ab6592e32cb9132be517cc12a70564c4b" args="" -->
+class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlText.html#ab6592e32cb9132be517cc12a70564c4b">TiXmlElement</a></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-XML text.
-<p>
-A text node can have 2 ways to output the next. "normal" output and CDATA. It will default to the mode it was parsed from the XML file and you generally want to leave it alone, but you can change the output mode with <a class="el" href="classTiXmlText.html#cb17ff7c5d09b2c839393445a3de5ea9">SetCDATA()</a> and query it with <a class="el" href="classTiXmlText.html#d1a6a6b83fa2271022dd97c072a2b586">CDATA()</a>.
-<p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="f659e77c6b87d684827f35a8f4895960"></a><!-- doxytag: member="TiXmlText::TiXmlText" ref="f659e77c6b87d684827f35a8f4895960" args="(const char *initValue)" -->
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>XML text. </p>
+<p>A text node can have 2 ways to output the next. "normal" output and CDATA. It will default to the mode it was parsed from the XML file and you generally want to leave it alone, but you can change the output mode with <a class="el" href="classTiXmlText.html#acb17ff7c5d09b2c839393445a3de5ea9" title="Turns on or off a CDATA representation of text.">SetCDATA()</a> and query it with <a class="el" href="classTiXmlText.html#ad1a6a6b83fa2271022dd97c072a2b586" title="Queries whether this represents text using a CDATA section.">CDATA()</a>. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="af659e77c6b87d684827f35a8f4895960"></a><!-- doxytag: member="TiXmlText::TiXmlText" ref="af659e77c6b87d684827f35a8f4895960" args="(const char *initValue)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">TiXmlText::TiXmlText </td>
+ <td class="memname">TiXmlText::TiXmlText </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>initValue</em> </td>
+ <td class="paramname"> <em>initValue</em></td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"><code> [inline]</code></td>
+ <td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-Constructor for text element.
-<p>
-By default, it is treated as normal, encoded text. If you want it be output as a CDATA text element, set the parameter _cdata to 'true'
+<p>Constructor for text element. </p>
+<p>By default, it is treated as normal, encoded text. If you want it be output as a CDATA text element, set the parameter _cdata to 'true' </p>
+
+<p>References <a class="el" href="tinyxml_8h_source.html#l00508">TiXmlNode::SetValue()</a>.</p>
+
+</div>
</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="0cafbf6f236c7f02d12b2bffc2b7976b"></a><!-- doxytag: member="TiXmlText::Print" ref="0cafbf6f236c7f02d12b2bffc2b7976b" args="(FILE *cfile, int depth) const " -->
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a0cafbf6f236c7f02d12b2bffc2b7976b"></a><!-- doxytag: member="TiXmlText::Print" ref="a0cafbf6f236c7f02d12b2bffc2b7976b" args="(FILE *cfile, int depth) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">virtual void TiXmlText::Print </td>
+ <td class="memname">virtual void TiXmlText::Print </td>
<td>(</td>
<td class="paramtype">FILE *&nbsp;</td>
<td class="paramname"> <em>cfile</em>, </td>
@@ -120,26 +123,27 @@ By default, it is treated as normal, encoded text. If you want it be output as a
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"> const<code> [virtual]</code></td>
+ <td></td><td></td><td> const<code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode.
-<p>
-) Either or both cfile and str can be null.<p>
-This is a formatted print, and will insert tabs and newlines.<p>
-(For an unformatted stream, use the &lt;&lt; operator.)
-<p>
-Implements <a class="el" href="classTiXmlBase.html#0de56b3f2ef14c65091a3b916437b512">TiXmlBase</a>.
+<p>All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. </p>
+<p>) Either or both cfile and str can be null.</p>
+<p>This is a formatted print, and will insert tabs and newlines.</p>
+<p>(For an unformatted stream, use the &lt;&lt; operator.) </p>
+
+<p>Implements <a class="el" href="classTiXmlBase.html#a0de56b3f2ef14c65091a3b916437b512">TiXmlBase</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tinyxml_8h_source.html">tinyxml.h</a></li>
+</ul>
</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="tinyxml_8h-source.html">tinyxml.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlText.png b/shared/tinyxml/docs/classTiXmlText.png
index c9e71d43..ccd1c343 100644
--- a/shared/tinyxml/docs/classTiXmlText.png
+++ b/shared/tinyxml/docs/classTiXmlText.png
Binary files differ
diff --git a/shared/tinyxml/docs/classTiXmlUnknown-members.html b/shared/tinyxml/docs/classTiXmlUnknown-members.html
index 31e24973..512d4ae5 100644
--- a/shared/tinyxml/docs/classTiXmlUnknown-members.html
+++ b/shared/tinyxml/docs/classTiXmlUnknown-members.html
@@ -1,98 +1,107 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlUnknown Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classTiXmlUnknown.html#d7122e5135581b3c832a1a3217760a93">Accept</a>(TiXmlVisitor *content) const </td><td><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#708e7f953df61d4d2d12f73171550a4b">Clear</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlUnknown.html#0960bb7428b3f341da46244229604d73">Clone</a>() const </td><td><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1f05828d023150706eeb16d6fb3f6355">FirstChild</a>(const char *value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#bc8bf32be6419ec453a731868de19554">FirstChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#07f6200a5956c723c5b52d70f29c46f6">FirstChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#10d2669ccb5e29e02fcb0e4408685ef6">FirstChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ccda2c6b45c25bb5a6f9c3407a644e61">FirstChildElement</a>(const char *_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#327ad4bbd90073c5dfc931b07314f5f7">FirstChildElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#7f1d7291880534c1e5cdeb392d8c1f45">FirstChildElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#80e397fa973cf5323e33b07154b024f3">GetDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#d9b75e54ec19301c8b4d5ff583d0b3d5">InsertAfterChild</a>(TiXmlNode *afterThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#0c146fa2fff0157b681594102f48cbc7">InsertBeforeChild</a>(TiXmlNode *beforeThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#d7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a>(const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#d4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>(const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#dfaef35a076b9343adc1420757376c39">IterateChildren</a>(const char *value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1cbaaf8e82c09ad763d52616d75724df">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#16e9ad53e2f5445b14bf325c90aa862c">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6432d2b2495f6caf9cb4278df706a031">LastChild</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#bad5bf1059c48127b958711ef89e8e5d">LastChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#256d0cdbfcfeccae83f3a1c9747a8b63">LastChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#69772c9202f70553f940b15c06b07be3">LastChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#5d29442ae46de6d0168429156197bfc6">LinkEndChild</a>(TiXmlNode *addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1b94d2f7fa7ab25a5a8e8d4340c449c9">NextSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#1757c1f4d01e8c9596ffdbd561c76aea">NextSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#f854baeba384f5fe9859f5aee03b548e">NextSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2e61c0b89a77e36a0e8c60490003cb46">NextSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#071ba77fd7ab79402fa84b7e9b8607b3">NextSiblingElement</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#7572d0af9d1e696ee3f05d8bb5ebb463">NextSiblingElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#506958e34406729a4e4c5326ea39d081">NextSiblingElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#eed21ad30630ef6e7faf096127edc9f3">NoChildren</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">NodeType</a> enum name</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt;</a>(std::ostream &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#52ef17e7080df2490cf87bde380685ab">operator&lt;&lt;</a>(std::string &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#b57bd426563c926844f65a78412e18b9">operator&gt;&gt;</a>(std::istream &amp;in, TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#b643043132ffd794f8602685d34a982e">Parent</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#c2cd892768726270e511b2ab32de4d10">PreviousSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#5bdd49327eec1e609b7d22af706b8316">PreviousSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#658276f57d35d5d4256d1dc1a2c398ab">PreviousSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#cc8a0434c7f401d4a3b6dee77c1a5912">PreviousSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlUnknown.html#31ba089a40fb5a1869750fce09b0bacb">Print</a>(FILE *cfile, int depth) const </td><td><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#e19d8510efc90596552f4feeac9a8fbf">RemoveChild</a>(TiXmlNode *removeThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#0c49e739a17b9938050c22cd89617fbd">ReplaceChild</a>(TiXmlNode *replaceThis, const TiXmlNode &amp;withThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#c6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#2598d5f448042c1abbeae4503dd45ff2">SetValue</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0a5086f9eaee910bbfdc7f975e26574">ToComment</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#383e06a0787f7063953934867990f849">ToComment</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#9f43e6984fc7d4afd6eb32714c6b7b72">ToDeclaration</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#4027136ca820ff4a636b607231b6a6df">ToDeclaration</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#8a4cda4b15c29f64cff419309aebed08">ToDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6a4c8ac28ee7a745d059db6691e03bae">ToDocument</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#72abed96dc9667ab9e0a2a275301bb1c">ToElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a65d000223187d22a4dcebd7479e9ebc">ToElement</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#95a46a52c525992d6b4ee08beb14cd69">ToText</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#3ddfbcac78fbea041fad57e5c6d60a03">ToText</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlUnknown.html#b0313e5fe77987d746ac1a97a254419d">ToUnknown</a>() const </td><td><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlUnknown.html#67c9fd22940e8c47f706a72cdd2e332c">ToUnknown</a>()</td><td><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#57b99d5c97d67a42b9752f5210a1ba5e">Type</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#77943eb90d12c2892b1337a9f5918b41">Value</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlUnknown Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classTiXmlUnknown.html#ad7122e5135581b3c832a1a3217760a93">Accept</a>(TiXmlVisitor *content) const </td><td><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a708e7f953df61d4d2d12f73171550a4b">Clear</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlUnknown.html#a0960bb7428b3f341da46244229604d73">Clone</a>() const </td><td><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003">Column</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6bd8c315c1acb09e34107b8736505948">EncodeString</a>(const TIXML_STRING &amp;str, TIXML_STRING *out)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1f05828d023150706eeb16d6fb3f6355">FirstChild</a>(const char *value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#abc8bf32be6419ec453a731868de19554">FirstChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a07f6200a5956c723c5b52d70f29c46f6">FirstChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a10d2669ccb5e29e02fcb0e4408685ef6">FirstChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#af4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#accda2c6b45c25bb5a6f9c3407a644e61">FirstChildElement</a>(const char *_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a327ad4bbd90073c5dfc931b07314f5f7">FirstChildElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a7f1d7291880534c1e5cdeb392d8c1f45">FirstChildElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a80e397fa973cf5323e33b07154b024f3">GetDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad0120210e4680ef2088601753ce0ede4">GetUserData</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ad9b75e54ec19301c8b4d5ff583d0b3d5">InsertAfterChild</a>(TiXmlNode *afterThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0c146fa2fff0157b681594102f48cbc7">InsertBeforeChild</a>(TiXmlNode *beforeThis, const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ad7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a>(const TiXmlNode &amp;addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ad4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>()</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>(const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#adfaef35a076b9343adc1420757376c39">IterateChildren</a>(const char *value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1cbaaf8e82c09ad763d52616d75724df">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a16e9ad53e2f5445b14bf325c90aa862c">IterateChildren</a>(const std::string &amp;_value, const TiXmlNode *previous)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6432d2b2495f6caf9cb4278df706a031">LastChild</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#abad5bf1059c48127b958711ef89e8e5d">LastChild</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a256d0cdbfcfeccae83f3a1c9747a8b63">LastChild</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a69772c9202f70553f940b15c06b07be3">LastChild</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a5d29442ae46de6d0168429156197bfc6">LinkEndChild</a>(TiXmlNode *addThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1b94d2f7fa7ab25a5a8e8d4340c449c9">NextSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a1757c1f4d01e8c9596ffdbd561c76aea">NextSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e">NextSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2e61c0b89a77e36a0e8c60490003cb46">NextSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a071ba77fd7ab79402fa84b7e9b8607b3">NextSiblingElement</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a7572d0af9d1e696ee3f05d8bb5ebb463">NextSiblingElement</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a506958e34406729a4e4c5326ea39d081">NextSiblingElement</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aeed21ad30630ef6e7faf096127edc9f3">NoChildren</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2">NodeType</a> enum name</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt;</a>(std::ostream &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a52ef17e7080df2490cf87bde380685ab">operator&lt;&lt;</a>(std::string &amp;out, const TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ab57bd426563c926844f65a78412e18b9">operator&gt;&gt;</a>(std::istream &amp;in, TiXmlNode &amp;base)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ab643043132ffd794f8602685d34a982e">Parent</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10">PreviousSibling</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a5bdd49327eec1e609b7d22af706b8316">PreviousSibling</a>(const char *) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a658276f57d35d5d4256d1dc1a2c398ab">PreviousSibling</a>(const std::string &amp;_value) const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#acc8a0434c7f401d4a3b6dee77c1a5912">PreviousSibling</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlUnknown.html#a31ba089a40fb5a1869750fce09b0bacb">Print</a>(FILE *cfile, int depth) const </td><td><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#ae19d8510efc90596552f4feeac9a8fbf">RemoveChild</a>(TiXmlNode *removeThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a0c49e739a17b9938050c22cd89617fbd">ReplaceChild</a>(TiXmlNode *replaceThis, const TiXmlNode &amp;withThis)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853">Row</a>() const </td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>(bool condense)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ac6b3e0f790930d4970ec30764e937b5d">SetUserData</a>(void *user)</td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>(const char *_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a2598d5f448042c1abbeae4503dd45ff2">SetValue</a>(const std::string &amp;_value)</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aa0a5086f9eaee910bbfdc7f975e26574">ToComment</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a383e06a0787f7063953934867990f849">ToComment</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a9f43e6984fc7d4afd6eb32714c6b7b72">ToDeclaration</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a4027136ca820ff4a636b607231b6a6df">ToDeclaration</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a8a4cda4b15c29f64cff419309aebed08">ToDocument</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6a4c8ac28ee7a745d059db6691e03bae">ToDocument</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a72abed96dc9667ab9e0a2a275301bb1c">ToElement</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#aa65d000223187d22a4dcebd7479e9ebc">ToElement</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a95a46a52c525992d6b4ee08beb14cd69">ToText</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a3ddfbcac78fbea041fad57e5c6d60a03">ToText</a>()</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlUnknown.html#ab0313e5fe77987d746ac1a97a254419d">ToUnknown</a>() const </td><td><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlUnknown.html#a67c9fd22940e8c47f706a72cdd2e332c">ToUnknown</a>()</td><td><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a57b99d5c97d67a42b9752f5210a1ba5e">Type</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c">userData</a></td><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a77943eb90d12c2892b1337a9f5918b41">Value</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlNode.html#a6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a>() const </td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlUnknown.html b/shared/tinyxml/docs/classTiXmlUnknown.html
index b1fa2187..17b3870b 100644
--- a/shared/tinyxml/docs/classTiXmlUnknown.html
+++ b/shared/tinyxml/docs/classTiXmlUnknown.html
@@ -1,70 +1,77 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: TiXmlUnknown Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlUnknown Class Reference</h1><!-- doxytag: class="TiXmlUnknown" --><!-- doxytag: inherits="TiXmlNode" -->Any tag that tinyXml doesn't recognize is saved as an unknown.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="tinyxml_8h-source.html">tinyxml.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for TiXmlUnknown:
-<p><center><img src="classTiXmlUnknown.png" usemap="#TiXmlUnknown_map" border="0" alt=""></center>
-<map name="TiXmlUnknown_map">
-<area href="classTiXmlNode.html" alt="TiXmlNode" shape="rect" coords="0,56,94,80">
-<area href="classTiXmlBase.html" alt="TiXmlBase" shape="rect" coords="0,0,94,24">
-</map>
-<a href="classTiXmlUnknown-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0960bb7428b3f341da46244229604d73"></a><!-- doxytag: member="TiXmlUnknown::Clone" ref="0960bb7428b3f341da46244229604d73" args="() const " -->
-virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlUnknown.html#0960bb7428b3f341da46244229604d73">Clone</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a copy of this Unknown and returns it. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlUnknown.html#31ba089a40fb5a1869750fce09b0bacb">Print</a> (FILE *cfile, int depth) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. <a href="#31ba089a40fb5a1869750fce09b0bacb"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0313e5fe77987d746ac1a97a254419d"></a><!-- doxytag: member="TiXmlUnknown::ToUnknown" ref="b0313e5fe77987d746ac1a97a254419d" args="() const " -->
-virtual const <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlUnknown.html#b0313e5fe77987d746ac1a97a254419d">ToUnknown</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="67c9fd22940e8c47f706a72cdd2e332c"></a><!-- doxytag: member="TiXmlUnknown::ToUnknown" ref="67c9fd22940e8c47f706a72cdd2e332c" args="()" -->
-virtual <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlUnknown.html#67c9fd22940e8c47f706a72cdd2e332c">ToUnknown</a> ()</td></tr>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlUnknown Class Reference</h1><!-- doxytag: class="TiXmlUnknown" --><!-- doxytag: inherits="TiXmlNode" -->
+<p>Any tag that tinyXml doesn't recognize is saved as an unknown.
+<a href="#_details">More...</a></p>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d7122e5135581b3c832a1a3217760a93"></a><!-- doxytag: member="TiXmlUnknown::Accept" ref="d7122e5135581b3c832a1a3217760a93" args="(TiXmlVisitor *content) const " -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlUnknown.html#d7122e5135581b3c832a1a3217760a93">Accept</a> (<a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> *content) const </td></tr>
+<p><code>#include &lt;<a class="el" href="tinyxml_8h_source.html">tinyxml.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for TiXmlUnknown:</div>
+<div class="dynsection">
+ <div class="center">
+ <img src="classTiXmlUnknown.png" usemap="#TiXmlUnknown_map" alt=""/>
+ <map id="TiXmlUnknown_map" name="TiXmlUnknown_map">
+<area href="classTiXmlNode.html" alt="TiXmlNode" shape="rect" coords="0,56,94,80"/>
+<area href="classTiXmlBase.html" alt="TiXmlBase" shape="rect" coords="0,0,94,24"/>
+</map>
+ </div>
+</div>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walk the XML tree visiting this node and all of its children. <br></td></tr>
+<p><a href="classTiXmlUnknown-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0960bb7428b3f341da46244229604d73"></a><!-- doxytag: member="TiXmlUnknown::Clone" ref="a0960bb7428b3f341da46244229604d73" args="() const " -->
+virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlUnknown.html#a0960bb7428b3f341da46244229604d73">Clone</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a copy of this Unknown and returns it. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlUnknown.html#a31ba089a40fb5a1869750fce09b0bacb">Print</a> (FILE *cfile, int depth) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. <a href="#a31ba089a40fb5a1869750fce09b0bacb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab0313e5fe77987d746ac1a97a254419d"></a><!-- doxytag: member="TiXmlUnknown::ToUnknown" ref="ab0313e5fe77987d746ac1a97a254419d" args="() const " -->
+virtual const <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlUnknown.html#ab0313e5fe77987d746ac1a97a254419d">ToUnknown</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a67c9fd22940e8c47f706a72cdd2e332c"></a><!-- doxytag: member="TiXmlUnknown::ToUnknown" ref="a67c9fd22940e8c47f706a72cdd2e332c" args="()" -->
+virtual <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlUnknown.html#a67c9fd22940e8c47f706a72cdd2e332c">ToUnknown</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7122e5135581b3c832a1a3217760a93"></a><!-- doxytag: member="TiXmlUnknown::Accept" ref="ad7122e5135581b3c832a1a3217760a93" args="(TiXmlVisitor *content) const " -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlUnknown.html#ad7122e5135581b3c832a1a3217760a93">Accept</a> (<a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> *content) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walk the XML tree visiting this node and all of its children. <br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Any tag that tinyXml doesn't recognize is saved as an unknown.
-<p>
-It is a tag of text, but should not be modified. It will be written back to the XML, unchanged, when the file is saved.<p>
-DTD tags get thrown into TiXmlUnknowns.
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="31ba089a40fb5a1869750fce09b0bacb"></a><!-- doxytag: member="TiXmlUnknown::Print" ref="31ba089a40fb5a1869750fce09b0bacb" args="(FILE *cfile, int depth) const " -->
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Any tag that tinyXml doesn't recognize is saved as an unknown. </p>
+<p>It is a tag of text, but should not be modified. It will be written back to the XML, unchanged, when the file is saved.</p>
+<p>DTD tags get thrown into TiXmlUnknowns. </p>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a31ba089a40fb5a1869750fce09b0bacb"></a><!-- doxytag: member="TiXmlUnknown::Print" ref="a31ba089a40fb5a1869750fce09b0bacb" args="(FILE *cfile, int depth) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">virtual void TiXmlUnknown::Print </td>
+ <td class="memname">virtual void TiXmlUnknown::Print </td>
<td>(</td>
<td class="paramtype">FILE *&nbsp;</td>
<td class="paramname"> <em>cfile</em>, </td>
@@ -78,26 +85,27 @@ DTD tags get thrown into TiXmlUnknowns.
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"> const<code> [virtual]</code></td>
+ <td></td><td></td><td> const<code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
-<p>
-All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode.
-<p>
-) Either or both cfile and str can be null.<p>
-This is a formatted print, and will insert tabs and newlines.<p>
-(For an unformatted stream, use the &lt;&lt; operator.)
-<p>
-Implements <a class="el" href="classTiXmlBase.html#0de56b3f2ef14c65091a3b916437b512">TiXmlBase</a>.
+<p>All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode. </p>
+<p>) Either or both cfile and str can be null.</p>
+<p>This is a formatted print, and will insert tabs and newlines.</p>
+<p>(For an unformatted stream, use the &lt;&lt; operator.) </p>
+
+<p>Implements <a class="el" href="classTiXmlBase.html#a0de56b3f2ef14c65091a3b916437b512">TiXmlBase</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tinyxml_8h_source.html">tinyxml.h</a></li>
+</ul>
</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="tinyxml_8h-source.html">tinyxml.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlUnknown.png b/shared/tinyxml/docs/classTiXmlUnknown.png
index 338bfab7..caa0c235 100644
--- a/shared/tinyxml/docs/classTiXmlUnknown.png
+++ b/shared/tinyxml/docs/classTiXmlUnknown.png
Binary files differ
diff --git a/shared/tinyxml/docs/classTiXmlVisitor-members.html b/shared/tinyxml/docs/classTiXmlVisitor-members.html
index f6cf1749..78f0439f 100644
--- a/shared/tinyxml/docs/classTiXmlVisitor-members.html
+++ b/shared/tinyxml/docs/classTiXmlVisitor-members.html
@@ -1,34 +1,43 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlVisitor Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classTiXmlVisitor.html#fad71c71ce6473fb9b4b64cd92de4a19">Visit</a>(const TiXmlDeclaration &amp;)</td><td><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlVisitor.html#399b8ebca5cd14664974a32d2ce029e5">Visit</a>(const TiXmlText &amp;)</td><td><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlVisitor.html#53a60e7a528627b31af3161972cc7fa2">Visit</a>(const TiXmlComment &amp;)</td><td><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlVisitor.html#7e284d607d275c51dac1adb58159ce28">Visit</a>(const TiXmlUnknown &amp;)</td><td><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlVisitor.html#07baecb52dd7d8716ae2a48ad0956ee0">VisitEnter</a>(const TiXmlDocument &amp;)</td><td><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlVisitor.html#f6c6178ffa517bbdba95d70490875fff">VisitEnter</a>(const TiXmlElement &amp;, const TiXmlAttribute *)</td><td><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlVisitor.html#a0ade4f27087447e93974e975c3246ad">VisitExit</a>(const TiXmlDocument &amp;)</td><td><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td><code> [inline, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classTiXmlVisitor.html#ec2b1f8116226d52f3a1b95dafd3a32c">VisitExit</a>(const TiXmlElement &amp;)</td><td><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlVisitor Member List</h1>This is the complete list of members for <a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classTiXmlVisitor.html#afad71c71ce6473fb9b4b64cd92de4a19">Visit</a>(const TiXmlDeclaration &amp;)</td><td><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlVisitor.html#a399b8ebca5cd14664974a32d2ce029e5">Visit</a>(const TiXmlText &amp;)</td><td><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlVisitor.html#a53a60e7a528627b31af3161972cc7fa2">Visit</a>(const TiXmlComment &amp;)</td><td><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlVisitor.html#a7e284d607d275c51dac1adb58159ce28">Visit</a>(const TiXmlUnknown &amp;)</td><td><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlVisitor.html#a07baecb52dd7d8716ae2a48ad0956ee0">VisitEnter</a>(const TiXmlDocument &amp;)</td><td><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlVisitor.html#af6c6178ffa517bbdba95d70490875fff">VisitEnter</a>(const TiXmlElement &amp;, const TiXmlAttribute *)</td><td><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlVisitor.html#aa0ade4f27087447e93974e975c3246ad">VisitExit</a>(const TiXmlDocument &amp;)</td><td><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classTiXmlVisitor.html#aec2b1f8116226d52f3a1b95dafd3a32c">VisitExit</a>(const TiXmlElement &amp;)</td><td><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a></td><td><code> [inline, virtual]</code></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlVisitor.html b/shared/tinyxml/docs/classTiXmlVisitor.html
index 4698b85a..404ae0dc 100644
--- a/shared/tinyxml/docs/classTiXmlVisitor.html
+++ b/shared/tinyxml/docs/classTiXmlVisitor.html
@@ -1,84 +1,89 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: TiXmlVisitor Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TiXmlVisitor Class Reference</h1><!-- doxytag: class="TiXmlVisitor" -->If you call the Accept() method, it requires being passed a <a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> class to handle callbacks.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="tinyxml_8h-source.html">tinyxml.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for TiXmlVisitor:
-<p><center><img src="classTiXmlVisitor.png" usemap="#TiXmlVisitor_map" border="0" alt=""></center>
-<map name="TiXmlVisitor_map">
-<area href="classTiXmlPrinter.html" alt="TiXmlPrinter" shape="rect" coords="0,56,81,80">
-</map>
-<a href="classTiXmlVisitor-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="07baecb52dd7d8716ae2a48ad0956ee0"></a><!-- doxytag: member="TiXmlVisitor::VisitEnter" ref="07baecb52dd7d8716ae2a48ad0956ee0" args="(const TiXmlDocument &amp;)" -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlVisitor.html#07baecb52dd7d8716ae2a48ad0956ee0">VisitEnter</a> (const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> &amp;)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a document. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0ade4f27087447e93974e975c3246ad"></a><!-- doxytag: member="TiXmlVisitor::VisitExit" ref="a0ade4f27087447e93974e975c3246ad" args="(const TiXmlDocument &amp;)" -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlVisitor.html#a0ade4f27087447e93974e975c3246ad">VisitExit</a> (const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> &amp;)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a document. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f6c6178ffa517bbdba95d70490875fff"></a><!-- doxytag: member="TiXmlVisitor::VisitEnter" ref="f6c6178ffa517bbdba95d70490875fff" args="(const TiXmlElement &amp;, const TiXmlAttribute *)" -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlVisitor.html#f6c6178ffa517bbdba95d70490875fff">VisitEnter</a> (const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> &amp;, const <a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a> *)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit an element. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec2b1f8116226d52f3a1b95dafd3a32c"></a><!-- doxytag: member="TiXmlVisitor::VisitExit" ref="ec2b1f8116226d52f3a1b95dafd3a32c" args="(const TiXmlElement &amp;)" -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlVisitor.html#ec2b1f8116226d52f3a1b95dafd3a32c">VisitExit</a> (const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> &amp;)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit an element. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fad71c71ce6473fb9b4b64cd92de4a19"></a><!-- doxytag: member="TiXmlVisitor::Visit" ref="fad71c71ce6473fb9b4b64cd92de4a19" args="(const TiXmlDeclaration &amp;)" -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlVisitor.html#fad71c71ce6473fb9b4b64cd92de4a19">Visit</a> (const <a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a> &amp;)</td></tr>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TiXmlVisitor Class Reference</h1><!-- doxytag: class="TiXmlVisitor" -->
+<p>Implements the interface to the "Visitor pattern" (see the Accept() method.
+<a href="#_details">More...</a></p>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a declaration. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="399b8ebca5cd14664974a32d2ce029e5"></a><!-- doxytag: member="TiXmlVisitor::Visit" ref="399b8ebca5cd14664974a32d2ce029e5" args="(const TiXmlText &amp;)" -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlVisitor.html#399b8ebca5cd14664974a32d2ce029e5">Visit</a> (const <a class="el" href="classTiXmlText.html">TiXmlText</a> &amp;)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a text node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="53a60e7a528627b31af3161972cc7fa2"></a><!-- doxytag: member="TiXmlVisitor::Visit" ref="53a60e7a528627b31af3161972cc7fa2" args="(const TiXmlComment &amp;)" -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlVisitor.html#53a60e7a528627b31af3161972cc7fa2">Visit</a> (const <a class="el" href="classTiXmlComment.html">TiXmlComment</a> &amp;)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a comment node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7e284d607d275c51dac1adb58159ce28"></a><!-- doxytag: member="TiXmlVisitor::Visit" ref="7e284d607d275c51dac1adb58159ce28" args="(const TiXmlUnknown &amp;)" -->
-virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlVisitor.html#7e284d607d275c51dac1adb58159ce28">Visit</a> (const <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> &amp;)</td></tr>
+<p><code>#include &lt;<a class="el" href="tinyxml_8h_source.html">tinyxml.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for TiXmlVisitor:</div>
+<div class="dynsection">
+ <div class="center">
+ <img src="classTiXmlVisitor.png" usemap="#TiXmlVisitor_map" alt=""/>
+ <map id="TiXmlVisitor_map" name="TiXmlVisitor_map">
+<area href="classTiXmlPrinter.html" alt="TiXmlPrinter" shape="rect" coords="0,56,81,80"/>
+</map>
+ </div>
+</div>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit an unknow node. <br></td></tr>
+<p><a href="classTiXmlVisitor-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07baecb52dd7d8716ae2a48ad0956ee0"></a><!-- doxytag: member="TiXmlVisitor::VisitEnter" ref="a07baecb52dd7d8716ae2a48ad0956ee0" args="(const TiXmlDocument &amp;)" -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlVisitor.html#a07baecb52dd7d8716ae2a48ad0956ee0">VisitEnter</a> (const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> &amp;)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a document. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa0ade4f27087447e93974e975c3246ad"></a><!-- doxytag: member="TiXmlVisitor::VisitExit" ref="aa0ade4f27087447e93974e975c3246ad" args="(const TiXmlDocument &amp;)" -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlVisitor.html#aa0ade4f27087447e93974e975c3246ad">VisitExit</a> (const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> &amp;)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a document. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af6c6178ffa517bbdba95d70490875fff"></a><!-- doxytag: member="TiXmlVisitor::VisitEnter" ref="af6c6178ffa517bbdba95d70490875fff" args="(const TiXmlElement &amp;, const TiXmlAttribute *)" -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlVisitor.html#af6c6178ffa517bbdba95d70490875fff">VisitEnter</a> (const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> &amp;, const <a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a> *)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit an element. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec2b1f8116226d52f3a1b95dafd3a32c"></a><!-- doxytag: member="TiXmlVisitor::VisitExit" ref="aec2b1f8116226d52f3a1b95dafd3a32c" args="(const TiXmlElement &amp;)" -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlVisitor.html#aec2b1f8116226d52f3a1b95dafd3a32c">VisitExit</a> (const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> &amp;)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit an element. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afad71c71ce6473fb9b4b64cd92de4a19"></a><!-- doxytag: member="TiXmlVisitor::Visit" ref="afad71c71ce6473fb9b4b64cd92de4a19" args="(const TiXmlDeclaration &amp;)" -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlVisitor.html#afad71c71ce6473fb9b4b64cd92de4a19">Visit</a> (const <a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a> &amp;)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a declaration. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a399b8ebca5cd14664974a32d2ce029e5"></a><!-- doxytag: member="TiXmlVisitor::Visit" ref="a399b8ebca5cd14664974a32d2ce029e5" args="(const TiXmlText &amp;)" -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlVisitor.html#a399b8ebca5cd14664974a32d2ce029e5">Visit</a> (const <a class="el" href="classTiXmlText.html">TiXmlText</a> &amp;)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a text node. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a53a60e7a528627b31af3161972cc7fa2"></a><!-- doxytag: member="TiXmlVisitor::Visit" ref="a53a60e7a528627b31af3161972cc7fa2" args="(const TiXmlComment &amp;)" -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlVisitor.html#a53a60e7a528627b31af3161972cc7fa2">Visit</a> (const <a class="el" href="classTiXmlComment.html">TiXmlComment</a> &amp;)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit a comment node. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e284d607d275c51dac1adb58159ce28"></a><!-- doxytag: member="TiXmlVisitor::Visit" ref="a7e284d607d275c51dac1adb58159ce28" args="(const TiXmlUnknown &amp;)" -->
+virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlVisitor.html#a7e284d607d275c51dac1adb58159ce28">Visit</a> (const <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> &amp;)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit an unknow node. <br/></td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-If you call the Accept() method, it requires being passed a <a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a> class to handle callbacks.
-<p>
-For nodes that contain other nodes (Document, Element) you will get called with a VisitEnter/VisitExit pair. Nodes that are always leaves are simple called with <a class="el" href="classTiXmlVisitor.html#fad71c71ce6473fb9b4b64cd92de4a19">Visit()</a>.<p>
-If you return 'true' from a Visit method, recursive parsing will continue. If you return false, <b>no children of this node or its sibilings</b> will be Visited.<p>
-All flavors of Visit methods have a default implementation that returns 'true' (continue visiting). You need to only override methods that are interesting to you.<p>
-Generally Accept() is called on the <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a>, although all nodes suppert Visiting.<p>
-You should never change the document from a callback.<p>
-<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classTiXmlNode.html#cc0f88b7462c6cb73809d410a4f5bb86">TiXmlNode::Accept()</a> </dd></dl>
-
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="tinyxml_8h-source.html">tinyxml.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Implements the interface to the "Visitor pattern" (see the Accept() method. </p>
+<p>) If you call the Accept() method, it requires being passed a <a class="el" href="classTiXmlVisitor.html" title="Implements the interface to the &quot;Visitor pattern&quot; (see the Accept() method...">TiXmlVisitor</a> class to handle callbacks. For nodes that contain other nodes (Document, Element) you will get called with a VisitEnter/VisitExit pair. Nodes that are always leaves are simply called with <a class="el" href="classTiXmlVisitor.html#afad71c71ce6473fb9b4b64cd92de4a19" title="Visit a declaration.">Visit()</a>.</p>
+<p>If you return 'true' from a Visit method, recursive parsing will continue. If you return false, <b>no children of this node or its sibilings</b> will be Visited.</p>
+<p>All flavors of Visit methods have a default implementation that returns 'true' (continue visiting). You need to only override methods that are interesting to you.</p>
+<p>Generally Accept() is called on the <a class="el" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>, although all nodes suppert Visiting.</p>
+<p>You should never change the document from a callback.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classTiXmlNode.html#acc0f88b7462c6cb73809d410a4f5bb86" title="Accept a hierchical visit the nodes in the TinyXML DOM.">TiXmlNode::Accept()</a> </dd></dl>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tinyxml_8h_source.html">tinyxml.h</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/classTiXmlVisitor.png b/shared/tinyxml/docs/classTiXmlVisitor.png
index 3e7daece..b47e145d 100644
--- a/shared/tinyxml/docs/classTiXmlVisitor.png
+++ b/shared/tinyxml/docs/classTiXmlVisitor.png
Binary files differ
diff --git a/shared/tinyxml/docs/classes.html b/shared/tinyxml/docs/classes.html
new file mode 100644
index 00000000..8e24e1bf
--- /dev/null
+++ b/shared/tinyxml/docs/classes.html
@@ -0,0 +1,38 @@
+<!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"/>
+<title>TinyXml: Alphabetical List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Class Index</h1><div class="qindex"><a class="qindex" href="#letter_T">T</a></div>
+<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classTiXmlComment.html">TiXmlComment</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTiXmlElement.html">TiXmlElement</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTiXmlText.html">TiXmlText</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classTiXmlBase.html">TiXmlBase</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTiXmlNode.html">TiXmlNode</a>&nbsp;&nbsp;&nbsp;</td></tr></table><div class="qindex"><a class="qindex" href="#letter_T">T</a></div>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/deprecated.html b/shared/tinyxml/docs/deprecated.html
index ccfb3f69..2104c126 100644
--- a/shared/tinyxml/docs/deprecated.html
+++ b/shared/tinyxml/docs/deprecated.html
@@ -1,38 +1,49 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Deprecated List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1><a class="anchor" name="deprecated">Deprecated List</a></h1><a class="anchor" name="_deprecated000002"></a> <dl>
-<dt>Member <a class="el" href="classTiXmlHandle.html#cb5fe8388a526289ea65e817a51e05e7">TiXmlHandle::Element</a> () const </dt>
-<dd>use ToElement. Return the handle as a <a class="el" href="classTiXmlElement.html">TiXmlElement</a>. This may return null. </dd>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+
+<h1><a class="anchor" id="deprecated">Deprecated List </a></h1><p><a class="anchor" id="_deprecated000002"></a> </p>
+<dl>
+<dt>Member <a class="el" href="classTiXmlHandle.html#acb5fe8388a526289ea65e817a51e05e7">TiXmlHandle::Element</a> () const </dt>
+<dd>use ToElement. Return the handle as a <a class="el" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>. This may return null. </dd>
</dl>
-<p>
-<a class="anchor" name="_deprecated000001"></a> <dl>
-<dt>Member <a class="el" href="classTiXmlHandle.html#b44b723a8dc9af72838a303c079d0376">TiXmlHandle::Node</a> () const </dt>
-<dd>use ToNode. Return the handle as a <a class="el" href="classTiXmlNode.html">TiXmlNode</a>. This may return null. </dd>
+<p><a class="anchor" id="_deprecated000001"></a> </p>
+<dl>
+<dt>Member <a class="el" href="classTiXmlHandle.html#ab44b723a8dc9af72838a303c079d0376">TiXmlHandle::Node</a> () const </dt>
+<dd>use ToNode. Return the handle as a <a class="el" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>. This may return null. </dd>
</dl>
-<p>
-<a class="anchor" name="_deprecated000003"></a> <dl>
-<dt>Member <a class="el" href="classTiXmlHandle.html#9fc739c8a18d160006f82572fc143d13">TiXmlHandle::Text</a> () const </dt>
-<dd>use ToText() Return the handle as a <a class="el" href="classTiXmlText.html">TiXmlText</a>. This may return null. </dd>
+<p><a class="anchor" id="_deprecated000003"></a> </p>
+<dl>
+<dt>Member <a class="el" href="classTiXmlHandle.html#a9fc739c8a18d160006f82572fc143d13">TiXmlHandle::Text</a> () const </dt>
+<dd>use ToText() Return the handle as a <a class="el" href="classTiXmlText.html" title="XML text.">TiXmlText</a>. This may return null. </dd>
</dl>
-<p>
-<a class="anchor" name="_deprecated000004"></a> <dl>
-<dt>Member <a class="el" href="classTiXmlHandle.html#49675b74357ba2aae124657a9a1ef465">TiXmlHandle::Unknown</a> () const </dt>
-<dd>use ToUnknown() Return the handle as a <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a>. This may return null. </dd>
+<p><a class="anchor" id="_deprecated000004"></a> </p>
+<dl>
+<dt>Member <a class="el" href="classTiXmlHandle.html#a49675b74357ba2aae124657a9a1ef465">TiXmlHandle::Unknown</a> () const </dt>
+<dd>use ToUnknown() Return the handle as a <a class="el" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&#39;t recognize is saved as an unknown.">TiXmlUnknown</a>. This may return null. </dd>
</dl>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/doxygen.css b/shared/tinyxml/docs/doxygen.css
index 5d583694..b057a928 100644
--- a/shared/tinyxml/docs/doxygen.css
+++ b/shared/tinyxml/docs/doxygen.css
@@ -1,358 +1,532 @@
-BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
- font-family: Geneva, Arial, Helvetica, sans-serif;
-}
-BODY,TD {
- font-size: 90%;
+/* The standard CSS for doxygen */
+
+body, table, div, p, dl {
+ font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
+ font-size: 12px;
}
-H1 {
+
+/* @group Heading Levels */
+
+h1 {
text-align: center;
- font-size: 160%;
+ font-size: 150%;
}
-H2 {
- font-size: 120%;
+
+h2 {
+ font-size: 120%;
}
-H3 {
- font-size: 100%;
+
+h3 {
+ font-size: 100%;
}
-CAPTION { font-weight: bold }
-DIV.qindex {
- width: 100%;
+
+dt {
+ font-weight: bold;
+}
+
+div.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+}
+
+p.startli, p.startdd, p.starttd {
+ margin-top: 2px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+p.endtd {
+ margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+h3.version {
+ font-size: 90%;
+ text-align: center;
+}
+
+div.qindex, div.navtab{
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
padding: 2px;
- line-height: 140%;
}
-DIV.nav {
+
+div.qindex, div.navpath {
width: 100%;
- background-color: #e8eef2;
- border: 1px solid #84b0c7;
- text-align: center;
- margin: 2px;
- padding: 2px;
line-height: 140%;
}
-DIV.navtab {
- background-color: #e8eef2;
- border: 1px solid #84b0c7;
- text-align: center;
- margin: 2px;
- margin-right: 15px;
- padding: 2px;
+
+div.navtab {
+ margin-right: 15px;
}
-TD.navtab {
- font-size: 70%;
+
+/* @group Link Styling */
+
+a {
+ color: #153788;
+ font-weight: normal;
+ text-decoration: none;
}
-A.qindex {
- text-decoration: none;
- font-weight: bold;
- color: #1A419D;
+
+.contents a:visited {
+ color: #1b77c5;
}
-A.qindex:visited {
- text-decoration: none;
- font-weight: bold;
- color: #1A419D
+
+a:hover {
+ text-decoration: underline;
}
-A.qindex:hover {
- text-decoration: none;
- background-color: #ddddff;
+
+a.qindex {
+ font-weight: bold;
}
-A.qindexHL {
- text-decoration: none;
+
+a.qindexHL {
font-weight: bold;
background-color: #6666cc;
color: #ffffff;
border: 1px double #9295C2;
}
-A.qindexHL:hover {
- text-decoration: none;
- background-color: #6666cc;
- color: #ffffff;
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code {
+ color: #3030f0;
}
-A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
-A.el { text-decoration: none; font-weight: bold }
-A.elRef { font-weight: bold }
-A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
-A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
-A.codeRef:link { font-weight: normal; color: #0000FF}
-A.codeRef:visited { font-weight: normal; color: #0000FF}
-A:hover { text-decoration: none; background-color: #f2f2ff }
-DL.el { margin-left: -1cm }
+
+a.codeRef {
+ color: #3030f0;
+}
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
.fragment {
- font-family: monospace, fixed;
- font-size: 95%;
+ font-family: monospace, fixed;
+ font-size: 105%;
}
-PRE.fragment {
+
+pre.fragment {
border: 1px solid #CCCCCC;
background-color: #f5f5f5;
- margin-top: 4px;
- margin-bottom: 4px;
- margin-left: 2px;
- margin-right: 8px;
- padding-left: 6px;
- padding-right: 6px;
- padding-top: 4px;
- padding-bottom: 4px;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ overflow: auto;
+ word-wrap: break-word;
+ font-size: 9pt;
+ line-height: 125%;
+}
+
+div.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ margin-bottom: 6px;
+ font-weight: bold;
}
-DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
-DIV.groupHeader {
- margin-left: 16px;
- margin-top: 12px;
- margin-bottom: 6px;
- font-weight: bold;
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
}
-DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
-BODY {
+
+body {
background: white;
color: black;
margin-right: 20px;
margin-left: 20px;
}
-TD.indexkey {
+
+td.indexkey {
background-color: #e8eef2;
font-weight: bold;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px;
border: 1px solid #CCCCCC;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
}
-TD.indexvalue {
+
+td.indexvalue {
background-color: #e8eef2;
- font-style: italic;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px;
border: 1px solid #CCCCCC;
+ padding: 2px 10px;
+ margin: 2px 0px;
}
-TR.memlist {
- background-color: #f0f0f0;
-}
-P.formulaDsp { text-align: center; }
-IMG.formulaDsp { }
-IMG.formulaInl { vertical-align: middle; }
-SPAN.keyword { color: #008000 }
-SPAN.keywordtype { color: #604020 }
-SPAN.keywordflow { color: #e08000 }
-SPAN.comment { color: #800000 }
-SPAN.preprocessor { color: #806020 }
-SPAN.stringliteral { color: #002080 }
-SPAN.charliteral { color: #008080 }
-.mdescLeft {
- padding: 0px 8px 4px 8px;
- font-size: 80%;
- font-style: italic;
- background-color: #FAFAFA;
- border-top: 1px none #E0E0E0;
- border-right: 1px none #E0E0E0;
- border-bottom: 1px none #E0E0E0;
- border-left: 1px none #E0E0E0;
- margin: 0px;
+
+tr.memlist {
+ background-color: #f0f0f0;
}
-.mdescRight {
- padding: 0px 8px 4px 8px;
- font-size: 80%;
- font-style: italic;
- background-color: #FAFAFA;
- border-top: 1px none #E0E0E0;
- border-right: 1px none #E0E0E0;
- border-bottom: 1px none #E0E0E0;
- border-left: 1px none #E0E0E0;
- margin: 0px;
+
+p.formulaDsp {
+ text-align: center;
}
-.memItemLeft {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
+
+img.formulaDsp {
+
}
-.memItemRight {
- padding: 1px 8px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
+
+img.formulaInl {
+ vertical-align: middle;
}
-.memTemplItemLeft {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: none;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
}
-.memTemplItemRight {
- padding: 1px 8px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: none;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
+
+div.center img {
+ border: 0px;
}
-.memTemplParams {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- color: #606060;
- background-color: #FAFAFA;
- font-size: 80%;
+
+img.footer {
+ border: 0px;
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
}
-.search { color: #003399;
- font-weight: bold;
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
}
-FORM.search {
- margin-bottom: 0px;
- margin-top: 0px;
+
+span.preprocessor {
+ color: #806020
}
-INPUT.search { font-size: 75%;
- color: #000080;
- font-weight: normal;
- background-color: #e8eef2;
+
+span.stringliteral {
+ color: #002080
}
-TD.tiny { font-size: 75%;
+
+span.charliteral {
+ color: #008080
}
-a {
- color: #1A41A8;
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+/* @end */
+
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #84b0c7;
+}
+
+th.dirtab {
+ background: #e8eef2;
+ font-weight: bold;
}
-a:visited {
- color: #2A3798;
+
+hr {
+ height: 0;
+ border: none;
+ border-top: 1px solid #666;
}
-.dirtab { padding: 4px;
- border-collapse: collapse;
- border: 1px solid #84b0c7;
+
+/* @group Member Descriptions */
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #FAFAFA;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
}
-TH.dirtab { background: #e8eef2;
- font-weight: bold;
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
}
-HR { height: 1px;
- border: none;
- border-top: 1px solid black;
+
+.memItemLeft, .memItemRight, .memTemplParams {
+ border-top: 1px solid #ccc;
}
-/* Style for detailed member documentation */
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memTemplParams {
+ color: #606060;
+ white-space: nowrap;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
.memtemplate {
- font-size: 80%;
- color: #606060;
- font-weight: normal;
-}
-.memnav {
- background-color: #e8eef2;
- border: 1px solid #84b0c7;
- text-align: center;
- margin: 2px;
- margin-right: 15px;
- padding: 2px;
+ font-size: 80%;
+ color: #606060;
+ font-weight: normal;
+ margin-left: 3px;
}
+
+.memnav {
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
.memitem {
- padding: 4px;
- background-color: #eef3f5;
- border-width: 1px;
- border-style: solid;
- border-color: #dedeee;
- -moz-border-radius: 8px 8px 8px 8px;
+ padding: 0;
+ margin-bottom: 10px;
}
+
.memname {
- white-space: nowrap;
- font-weight: bold;
+ white-space: nowrap;
+ font-weight: bold;
}
-.memdoc{
- padding-left: 10px;
+
+.memproto, .memdoc {
+ border: 1px solid #84b0c7;
}
+
.memproto {
- background-color: #d5e1e8;
- width: 100%;
- border-width: 1px;
- border-style: solid;
- border-color: #84b0c7;
- font-weight: bold;
- -moz-border-radius: 8px 8px 8px 8px;
+ padding: 0;
+ background-color: #d5e1e8;
+ font-weight: bold;
+ -webkit-border-top-left-radius: 8px;
+ -webkit-border-top-right-radius: 8px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -moz-border-radius-topleft: 8px;
+ -moz-border-radius-topright: 8px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+
+}
+
+.memdoc {
+ padding: 2px 5px;
+ background-color: #eef3f5;
+ border-top-width: 0;
+ -webkit-border-bottom-left-radius: 8px;
+ -webkit-border-bottom-right-radius: 8px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -moz-border-radius-bottomleft: 8px;
+ -moz-border-radius-bottomright: 8px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
}
+
.paramkey {
- text-align: right;
+ text-align: right;
}
+
.paramtype {
- white-space: nowrap;
+ white-space: nowrap;
}
+
.paramname {
- color: #602020;
- font-style: italic;
+ color: #602020;
+ white-space: nowrap;
}
-/* End Styling for detailed member documentation */
+.paramname em {
+ font-style: normal;
+}
+
+/* @end */
+
+/* @group Directory (tree) */
/* for the tree view */
+
.ftvtree {
font-family: sans-serif;
- margin:0.5em;
-}
-.directory { font-size: 9pt; font-weight: bold; }
-.directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; }
-.directory > h3 { margin-top: 0; }
-.directory p { margin: 0px; white-space: nowrap; }
-.directory div { display: none; margin: 0px; }
-.directory img { vertical-align: -30%; }
+ margin: 0.5em;
+}
+
+/* these are for tree view when used as main index */
+
+.directory {
+ font-size: 9pt;
+ font-weight: bold;
+}
+
+.directory h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+/*
+The following two styles can be used to replace the root node title
+with an image of your choice. Simply uncomment the next two styles,
+specify the name of your image and be sure to set 'height' to the
+proper pixel height of your image.
+*/
+
+/*
+.directory h3.swap {
+ height: 61px;
+ background-repeat: no-repeat;
+ background-image: url("yourimage.gif");
+}
+.directory h3.swap span {
+ display: none;
+}
+*/
+
+.directory > h3 {
+ margin-top: 0;
+}
+
+.directory p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory div {
+ display: none;
+ margin: 0px;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+/* these are for tree view when not used as main index */
+
+.directory-alt {
+ font-size: 100%;
+ font-weight: bold;
+}
+
+.directory-alt h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+.directory-alt > h3 {
+ margin-top: 0;
+}
+
+.directory-alt p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory-alt div {
+ display: none;
+ margin: 0px;
+}
+
+.directory-alt img {
+ vertical-align: -30%;
+}
+
+/* @end */
+
+address {
+ font-style: normal;
+ color: #333;
+}
+
+table.doxtable {
+ border-collapse:collapse;
+}
+
+table.doxtable td, table.doxtable th {
+ border: 1px solid #153788;
+ padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+ background-color: #254798;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+}
diff --git a/shared/tinyxml/docs/files.html b/shared/tinyxml/docs/files.html
index 23a447d2..00cc413b 100644
--- a/shared/tinyxml/docs/files.html
+++ b/shared/tinyxml/docs/files.html
@@ -1,23 +1,36 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: File Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- <li id="current"><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>TinyXml File List</h1>Here is a list of all documented files with brief descriptions:<table>
- <tr><td class="indexkey"><b>tinystr.h</b> <a href="tinystr_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><b>tinyxml.h</b> <a href="tinyxml_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</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 class="tabs">
+ <ul>
+ <li class="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>File List</h1>Here is a list of all documented files with brief descriptions:<table>
+ <tr><td class="indexkey"><b>tinystr.h</b> <a href="tinystr_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><b>tinyxml.h</b> <a href="tinyxml_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/functions.html b/shared/tinyxml/docs/functions.html
index e1243226..66d97a61 100644
--- a/shared/tinyxml/docs/functions.html
+++ b/shared/tinyxml/docs/functions.html
@@ -1,196 +1,80 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li id="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li id="current"><a href="functions.html"><span>All</span></a></li>
- <li><a href="functions_func.html"><span>Functions</span></a></li>
- <li><a href="functions_vars.html"><span>Variables</span></a></li>
- <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
- <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
- </ul>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
</div>
-<div class="tabs">
- <ul>
- <li><a href="#index_a"><span>a</span></a></li>
- <li><a href="#index_c"><span>c</span></a></li>
- <li><a href="#index_d"><span>d</span></a></li>
- <li><a href="#index_e"><span>e</span></a></li>
- <li><a href="#index_f"><span>f</span></a></li>
- <li><a href="#index_g"><span>g</span></a></li>
- <li><a href="#index_i"><span>i</span></a></li>
- <li><a href="#index_l"><span>l</span></a></li>
- <li><a href="#index_n"><span>n</span></a></li>
- <li><a href="#index_o"><span>o</span></a></li>
- <li><a href="#index_p"><span>p</span></a></li>
- <li><a href="#index_q"><span>q</span></a></li>
- <li><a href="#index_r"><span>r</span></a></li>
- <li><a href="#index_s"><span>s</span></a></li>
- <li><a href="#index_t"><span>t</span></a></li>
- <li><a href="#index_u"><span>u</span></a></li>
- <li><a href="#index_v"><span>v</span></a></li>
- </ul>
-</div>
-
-<p>
+<div class="contents">
Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
+
+<h3><a class="anchor" id="index_a">- a -</a></h3><ul>
<li>Accept()
-: <a class="el" href="classTiXmlDocument.html#a545aae325d9752ad64120bc4ecf939a">TiXmlDocument</a>, <a class="el" href="classTiXmlUnknown.html#d7122e5135581b3c832a1a3217760a93">TiXmlUnknown</a>, <a class="el" href="classTiXmlDeclaration.html#22315a535983b86535cdba3458669e3e">TiXmlDeclaration</a>, <a class="el" href="classTiXmlText.html#8483d4415ce9de6c4fa8f63d067d5de6">TiXmlText</a>, <a class="el" href="classTiXmlComment.html#f3ac1b99fbbe9ea4fb6e14146156e43e">TiXmlComment</a>, <a class="el" href="classTiXmlElement.html#71a81b2afb0d42be1543d1c404dee6f5">TiXmlElement</a>, <a class="el" href="classTiXmlNode.html#cc0f88b7462c6cb73809d410a4f5bb86">TiXmlNode</a><li>Attribute()
-: <a class="el" href="classTiXmlElement.html#eaff99d4f0ea5b34f7aee202aad457ba">TiXmlElement</a></ul>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>CDATA()
-: <a class="el" href="classTiXmlText.html#d1a6a6b83fa2271022dd97c072a2b586">TiXmlText</a><li>Child()
-: <a class="el" href="classTiXmlHandle.html#f9cf6a7d08a5da94a8924425ad0cd5ac">TiXmlHandle</a><li>ChildElement()
-: <a class="el" href="classTiXmlHandle.html#8786475b9d1f1518492e3a46704c7ef0">TiXmlHandle</a><li>Clear()
-: <a class="el" href="classTiXmlNode.html#708e7f953df61d4d2d12f73171550a4b">TiXmlNode</a><li>ClearError()
-: <a class="el" href="classTiXmlDocument.html#c66b8c28db86363315712a3574e87c35">TiXmlDocument</a><li>Clone()
-: <a class="el" href="classTiXmlDocument.html#4968661cab4a1f44a23329c6f8db1907">TiXmlDocument</a>, <a class="el" href="classTiXmlUnknown.html#0960bb7428b3f341da46244229604d73">TiXmlUnknown</a>, <a class="el" href="classTiXmlDeclaration.html#7cf459186040141cda7a180a6585ce2e">TiXmlDeclaration</a>, <a class="el" href="classTiXmlText.html#0c411e93a27537369479d034cc82da3b">TiXmlText</a>, <a class="el" href="classTiXmlComment.html#0d6662bdc52488b9e12b3c7a0453d028">TiXmlComment</a>, <a class="el" href="classTiXmlElement.html#a464535ea1994db337cb6a8ce4b588b5">TiXmlElement</a>, <a class="el" href="classTiXmlNode.html#4508cc3a2d7a98e96a54cc09c37a78a4">TiXmlNode</a><li>Column()
-: <a class="el" href="classTiXmlBase.html#b54bfb9b70fe6dd276e7b279cab7f003">TiXmlBase</a><li>CStr()
-: <a class="el" href="classTiXmlPrinter.html#859eede9597d3e0355b77757be48735e">TiXmlPrinter</a></ul>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
-<li>DoubleValue()
-: <a class="el" href="classTiXmlAttribute.html#2880ddef53fc7522c99535273954d230">TiXmlAttribute</a></ul>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
-<li>Element()
-: <a class="el" href="classTiXmlHandle.html#cb5fe8388a526289ea65e817a51e05e7">TiXmlHandle</a><li>EncodeString()
-: <a class="el" href="classTiXmlBase.html#6bd8c315c1acb09e34107b8736505948">TiXmlBase</a><li>Encoding()
-: <a class="el" href="classTiXmlDeclaration.html#5d974231f9e9a2f0542f15f3a46cdb76">TiXmlDeclaration</a><li>Error()
-: <a class="el" href="classTiXmlDocument.html#6dfc01a6e5d58e56acd537dfd3bdeb29">TiXmlDocument</a><li>ErrorCol()
-: <a class="el" href="classTiXmlDocument.html#a90bc630ee5203c6109ca5fad3323649">TiXmlDocument</a><li>ErrorDesc()
-: <a class="el" href="classTiXmlDocument.html#9d0f689f6e09ea494ea547be8d79c25e">TiXmlDocument</a><li>ErrorId()
-: <a class="el" href="classTiXmlDocument.html#f96fc2f3f9ec6422782bfe916c9e778f">TiXmlDocument</a><li>ErrorRow()
-: <a class="el" href="classTiXmlDocument.html#f30efc75e804aa2e92fb8be3a8cb676e">TiXmlDocument</a></ul>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>FirstAttribute()
-: <a class="el" href="classTiXmlElement.html#516054c9073647d6cb29b6abe9fa0592">TiXmlElement</a><li>FirstChild()
-: <a class="el" href="classTiXmlHandle.html#8c61f64ae9365d89c264f289085541f8">TiXmlHandle</a>, <a class="el" href="classTiXmlNode.html#10d2669ccb5e29e02fcb0e4408685ef6">TiXmlNode</a><li>FirstChildElement()
-: <a class="el" href="classTiXmlHandle.html#f0aea751320f5e430fac6f8fff3b8dd4">TiXmlHandle</a>, <a class="el" href="classTiXmlNode.html#7f1d7291880534c1e5cdeb392d8c1f45">TiXmlNode</a></ul>
-<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
-<li>GetDocument()
-: <a class="el" href="classTiXmlNode.html#80e397fa973cf5323e33b07154b024f3">TiXmlNode</a><li>GetText()
-: <a class="el" href="classTiXmlElement.html#f3282294986cdb216646ea1f67af2c87">TiXmlElement</a><li>GetUserData()
-: <a class="el" href="classTiXmlBase.html#d0120210e4680ef2088601753ce0ede4">TiXmlBase</a></ul>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>Indent()
-: <a class="el" href="classTiXmlPrinter.html#bb33ec7d4bad6aaeb57f4304394b133d">TiXmlPrinter</a><li>InsertAfterChild()
-: <a class="el" href="classTiXmlNode.html#d9b75e54ec19301c8b4d5ff583d0b3d5">TiXmlNode</a><li>InsertBeforeChild()
-: <a class="el" href="classTiXmlNode.html#0c146fa2fff0157b681594102f48cbc7">TiXmlNode</a><li>InsertEndChild()
-: <a class="el" href="classTiXmlNode.html#d7d4630e1a2a916edda16be22448a8ba">TiXmlNode</a><li>IntValue()
-: <a class="el" href="classTiXmlAttribute.html#a1a20ad59dc7e89a0ab265396360d50f">TiXmlAttribute</a><li>IsWhiteSpaceCondensed()
-: <a class="el" href="classTiXmlBase.html#d4b1472531c647a25b1840a87ae42438">TiXmlBase</a><li>IterateChildren()
-: <a class="el" href="classTiXmlNode.html#16e9ad53e2f5445b14bf325c90aa862c">TiXmlNode</a></ul>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
-<li>LastAttribute()
-: <a class="el" href="classTiXmlElement.html#86191b49f9177be132b85b14655f1381">TiXmlElement</a><li>LastChild()
-: <a class="el" href="classTiXmlNode.html#69772c9202f70553f940b15c06b07be3">TiXmlNode</a><li>LineBreak()
-: <a class="el" href="classTiXmlPrinter.html#11f1b4804a460b175ec244eb5724d96d">TiXmlPrinter</a><li>LinkEndChild()
-: <a class="el" href="classTiXmlNode.html#5d29442ae46de6d0168429156197bfc6">TiXmlNode</a><li>LoadFile()
-: <a class="el" href="classTiXmlDocument.html#18ae6ed34fed7991ebc220862dfac884">TiXmlDocument</a></ul>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
-<li>Name()
-: <a class="el" href="classTiXmlAttribute.html#298a57287d305904ba6bd96ae6f78d3d">TiXmlAttribute</a><li>Next()
-: <a class="el" href="classTiXmlAttribute.html#1c78e92e223a40843f644ba48ef69f67">TiXmlAttribute</a><li>NextSibling()
-: <a class="el" href="classTiXmlNode.html#2e61c0b89a77e36a0e8c60490003cb46">TiXmlNode</a><li>NextSiblingElement()
-: <a class="el" href="classTiXmlNode.html#506958e34406729a4e4c5326ea39d081">TiXmlNode</a><li>NoChildren()
-: <a class="el" href="classTiXmlNode.html#eed21ad30630ef6e7faf096127edc9f3">TiXmlNode</a><li>Node()
-: <a class="el" href="classTiXmlHandle.html#b44b723a8dc9af72838a303c079d0376">TiXmlHandle</a><li>NodeType
-: <a class="el" href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">TiXmlNode</a></ul>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
-<li>operator&lt;&lt;
-: <a class="el" href="classTiXmlNode.html#52ef17e7080df2490cf87bde380685ab">TiXmlNode</a><li>operator&gt;&gt;
-: <a class="el" href="classTiXmlNode.html#b57bd426563c926844f65a78412e18b9">TiXmlNode</a></ul>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
-<li>Parent()
-: <a class="el" href="classTiXmlNode.html#b643043132ffd794f8602685d34a982e">TiXmlNode</a><li>Parse()
-: <a class="el" href="classTiXmlDocument.html#17ebabe36926ef398e78dec0d0ad0378">TiXmlDocument</a><li>Previous()
-: <a class="el" href="classTiXmlAttribute.html#6ebbfe333fe76cd834bd6cbcca3130cf">TiXmlAttribute</a><li>PreviousSibling()
-: <a class="el" href="classTiXmlNode.html#cc8a0434c7f401d4a3b6dee77c1a5912">TiXmlNode</a><li>Print()
-: <a class="el" href="classTiXmlDocument.html#8701fda1fa31b25abbc9c0df42da10e8">TiXmlDocument</a>, <a class="el" href="classTiXmlUnknown.html#31ba089a40fb5a1869750fce09b0bacb">TiXmlUnknown</a>, <a class="el" href="classTiXmlDeclaration.html#bf6303db4bd05b5be554036817ff1cb4">TiXmlDeclaration</a>, <a class="el" href="classTiXmlText.html#0cafbf6f236c7f02d12b2bffc2b7976b">TiXmlText</a>, <a class="el" href="classTiXmlComment.html#6b316527aaa8da0370cd68c22a5a0f5f">TiXmlComment</a>, <a class="el" href="classTiXmlElement.html#fbf52736e70fc91ec9d760721d6f4fd2">TiXmlElement</a>, <a class="el" href="classTiXmlAttribute.html#cc04956c1d5c4c31fe74f7a7528d109a">TiXmlAttribute</a>, <a class="el" href="classTiXmlBase.html#0de56b3f2ef14c65091a3b916437b512">TiXmlBase</a></ul>
-<h3><a class="anchor" name="index_q">- q -</a></h3><ul>
-<li>QueryDoubleAttribute()
-: <a class="el" href="classTiXmlElement.html#898d7730ecc341f0bffc7a9dadbf1ce7">TiXmlElement</a><li>QueryDoubleValue()
-: <a class="el" href="classTiXmlAttribute.html#c87b2a8489906a5d7aa2875f20be3513">TiXmlAttribute</a><li>QueryFloatAttribute()
-: <a class="el" href="classTiXmlElement.html#a04d3af11601ef5a5f88295203a843be">TiXmlElement</a><li>QueryIntAttribute()
-: <a class="el" href="classTiXmlElement.html#ea0bfe471380f281c5945770ddbf52b9">TiXmlElement</a><li>QueryIntValue()
-: <a class="el" href="classTiXmlAttribute.html#d6c93088ee21af41a107931223339344">TiXmlAttribute</a><li>QueryValueAttribute()
-: <a class="el" href="classTiXmlElement.html#e3b9a03b0a56663a40801c7256683576">TiXmlElement</a></ul>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>RemoveAttribute()
-: <a class="el" href="classTiXmlElement.html#1afa6aea716511326a608e4c05df4f3a">TiXmlElement</a><li>RemoveChild()
-: <a class="el" href="classTiXmlNode.html#e19d8510efc90596552f4feeac9a8fbf">TiXmlNode</a><li>ReplaceChild()
-: <a class="el" href="classTiXmlNode.html#0c49e739a17b9938050c22cd89617fbd">TiXmlNode</a><li>RootElement()
-: <a class="el" href="classTiXmlDocument.html#d09d17927f908f40efb406af2fb873be">TiXmlDocument</a><li>Row()
-: <a class="el" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">TiXmlBase</a></ul>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
-<li>SaveFile()
-: <a class="el" href="classTiXmlDocument.html#3d4fae0463f3f03679ba0b7cf6f2df52">TiXmlDocument</a><li>SetAttribute()
-: <a class="el" href="classTiXmlElement.html#ce6f4be75e373726d4774073d666d1a7">TiXmlElement</a><li>SetCDATA()
-: <a class="el" href="classTiXmlText.html#cb17ff7c5d09b2c839393445a3de5ea9">TiXmlText</a><li>SetCondenseWhiteSpace()
-: <a class="el" href="classTiXmlBase.html#0f799ec645bfb8d8a969e83478f379c1">TiXmlBase</a><li>SetDoubleAttribute()
-: <a class="el" href="classTiXmlElement.html#0d1dd975d75496778177e35abfe0ec0b">TiXmlElement</a><li>SetDoubleValue()
-: <a class="el" href="classTiXmlAttribute.html#0316da31373496c4368ad549bf711394">TiXmlAttribute</a><li>SetIndent()
-: <a class="el" href="classTiXmlPrinter.html#213377a4070c7e625bae59716b089e5e">TiXmlPrinter</a><li>SetIntValue()
-: <a class="el" href="classTiXmlAttribute.html#7e065df640116a62ea4f4b7da5449cc8">TiXmlAttribute</a><li>SetLineBreak()
-: <a class="el" href="classTiXmlPrinter.html#4be1e37e69e3858c59635aa947174fe6">TiXmlPrinter</a><li>SetName()
-: <a class="el" href="classTiXmlAttribute.html#b296ff0c9a8c701055cd257a8a976e57">TiXmlAttribute</a><li>SetStreamPrinting()
-: <a class="el" href="classTiXmlPrinter.html#b23a90629e374cb1cadca090468bbd19">TiXmlPrinter</a><li>SetTabSize()
-: <a class="el" href="classTiXmlDocument.html#51dac56316f89b35bdb7d0d433ba988e">TiXmlDocument</a><li>SetUserData()
-: <a class="el" href="classTiXmlBase.html#c6b3e0f790930d4970ec30764e937b5d">TiXmlBase</a><li>SetValue()
-: <a class="el" href="classTiXmlAttribute.html#b43f67a0cc3ec1d80e62606500f0925f">TiXmlAttribute</a>, <a class="el" href="classTiXmlNode.html#2598d5f448042c1abbeae4503dd45ff2">TiXmlNode</a><li>Size()
-: <a class="el" href="classTiXmlPrinter.html#d01375ae9199bd2f48252eaddce3039d">TiXmlPrinter</a><li>Standalone()
-: <a class="el" href="classTiXmlDeclaration.html#9ff06afc033d7ef730ec7c6825b97ad9">TiXmlDeclaration</a><li>Str()
-: <a class="el" href="classTiXmlPrinter.html#3bd4daf44309b41f5813a833caa0d1c9">TiXmlPrinter</a></ul>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
-<li>Text()
-: <a class="el" href="classTiXmlHandle.html#9fc739c8a18d160006f82572fc143d13">TiXmlHandle</a><li>TiXmlAttribute()
-: <a class="el" href="classTiXmlAttribute.html#759d0b76fb8fcf765ecab243bc14f05e">TiXmlAttribute</a><li>TiXmlComment()
-: <a class="el" href="classTiXmlComment.html#37e7802ef17bc03ebe5ae79bf0713d47">TiXmlComment</a><li>TiXmlDeclaration()
-: <a class="el" href="classTiXmlDeclaration.html#3b618d1c30c25e4b7a71f31a595ee298">TiXmlDeclaration</a><li>TiXmlDocument()
-: <a class="el" href="classTiXmlDocument.html#2c6e58fb99bfa76cc613f16840022225">TiXmlDocument</a><li>TiXmlElement()
-: <a class="el" href="classTiXmlElement.html#40fc2e3c1a955e2f78e1a32350d180e7">TiXmlElement</a><li>TiXmlHandle()
-: <a class="el" href="classTiXmlHandle.html#236d7855e1e56ccc7b980630c48c7fd7">TiXmlHandle</a><li>TiXmlText()
-: <a class="el" href="classTiXmlText.html#439792f6183a3d3fb6f2bc2b16fa5691">TiXmlText</a><li>ToComment()
-: <a class="el" href="classTiXmlComment.html#cc7c7e07e13c23f17797d642981511df">TiXmlComment</a>, <a class="el" href="classTiXmlNode.html#383e06a0787f7063953934867990f849">TiXmlNode</a><li>ToDeclaration()
-: <a class="el" href="classTiXmlDeclaration.html#6bd3d1daddcaeb9543c24bfd090969ce">TiXmlDeclaration</a>, <a class="el" href="classTiXmlNode.html#4027136ca820ff4a636b607231b6a6df">TiXmlNode</a><li>ToDocument()
-: <a class="el" href="classTiXmlDocument.html#1025d942a1f328fd742d545e37efdd42">TiXmlDocument</a>, <a class="el" href="classTiXmlNode.html#6a4c8ac28ee7a745d059db6691e03bae">TiXmlNode</a><li>ToElement()
-: <a class="el" href="classTiXmlHandle.html#bc6e7ed383a5fe1e52b0c0004b457b9e">TiXmlHandle</a>, <a class="el" href="classTiXmlElement.html#9def86337ea7a755eb41cac980f60c7a">TiXmlElement</a>, <a class="el" href="classTiXmlNode.html#a65d000223187d22a4dcebd7479e9ebc">TiXmlNode</a><li>ToNode()
-: <a class="el" href="classTiXmlHandle.html#f678e5088e83be67baf76f699756f2c3">TiXmlHandle</a><li>ToText()
-: <a class="el" href="classTiXmlHandle.html#4ac53a652296203a5b5e13854d923586">TiXmlHandle</a>, <a class="el" href="classTiXmlText.html#e7c3a8fd3e4dbf6c0c4363a943d72f5b">TiXmlText</a>, <a class="el" href="classTiXmlNode.html#3ddfbcac78fbea041fad57e5c6d60a03">TiXmlNode</a><li>ToUnknown()
-: <a class="el" href="classTiXmlHandle.html#1381c17507a130767b1e23afc93b3674">TiXmlHandle</a>, <a class="el" href="classTiXmlUnknown.html#67c9fd22940e8c47f706a72cdd2e332c">TiXmlUnknown</a>, <a class="el" href="classTiXmlNode.html#06de5af852668c7e4af0d09c205f0b0d">TiXmlNode</a><li>Type()
-: <a class="el" href="classTiXmlNode.html#57b99d5c97d67a42b9752f5210a1ba5e">TiXmlNode</a></ul>
-<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
-<li>Unknown()
-: <a class="el" href="classTiXmlHandle.html#49675b74357ba2aae124657a9a1ef465">TiXmlHandle</a><li>userData
-: <a class="el" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">TiXmlBase</a></ul>
-<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
-<li>Value()
-: <a class="el" href="classTiXmlAttribute.html#0f874490eac8ca00ee0070765d0e97e3">TiXmlAttribute</a>, <a class="el" href="classTiXmlNode.html#77943eb90d12c2892b1337a9f5918b41">TiXmlNode</a><li>ValueStr()
-: <a class="el" href="classTiXmlAttribute.html#87705c3ccf9ee9417beb4f7cbacd4d33">TiXmlAttribute</a>, <a class="el" href="classTiXmlNode.html#6d9e505619d39bf50bfd9609c9169ea5">TiXmlNode</a><li>Version()
-: <a class="el" href="classTiXmlDeclaration.html#02ee557b1a4545c3219ed377c103ec76">TiXmlDeclaration</a><li>Visit()
-: <a class="el" href="classTiXmlPrinter.html#d2dca6dd106e8982fd3c7db1f3330970">TiXmlPrinter</a>, <a class="el" href="classTiXmlVisitor.html#7e284d607d275c51dac1adb58159ce28">TiXmlVisitor</a><li>VisitEnter()
-: <a class="el" href="classTiXmlPrinter.html#0c5e7bf8622838417a0d0bfb8f433854">TiXmlPrinter</a>, <a class="el" href="classTiXmlVisitor.html#f6c6178ffa517bbdba95d70490875fff">TiXmlVisitor</a><li>VisitExit()
-: <a class="el" href="classTiXmlPrinter.html#1853cf2f6e63ad4b4232b4835e0acaf0">TiXmlPrinter</a>, <a class="el" href="classTiXmlVisitor.html#ec2b1f8116226d52f3a1b95dafd3a32c">TiXmlVisitor</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+: <a class="el" href="classTiXmlNode.html#acc0f88b7462c6cb73809d410a4f5bb86">TiXmlNode</a>
+, <a class="el" href="classTiXmlElement.html#a71a81b2afb0d42be1543d1c404dee6f5">TiXmlElement</a>
+, <a class="el" href="classTiXmlText.html#a8483d4415ce9de6c4fa8f63d067d5de6">TiXmlText</a>
+, <a class="el" href="classTiXmlDeclaration.html#a22315a535983b86535cdba3458669e3e">TiXmlDeclaration</a>
+, <a class="el" href="classTiXmlDocument.html#aa545aae325d9752ad64120bc4ecf939a">TiXmlDocument</a>
+, <a class="el" href="classTiXmlUnknown.html#ad7122e5135581b3c832a1a3217760a93">TiXmlUnknown</a>
+, <a class="el" href="classTiXmlComment.html#af3ac1b99fbbe9ea4fb6e14146156e43e">TiXmlComment</a>
+</li>
+<li>Attribute()
+: <a class="el" href="classTiXmlElement.html#aeaff99d4f0ea5b34f7aee202aad457ba">TiXmlElement</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/functions_0x63.html b/shared/tinyxml/docs/functions_0x63.html
new file mode 100644
index 00000000..aeeb7e9d
--- /dev/null
+++ b/shared/tinyxml/docs/functions_0x63.html
@@ -0,0 +1,98 @@
+<!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"/>
+<title>TinyXml: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li class="current"><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>CDATA()
+: <a class="el" href="classTiXmlText.html#ad1a6a6b83fa2271022dd97c072a2b586">TiXmlText</a>
+</li>
+<li>Child()
+: <a class="el" href="classTiXmlHandle.html#a072492b4be1acdb0db2d03cd8f71ccc4">TiXmlHandle</a>
+</li>
+<li>ChildElement()
+: <a class="el" href="classTiXmlHandle.html#a979a3f850984a176ee884e394c7eed2d">TiXmlHandle</a>
+</li>
+<li>Clear()
+: <a class="el" href="classTiXmlNode.html#a708e7f953df61d4d2d12f73171550a4b">TiXmlNode</a>
+</li>
+<li>ClearError()
+: <a class="el" href="classTiXmlDocument.html#ac66b8c28db86363315712a3574e87c35">TiXmlDocument</a>
+</li>
+<li>Clone()
+: <a class="el" href="classTiXmlComment.html#a0d6662bdc52488b9e12b3c7a0453d028">TiXmlComment</a>
+, <a class="el" href="classTiXmlElement.html#aa464535ea1994db337cb6a8ce4b588b5">TiXmlElement</a>
+, <a class="el" href="classTiXmlUnknown.html#a0960bb7428b3f341da46244229604d73">TiXmlUnknown</a>
+, <a class="el" href="classTiXmlNode.html#a4508cc3a2d7a98e96a54cc09c37a78a4">TiXmlNode</a>
+, <a class="el" href="classTiXmlDeclaration.html#a7cf459186040141cda7a180a6585ce2e">TiXmlDeclaration</a>
+, <a class="el" href="classTiXmlDocument.html#a4968661cab4a1f44a23329c6f8db1907">TiXmlDocument</a>
+, <a class="el" href="classTiXmlText.html#a0c411e93a27537369479d034cc82da3b">TiXmlText</a>
+</li>
+<li>Column()
+: <a class="el" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003">TiXmlBase</a>
+</li>
+<li>CStr()
+: <a class="el" href="classTiXmlPrinter.html#a859eede9597d3e0355b77757be48735e">TiXmlPrinter</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_0x64.html b/shared/tinyxml/docs/functions_0x64.html
new file mode 100644
index 00000000..d969d855
--- /dev/null
+++ b/shared/tinyxml/docs/functions_0x64.html
@@ -0,0 +1,71 @@
+<!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"/>
+<title>TinyXml: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li class="current"><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>DoubleValue()
+: <a class="el" href="classTiXmlAttribute.html#a2880ddef53fc7522c99535273954d230">TiXmlAttribute</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_0x65.html b/shared/tinyxml/docs/functions_0x65.html
new file mode 100644
index 00000000..556f57d8
--- /dev/null
+++ b/shared/tinyxml/docs/functions_0x65.html
@@ -0,0 +1,92 @@
+<!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"/>
+<title>TinyXml: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li class="current"><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
+<li>Element()
+: <a class="el" href="classTiXmlHandle.html#acb5fe8388a526289ea65e817a51e05e7">TiXmlHandle</a>
+</li>
+<li>EncodeString()
+: <a class="el" href="classTiXmlBase.html#a6bd8c315c1acb09e34107b8736505948">TiXmlBase</a>
+</li>
+<li>Encoding()
+: <a class="el" href="classTiXmlDeclaration.html#a5d974231f9e9a2f0542f15f3a46cdb76">TiXmlDeclaration</a>
+</li>
+<li>Error()
+: <a class="el" href="classTiXmlDocument.html#a6dfc01a6e5d58e56acd537dfd3bdeb29">TiXmlDocument</a>
+</li>
+<li>ErrorCol()
+: <a class="el" href="classTiXmlDocument.html#aa90bc630ee5203c6109ca5fad3323649">TiXmlDocument</a>
+</li>
+<li>ErrorDesc()
+: <a class="el" href="classTiXmlDocument.html#a9d0f689f6e09ea494ea547be8d79c25e">TiXmlDocument</a>
+</li>
+<li>ErrorId()
+: <a class="el" href="classTiXmlDocument.html#af96fc2f3f9ec6422782bfe916c9e778f">TiXmlDocument</a>
+</li>
+<li>ErrorRow()
+: <a class="el" href="classTiXmlDocument.html#af30efc75e804aa2e92fb8be3a8cb676e">TiXmlDocument</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_0x66.html b/shared/tinyxml/docs/functions_0x66.html
new file mode 100644
index 00000000..6c343d00
--- /dev/null
+++ b/shared/tinyxml/docs/functions_0x66.html
@@ -0,0 +1,82 @@
+<!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"/>
+<title>TinyXml: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li class="current"><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
+<li>FirstAttribute()
+: <a class="el" href="classTiXmlElement.html#a516054c9073647d6cb29b6abe9fa0592">TiXmlElement</a>
+</li>
+<li>FirstChild()
+: <a class="el" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0">TiXmlNode</a>
+, <a class="el" href="classTiXmlHandle.html#a8c61f64ae9365d89c264f289085541f8">TiXmlHandle</a>
+, <a class="el" href="classTiXmlNode.html#a07f6200a5956c723c5b52d70f29c46f6">TiXmlNode</a>
+, <a class="el" href="classTiXmlHandle.html#acdb1faaf88a700b40ca2c8d9aee21139">TiXmlHandle</a>
+</li>
+<li>FirstChildElement()
+: <a class="el" href="classTiXmlNode.html#af4fb652f6bd79ae0d5ce7d0f7d3c0fba">TiXmlNode</a>
+, <a class="el" href="classTiXmlHandle.html#a24d1112e995e937e4dddb202d4113d4a">TiXmlHandle</a>
+, <a class="el" href="classTiXmlNode.html#a327ad4bbd90073c5dfc931b07314f5f7">TiXmlNode</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_0x67.html b/shared/tinyxml/docs/functions_0x67.html
new file mode 100644
index 00000000..80308b92
--- /dev/null
+++ b/shared/tinyxml/docs/functions_0x67.html
@@ -0,0 +1,77 @@
+<!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"/>
+<title>TinyXml: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li class="current"><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
+<li>GetDocument()
+: <a class="el" href="classTiXmlNode.html#a80e397fa973cf5323e33b07154b024f3">TiXmlNode</a>
+</li>
+<li>GetText()
+: <a class="el" href="classTiXmlElement.html#af3282294986cdb216646ea1f67af2c87">TiXmlElement</a>
+</li>
+<li>GetUserData()
+: <a class="el" href="classTiXmlBase.html#a6559a530ca6763fc301a14d77ed28c17">TiXmlBase</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_0x69.html b/shared/tinyxml/docs/functions_0x69.html
new file mode 100644
index 00000000..c247d90b
--- /dev/null
+++ b/shared/tinyxml/docs/functions_0x69.html
@@ -0,0 +1,89 @@
+<!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"/>
+<title>TinyXml: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li class="current"><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>Indent()
+: <a class="el" href="classTiXmlPrinter.html#abb33ec7d4bad6aaeb57f4304394b133d">TiXmlPrinter</a>
+</li>
+<li>InsertAfterChild()
+: <a class="el" href="classTiXmlNode.html#ad9b75e54ec19301c8b4d5ff583d0b3d5">TiXmlNode</a>
+</li>
+<li>InsertBeforeChild()
+: <a class="el" href="classTiXmlNode.html#a0c146fa2fff0157b681594102f48cbc7">TiXmlNode</a>
+</li>
+<li>InsertEndChild()
+: <a class="el" href="classTiXmlNode.html#ad7d4630e1a2a916edda16be22448a8ba">TiXmlNode</a>
+</li>
+<li>IntValue()
+: <a class="el" href="classTiXmlAttribute.html#aa1a20ad59dc7e89a0ab265396360d50f">TiXmlAttribute</a>
+</li>
+<li>IsWhiteSpaceCondensed()
+: <a class="el" href="classTiXmlBase.html#ad4b1472531c647a25b1840a87ae42438">TiXmlBase</a>
+</li>
+<li>IterateChildren()
+: <a class="el" href="classTiXmlNode.html#adfaef35a076b9343adc1420757376c39">TiXmlNode</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_0x6c.html b/shared/tinyxml/docs/functions_0x6c.html
new file mode 100644
index 00000000..95e429cf
--- /dev/null
+++ b/shared/tinyxml/docs/functions_0x6c.html
@@ -0,0 +1,83 @@
+<!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"/>
+<title>TinyXml: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li class="current"><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
+<li>LastAttribute()
+: <a class="el" href="classTiXmlElement.html#a86191b49f9177be132b85b14655f1381">TiXmlElement</a>
+</li>
+<li>LastChild()
+: <a class="el" href="classTiXmlNode.html#a6432d2b2495f6caf9cb4278df706a031">TiXmlNode</a>
+</li>
+<li>LineBreak()
+: <a class="el" href="classTiXmlPrinter.html#a11f1b4804a460b175ec244eb5724d96d">TiXmlPrinter</a>
+</li>
+<li>LinkEndChild()
+: <a class="el" href="classTiXmlNode.html#a5d29442ae46de6d0168429156197bfc6">TiXmlNode</a>
+</li>
+<li>LoadFile()
+: <a class="el" href="classTiXmlDocument.html#a41f6fe7200864d1dca663d230caf8db6">TiXmlDocument</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_0x6e.html b/shared/tinyxml/docs/functions_0x6e.html
new file mode 100644
index 00000000..2a501e95
--- /dev/null
+++ b/shared/tinyxml/docs/functions_0x6e.html
@@ -0,0 +1,89 @@
+<!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"/>
+<title>TinyXml: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li class="current"><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>Name()
+: <a class="el" href="classTiXmlAttribute.html#a298a57287d305904ba6bd96ae6f78d3d">TiXmlAttribute</a>
+</li>
+<li>Next()
+: <a class="el" href="classTiXmlAttribute.html#a1c78e92e223a40843f644ba48ef69f67">TiXmlAttribute</a>
+</li>
+<li>NextSibling()
+: <a class="el" href="classTiXmlNode.html#a1757c1f4d01e8c9596ffdbd561c76aea">TiXmlNode</a>
+</li>
+<li>NextSiblingElement()
+: <a class="el" href="classTiXmlNode.html#a071ba77fd7ab79402fa84b7e9b8607b3">TiXmlNode</a>
+</li>
+<li>NoChildren()
+: <a class="el" href="classTiXmlNode.html#aeed21ad30630ef6e7faf096127edc9f3">TiXmlNode</a>
+</li>
+<li>Node()
+: <a class="el" href="classTiXmlHandle.html#ab44b723a8dc9af72838a303c079d0376">TiXmlHandle</a>
+</li>
+<li>NodeType
+: <a class="el" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2">TiXmlNode</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_0x6f.html b/shared/tinyxml/docs/functions_0x6f.html
new file mode 100644
index 00000000..c60a9e9f
--- /dev/null
+++ b/shared/tinyxml/docs/functions_0x6f.html
@@ -0,0 +1,74 @@
+<!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"/>
+<title>TinyXml: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li class="current"><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
+<li>operator&lt;&lt;
+: <a class="el" href="classTiXmlNode.html#a86cd49cfb17a844c0010b3136ac966c7">TiXmlNode</a>
+</li>
+<li>operator&gt;&gt;
+: <a class="el" href="classTiXmlNode.html#ab57bd426563c926844f65a78412e18b9">TiXmlNode</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_0x70.html b/shared/tinyxml/docs/functions_0x70.html
new file mode 100644
index 00000000..88375a93
--- /dev/null
+++ b/shared/tinyxml/docs/functions_0x70.html
@@ -0,0 +1,91 @@
+<!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"/>
+<title>TinyXml: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li class="current"><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
+<li>Parent()
+: <a class="el" href="classTiXmlNode.html#ab643043132ffd794f8602685d34a982e">TiXmlNode</a>
+</li>
+<li>Parse()
+: <a class="el" href="classTiXmlDocument.html#a17ebabe36926ef398e78dec0d0ad0378">TiXmlDocument</a>
+</li>
+<li>Previous()
+: <a class="el" href="classTiXmlAttribute.html#a6ebbfe333fe76cd834bd6cbcca3130cf">TiXmlAttribute</a>
+</li>
+<li>PreviousSibling()
+: <a class="el" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10">TiXmlNode</a>
+</li>
+<li>Print()
+: <a class="el" href="classTiXmlElement.html#afbf52736e70fc91ec9d760721d6f4fd2">TiXmlElement</a>
+, <a class="el" href="classTiXmlAttribute.html#acc04956c1d5c4c31fe74f7a7528d109a">TiXmlAttribute</a>
+, <a class="el" href="classTiXmlBase.html#a0de56b3f2ef14c65091a3b916437b512">TiXmlBase</a>
+, <a class="el" href="classTiXmlText.html#a0cafbf6f236c7f02d12b2bffc2b7976b">TiXmlText</a>
+, <a class="el" href="classTiXmlDocument.html#af08389ec70ee9b2de7f800e206a18510">TiXmlDocument</a>
+, <a class="el" href="classTiXmlUnknown.html#a31ba089a40fb5a1869750fce09b0bacb">TiXmlUnknown</a>
+, <a class="el" href="classTiXmlDocument.html#a8701fda1fa31b25abbc9c0df42da10e8">TiXmlDocument</a>
+, <a class="el" href="classTiXmlComment.html#a6b316527aaa8da0370cd68c22a5a0f5f">TiXmlComment</a>
+, <a class="el" href="classTiXmlDeclaration.html#abf6303db4bd05b5be554036817ff1cb4">TiXmlDeclaration</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_0x71.html b/shared/tinyxml/docs/functions_0x71.html
new file mode 100644
index 00000000..c7882b83
--- /dev/null
+++ b/shared/tinyxml/docs/functions_0x71.html
@@ -0,0 +1,89 @@
+<!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"/>
+<title>TinyXml: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li class="current"><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_q">- q -</a></h3><ul>
+<li>QueryDoubleAttribute()
+: <a class="el" href="classTiXmlElement.html#a898d7730ecc341f0bffc7a9dadbf1ce7">TiXmlElement</a>
+</li>
+<li>QueryDoubleValue()
+: <a class="el" href="classTiXmlAttribute.html#ac87b2a8489906a5d7aa2875f20be3513">TiXmlAttribute</a>
+</li>
+<li>QueryFloatAttribute()
+: <a class="el" href="classTiXmlElement.html#aa04d3af11601ef5a5f88295203a843be">TiXmlElement</a>
+</li>
+<li>QueryIntAttribute()
+: <a class="el" href="classTiXmlElement.html#aea0bfe471380f281c5945770ddbf52b9">TiXmlElement</a>
+</li>
+<li>QueryIntValue()
+: <a class="el" href="classTiXmlAttribute.html#ad6c93088ee21af41a107931223339344">TiXmlAttribute</a>
+</li>
+<li>QueryStringAttribute()
+: <a class="el" href="classTiXmlElement.html#a14321ac360efe906ed449d9db3fd9961">TiXmlElement</a>
+</li>
+<li>QueryValueAttribute()
+: <a class="el" href="classTiXmlElement.html#ae3b9a03b0a56663a40801c7256683576">TiXmlElement</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_0x72.html b/shared/tinyxml/docs/functions_0x72.html
new file mode 100644
index 00000000..499cc00e
--- /dev/null
+++ b/shared/tinyxml/docs/functions_0x72.html
@@ -0,0 +1,83 @@
+<!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"/>
+<title>TinyXml: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li class="current"><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>RemoveAttribute()
+: <a class="el" href="classTiXmlElement.html#a56979767deca794376b1dfa69a525b2a">TiXmlElement</a>
+</li>
+<li>RemoveChild()
+: <a class="el" href="classTiXmlNode.html#ae19d8510efc90596552f4feeac9a8fbf">TiXmlNode</a>
+</li>
+<li>ReplaceChild()
+: <a class="el" href="classTiXmlNode.html#a0c49e739a17b9938050c22cd89617fbd">TiXmlNode</a>
+</li>
+<li>RootElement()
+: <a class="el" href="classTiXmlDocument.html#ad09d17927f908f40efb406af2fb873be">TiXmlDocument</a>
+</li>
+<li>Row()
+: <a class="el" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853">TiXmlBase</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_0x73.html b/shared/tinyxml/docs/functions_0x73.html
new file mode 100644
index 00000000..c788c5ad
--- /dev/null
+++ b/shared/tinyxml/docs/functions_0x73.html
@@ -0,0 +1,121 @@
+<!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"/>
+<title>TinyXml: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li class="current"><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>SaveFile()
+: <a class="el" href="classTiXmlDocument.html#a21c0aeb0d0a720169ad4ac89523ebe93">TiXmlDocument</a>
+</li>
+<li>SetAttribute()
+: <a class="el" href="classTiXmlElement.html#ace6f4be75e373726d4774073d666d1a7">TiXmlElement</a>
+</li>
+<li>SetCDATA()
+: <a class="el" href="classTiXmlText.html#acb17ff7c5d09b2c839393445a3de5ea9">TiXmlText</a>
+</li>
+<li>SetCondenseWhiteSpace()
+: <a class="el" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1">TiXmlBase</a>
+</li>
+<li>SetDoubleAttribute()
+: <a class="el" href="classTiXmlElement.html#a0d1dd975d75496778177e35abfe0ec0b">TiXmlElement</a>
+</li>
+<li>SetDoubleValue()
+: <a class="el" href="classTiXmlAttribute.html#a0316da31373496c4368ad549bf711394">TiXmlAttribute</a>
+</li>
+<li>SetIndent()
+: <a class="el" href="classTiXmlPrinter.html#a213377a4070c7e625bae59716b089e5e">TiXmlPrinter</a>
+</li>
+<li>SetIntValue()
+: <a class="el" href="classTiXmlAttribute.html#a7e065df640116a62ea4f4b7da5449cc8">TiXmlAttribute</a>
+</li>
+<li>SetLineBreak()
+: <a class="el" href="classTiXmlPrinter.html#a4be1e37e69e3858c59635aa947174fe6">TiXmlPrinter</a>
+</li>
+<li>SetName()
+: <a class="el" href="classTiXmlAttribute.html#ab7fa3d21ff8d7c5764cf9af15b667a99">TiXmlAttribute</a>
+</li>
+<li>SetStreamPrinting()
+: <a class="el" href="classTiXmlPrinter.html#ab23a90629e374cb1cadca090468bbd19">TiXmlPrinter</a>
+</li>
+<li>SetTabSize()
+: <a class="el" href="classTiXmlDocument.html#a51dac56316f89b35bdb7d0d433ba988e">TiXmlDocument</a>
+</li>
+<li>SetUserData()
+: <a class="el" href="classTiXmlBase.html#ac6b3e0f790930d4970ec30764e937b5d">TiXmlBase</a>
+</li>
+<li>SetValue()
+: <a class="el" href="classTiXmlAttribute.html#a2dae44178f668b3cb48101be4f2236a0">TiXmlAttribute</a>
+, <a class="el" href="classTiXmlNode.html#a2598d5f448042c1abbeae4503dd45ff2">TiXmlNode</a>
+, <a class="el" href="classTiXmlAttribute.html#ab43f67a0cc3ec1d80e62606500f0925f">TiXmlAttribute</a>
+</li>
+<li>Size()
+: <a class="el" href="classTiXmlPrinter.html#ad01375ae9199bd2f48252eaddce3039d">TiXmlPrinter</a>
+</li>
+<li>Standalone()
+: <a class="el" href="classTiXmlDeclaration.html#a9ff06afc033d7ef730ec7c6825b97ad9">TiXmlDeclaration</a>
+</li>
+<li>Str()
+: <a class="el" href="classTiXmlPrinter.html#a3bd4daf44309b41f5813a833caa0d1c9">TiXmlPrinter</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_0x74.html b/shared/tinyxml/docs/functions_0x74.html
new file mode 100644
index 00000000..0b28df1f
--- /dev/null
+++ b/shared/tinyxml/docs/functions_0x74.html
@@ -0,0 +1,127 @@
+<!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"/>
+<title>TinyXml: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li class="current"><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
+<li>Text()
+: <a class="el" href="classTiXmlHandle.html#a9fc739c8a18d160006f82572fc143d13">TiXmlHandle</a>
+</li>
+<li>TiXmlAttribute()
+: <a class="el" href="classTiXmlAttribute.html#a9cfa3c8179873fd485d83003b114f8e1">TiXmlAttribute</a>
+</li>
+<li>TiXmlComment()
+: <a class="el" href="classTiXmlComment.html#aaa3252031d3e8bd3a2bf51a1c61201b7">TiXmlComment</a>
+</li>
+<li>TiXmlDeclaration()
+: <a class="el" href="classTiXmlDeclaration.html#acd5556007c3c72209465081de39d9836">TiXmlDeclaration</a>
+</li>
+<li>TiXmlDocument()
+: <a class="el" href="classTiXmlDocument.html#a9f5e84335708fde98400230f9f12659c">TiXmlDocument</a>
+</li>
+<li>TiXmlElement()
+: <a class="el" href="classTiXmlElement.html#a01bc3ab372d35da08efcbbe65ad90c60">TiXmlElement</a>
+</li>
+<li>TiXmlHandle()
+: <a class="el" href="classTiXmlHandle.html#a236d7855e1e56ccc7b980630c48c7fd7">TiXmlHandle</a>
+</li>
+<li>TiXmlText()
+: <a class="el" href="classTiXmlText.html#af659e77c6b87d684827f35a8f4895960">TiXmlText</a>
+</li>
+<li>ToComment()
+: <a class="el" href="classTiXmlNode.html#aa0a5086f9eaee910bbfdc7f975e26574">TiXmlNode</a>
+, <a class="el" href="classTiXmlComment.html#a00fb4215c20a2399ea05ac9b9e7e68a0">TiXmlComment</a>
+</li>
+<li>ToDeclaration()
+: <a class="el" href="classTiXmlNode.html#a9f43e6984fc7d4afd6eb32714c6b7b72">TiXmlNode</a>
+, <a class="el" href="classTiXmlDeclaration.html#a1e085d3fefd1dbf5ccdbff729931a967">TiXmlDeclaration</a>
+</li>
+<li>ToDocument()
+: <a class="el" href="classTiXmlNode.html#a8a4cda4b15c29f64cff419309aebed08">TiXmlNode</a>
+, <a class="el" href="classTiXmlDocument.html#a1dc977bde3e4fe85a8eb9d88a35ef5a4">TiXmlDocument</a>
+</li>
+<li>ToElement()
+: <a class="el" href="classTiXmlNode.html#a72abed96dc9667ab9e0a2a275301bb1c">TiXmlNode</a>
+, <a class="el" href="classTiXmlElement.html#ac5b8d0e25fa23fd9acbb6d146082901c">TiXmlElement</a>
+, <a class="el" href="classTiXmlHandle.html#abc6e7ed383a5fe1e52b0c0004b457b9e">TiXmlHandle</a>
+</li>
+<li>ToNode()
+: <a class="el" href="classTiXmlHandle.html#af678e5088e83be67baf76f699756f2c3">TiXmlHandle</a>
+</li>
+<li>ToText()
+: <a class="el" href="classTiXmlText.html#ae7c3a8fd3e4dbf6c0c4363a943d72f5b">TiXmlText</a>
+, <a class="el" href="classTiXmlHandle.html#a4ac53a652296203a5b5e13854d923586">TiXmlHandle</a>
+, <a class="el" href="classTiXmlNode.html#a3ddfbcac78fbea041fad57e5c6d60a03">TiXmlNode</a>
+, <a class="el" href="classTiXmlText.html#a895bf34ffad17f7439ab2a52b9651648">TiXmlText</a>
+</li>
+<li>ToUnknown()
+: <a class="el" href="classTiXmlNode.html#afd7205cf31d7a376929f8a36930627a2">TiXmlNode</a>
+, <a class="el" href="classTiXmlUnknown.html#ab0313e5fe77987d746ac1a97a254419d">TiXmlUnknown</a>
+, <a class="el" href="classTiXmlNode.html#a06de5af852668c7e4af0d09c205f0b0d">TiXmlNode</a>
+, <a class="el" href="classTiXmlHandle.html#a1381c17507a130767b1e23afc93b3674">TiXmlHandle</a>
+</li>
+<li>Type()
+: <a class="el" href="classTiXmlNode.html#a57b99d5c97d67a42b9752f5210a1ba5e">TiXmlNode</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_0x75.html b/shared/tinyxml/docs/functions_0x75.html
new file mode 100644
index 00000000..ce91f08b
--- /dev/null
+++ b/shared/tinyxml/docs/functions_0x75.html
@@ -0,0 +1,74 @@
+<!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"/>
+<title>TinyXml: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li class="current"><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_u">- u -</a></h3><ul>
+<li>Unknown()
+: <a class="el" href="classTiXmlHandle.html#a49675b74357ba2aae124657a9a1ef465">TiXmlHandle</a>
+</li>
+<li>userData
+: <a class="el" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c">TiXmlBase</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_0x76.html b/shared/tinyxml/docs/functions_0x76.html
new file mode 100644
index 00000000..bc6b15d8
--- /dev/null
+++ b/shared/tinyxml/docs/functions_0x76.html
@@ -0,0 +1,97 @@
+<!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"/>
+<title>TinyXml: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li class="current"><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_v">- v -</a></h3><ul>
+<li>Value()
+: <a class="el" href="classTiXmlNode.html#a77943eb90d12c2892b1337a9f5918b41">TiXmlNode</a>
+, <a class="el" href="classTiXmlAttribute.html#a0f874490eac8ca00ee0070765d0e97e3">TiXmlAttribute</a>
+</li>
+<li>ValueStr()
+: <a class="el" href="classTiXmlAttribute.html#a87705c3ccf9ee9417beb4f7cbacd4d33">TiXmlAttribute</a>
+, <a class="el" href="classTiXmlNode.html#a6d9e505619d39bf50bfd9609c9169ea5">TiXmlNode</a>
+</li>
+<li>Version()
+: <a class="el" href="classTiXmlDeclaration.html#a02ee557b1a4545c3219ed377c103ec76">TiXmlDeclaration</a>
+</li>
+<li>Visit()
+: <a class="el" href="classTiXmlVisitor.html#a53a60e7a528627b31af3161972cc7fa2">TiXmlVisitor</a>
+, <a class="el" href="classTiXmlPrinter.html#ace1b14d33eede2575c0743e2350f6a38">TiXmlPrinter</a>
+, <a class="el" href="classTiXmlVisitor.html#afad71c71ce6473fb9b4b64cd92de4a19">TiXmlVisitor</a>
+, <a class="el" href="classTiXmlPrinter.html#a83c13d6b980064b30f989f9a35498979">TiXmlPrinter</a>
+, <a class="el" href="classTiXmlVisitor.html#a399b8ebca5cd14664974a32d2ce029e5">TiXmlVisitor</a>
+</li>
+<li>VisitEnter()
+: <a class="el" href="classTiXmlVisitor.html#a07baecb52dd7d8716ae2a48ad0956ee0">TiXmlVisitor</a>
+, <a class="el" href="classTiXmlPrinter.html#a0c5e7bf8622838417a0d0bfb8f433854">TiXmlPrinter</a>
+, <a class="el" href="classTiXmlVisitor.html#af6c6178ffa517bbdba95d70490875fff">TiXmlVisitor</a>
+</li>
+<li>VisitExit()
+: <a class="el" href="classTiXmlPrinter.html#a1853cf2f6e63ad4b4232b4835e0acaf0">TiXmlPrinter</a>
+, <a class="el" href="classTiXmlVisitor.html#aa0ade4f27087447e93974e975c3246ad">TiXmlVisitor</a>
+, <a class="el" href="classTiXmlPrinter.html#a66b33edd76c538b462f789b797a4fdf2">TiXmlPrinter</a>
+, <a class="el" href="classTiXmlVisitor.html#aec2b1f8116226d52f3a1b95dafd3a32c">TiXmlVisitor</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_enum.html b/shared/tinyxml/docs/functions_enum.html
index 563709ba..c9a7002b 100644
--- a/shared/tinyxml/docs/functions_enum.html
+++ b/shared/tinyxml/docs/functions_enum.html
@@ -1,39 +1,48 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Class Members - Enumerations</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li id="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="functions.html"><span>All</span></a></li>
- <li><a href="functions_func.html"><span>Functions</span></a></li>
- <li><a href="functions_vars.html"><span>Variables</span></a></li>
- <li id="current"><a href="functions_enum.html"><span>Enumerations</span></a></li>
- <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
- </ul>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li class="current"><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
</div>
-&nbsp;
-<p>
-<ul>
+<div class="contents">
+&nbsp;<ul>
<li>NodeType
-: <a class="el" href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">TiXmlNode</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+: <a class="el" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2">TiXmlNode</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/functions_func.html b/shared/tinyxml/docs/functions_func.html
index 99bdfbd3..85ac2d81 100644
--- a/shared/tinyxml/docs/functions_func.html
+++ b/shared/tinyxml/docs/functions_func.html
@@ -1,189 +1,79 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li id="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="functions.html"><span>All</span></a></li>
- <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
- <li><a href="functions_vars.html"><span>Variables</span></a></li>
- <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
- <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
- </ul>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
</div>
-<div class="tabs">
- <ul>
- <li><a href="#index_a"><span>a</span></a></li>
- <li><a href="#index_c"><span>c</span></a></li>
- <li><a href="#index_d"><span>d</span></a></li>
- <li><a href="#index_e"><span>e</span></a></li>
- <li><a href="#index_f"><span>f</span></a></li>
- <li><a href="#index_g"><span>g</span></a></li>
- <li><a href="#index_i"><span>i</span></a></li>
- <li><a href="#index_l"><span>l</span></a></li>
- <li><a href="#index_n"><span>n</span></a></li>
- <li><a href="#index_p"><span>p</span></a></li>
- <li><a href="#index_q"><span>q</span></a></li>
- <li><a href="#index_r"><span>r</span></a></li>
- <li><a href="#index_s"><span>s</span></a></li>
- <li><a href="#index_t"><span>t</span></a></li>
- <li><a href="#index_u"><span>u</span></a></li>
- <li><a href="#index_v"><span>v</span></a></li>
- </ul>
-</div>
-
-<p>
+<div class="contents">
&nbsp;
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
+
+<h3><a class="anchor" id="index_a">- a -</a></h3><ul>
<li>Accept()
-: <a class="el" href="classTiXmlDocument.html#a545aae325d9752ad64120bc4ecf939a">TiXmlDocument</a>, <a class="el" href="classTiXmlUnknown.html#d7122e5135581b3c832a1a3217760a93">TiXmlUnknown</a>, <a class="el" href="classTiXmlDeclaration.html#22315a535983b86535cdba3458669e3e">TiXmlDeclaration</a>, <a class="el" href="classTiXmlText.html#8483d4415ce9de6c4fa8f63d067d5de6">TiXmlText</a>, <a class="el" href="classTiXmlComment.html#f3ac1b99fbbe9ea4fb6e14146156e43e">TiXmlComment</a>, <a class="el" href="classTiXmlElement.html#71a81b2afb0d42be1543d1c404dee6f5">TiXmlElement</a>, <a class="el" href="classTiXmlNode.html#cc0f88b7462c6cb73809d410a4f5bb86">TiXmlNode</a><li>Attribute()
-: <a class="el" href="classTiXmlElement.html#eaff99d4f0ea5b34f7aee202aad457ba">TiXmlElement</a></ul>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>CDATA()
-: <a class="el" href="classTiXmlText.html#d1a6a6b83fa2271022dd97c072a2b586">TiXmlText</a><li>Child()
-: <a class="el" href="classTiXmlHandle.html#f9cf6a7d08a5da94a8924425ad0cd5ac">TiXmlHandle</a><li>ChildElement()
-: <a class="el" href="classTiXmlHandle.html#8786475b9d1f1518492e3a46704c7ef0">TiXmlHandle</a><li>Clear()
-: <a class="el" href="classTiXmlNode.html#708e7f953df61d4d2d12f73171550a4b">TiXmlNode</a><li>ClearError()
-: <a class="el" href="classTiXmlDocument.html#c66b8c28db86363315712a3574e87c35">TiXmlDocument</a><li>Clone()
-: <a class="el" href="classTiXmlDocument.html#4968661cab4a1f44a23329c6f8db1907">TiXmlDocument</a>, <a class="el" href="classTiXmlUnknown.html#0960bb7428b3f341da46244229604d73">TiXmlUnknown</a>, <a class="el" href="classTiXmlDeclaration.html#7cf459186040141cda7a180a6585ce2e">TiXmlDeclaration</a>, <a class="el" href="classTiXmlText.html#0c411e93a27537369479d034cc82da3b">TiXmlText</a>, <a class="el" href="classTiXmlComment.html#0d6662bdc52488b9e12b3c7a0453d028">TiXmlComment</a>, <a class="el" href="classTiXmlElement.html#a464535ea1994db337cb6a8ce4b588b5">TiXmlElement</a>, <a class="el" href="classTiXmlNode.html#4508cc3a2d7a98e96a54cc09c37a78a4">TiXmlNode</a><li>Column()
-: <a class="el" href="classTiXmlBase.html#b54bfb9b70fe6dd276e7b279cab7f003">TiXmlBase</a><li>CStr()
-: <a class="el" href="classTiXmlPrinter.html#859eede9597d3e0355b77757be48735e">TiXmlPrinter</a></ul>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
-<li>DoubleValue()
-: <a class="el" href="classTiXmlAttribute.html#2880ddef53fc7522c99535273954d230">TiXmlAttribute</a></ul>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
-<li>Element()
-: <a class="el" href="classTiXmlHandle.html#cb5fe8388a526289ea65e817a51e05e7">TiXmlHandle</a><li>EncodeString()
-: <a class="el" href="classTiXmlBase.html#6bd8c315c1acb09e34107b8736505948">TiXmlBase</a><li>Encoding()
-: <a class="el" href="classTiXmlDeclaration.html#5d974231f9e9a2f0542f15f3a46cdb76">TiXmlDeclaration</a><li>Error()
-: <a class="el" href="classTiXmlDocument.html#6dfc01a6e5d58e56acd537dfd3bdeb29">TiXmlDocument</a><li>ErrorCol()
-: <a class="el" href="classTiXmlDocument.html#a90bc630ee5203c6109ca5fad3323649">TiXmlDocument</a><li>ErrorDesc()
-: <a class="el" href="classTiXmlDocument.html#9d0f689f6e09ea494ea547be8d79c25e">TiXmlDocument</a><li>ErrorId()
-: <a class="el" href="classTiXmlDocument.html#f96fc2f3f9ec6422782bfe916c9e778f">TiXmlDocument</a><li>ErrorRow()
-: <a class="el" href="classTiXmlDocument.html#f30efc75e804aa2e92fb8be3a8cb676e">TiXmlDocument</a></ul>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>FirstAttribute()
-: <a class="el" href="classTiXmlElement.html#516054c9073647d6cb29b6abe9fa0592">TiXmlElement</a><li>FirstChild()
-: <a class="el" href="classTiXmlHandle.html#8c61f64ae9365d89c264f289085541f8">TiXmlHandle</a>, <a class="el" href="classTiXmlNode.html#10d2669ccb5e29e02fcb0e4408685ef6">TiXmlNode</a><li>FirstChildElement()
-: <a class="el" href="classTiXmlHandle.html#f0aea751320f5e430fac6f8fff3b8dd4">TiXmlHandle</a>, <a class="el" href="classTiXmlNode.html#7f1d7291880534c1e5cdeb392d8c1f45">TiXmlNode</a></ul>
-<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
-<li>GetDocument()
-: <a class="el" href="classTiXmlNode.html#80e397fa973cf5323e33b07154b024f3">TiXmlNode</a><li>GetText()
-: <a class="el" href="classTiXmlElement.html#f3282294986cdb216646ea1f67af2c87">TiXmlElement</a><li>GetUserData()
-: <a class="el" href="classTiXmlBase.html#d0120210e4680ef2088601753ce0ede4">TiXmlBase</a></ul>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>Indent()
-: <a class="el" href="classTiXmlPrinter.html#bb33ec7d4bad6aaeb57f4304394b133d">TiXmlPrinter</a><li>InsertAfterChild()
-: <a class="el" href="classTiXmlNode.html#d9b75e54ec19301c8b4d5ff583d0b3d5">TiXmlNode</a><li>InsertBeforeChild()
-: <a class="el" href="classTiXmlNode.html#0c146fa2fff0157b681594102f48cbc7">TiXmlNode</a><li>InsertEndChild()
-: <a class="el" href="classTiXmlNode.html#d7d4630e1a2a916edda16be22448a8ba">TiXmlNode</a><li>IntValue()
-: <a class="el" href="classTiXmlAttribute.html#a1a20ad59dc7e89a0ab265396360d50f">TiXmlAttribute</a><li>IsWhiteSpaceCondensed()
-: <a class="el" href="classTiXmlBase.html#d4b1472531c647a25b1840a87ae42438">TiXmlBase</a><li>IterateChildren()
-: <a class="el" href="classTiXmlNode.html#16e9ad53e2f5445b14bf325c90aa862c">TiXmlNode</a></ul>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
-<li>LastAttribute()
-: <a class="el" href="classTiXmlElement.html#86191b49f9177be132b85b14655f1381">TiXmlElement</a><li>LastChild()
-: <a class="el" href="classTiXmlNode.html#69772c9202f70553f940b15c06b07be3">TiXmlNode</a><li>LineBreak()
-: <a class="el" href="classTiXmlPrinter.html#11f1b4804a460b175ec244eb5724d96d">TiXmlPrinter</a><li>LinkEndChild()
-: <a class="el" href="classTiXmlNode.html#5d29442ae46de6d0168429156197bfc6">TiXmlNode</a><li>LoadFile()
-: <a class="el" href="classTiXmlDocument.html#18ae6ed34fed7991ebc220862dfac884">TiXmlDocument</a></ul>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
-<li>Name()
-: <a class="el" href="classTiXmlAttribute.html#298a57287d305904ba6bd96ae6f78d3d">TiXmlAttribute</a><li>Next()
-: <a class="el" href="classTiXmlAttribute.html#1c78e92e223a40843f644ba48ef69f67">TiXmlAttribute</a><li>NextSibling()
-: <a class="el" href="classTiXmlNode.html#2e61c0b89a77e36a0e8c60490003cb46">TiXmlNode</a><li>NextSiblingElement()
-: <a class="el" href="classTiXmlNode.html#506958e34406729a4e4c5326ea39d081">TiXmlNode</a><li>NoChildren()
-: <a class="el" href="classTiXmlNode.html#eed21ad30630ef6e7faf096127edc9f3">TiXmlNode</a><li>Node()
-: <a class="el" href="classTiXmlHandle.html#b44b723a8dc9af72838a303c079d0376">TiXmlHandle</a></ul>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
-<li>Parent()
-: <a class="el" href="classTiXmlNode.html#b643043132ffd794f8602685d34a982e">TiXmlNode</a><li>Parse()
-: <a class="el" href="classTiXmlDocument.html#17ebabe36926ef398e78dec0d0ad0378">TiXmlDocument</a><li>Previous()
-: <a class="el" href="classTiXmlAttribute.html#6ebbfe333fe76cd834bd6cbcca3130cf">TiXmlAttribute</a><li>PreviousSibling()
-: <a class="el" href="classTiXmlNode.html#cc8a0434c7f401d4a3b6dee77c1a5912">TiXmlNode</a><li>Print()
-: <a class="el" href="classTiXmlDocument.html#8701fda1fa31b25abbc9c0df42da10e8">TiXmlDocument</a>, <a class="el" href="classTiXmlUnknown.html#31ba089a40fb5a1869750fce09b0bacb">TiXmlUnknown</a>, <a class="el" href="classTiXmlDeclaration.html#bf6303db4bd05b5be554036817ff1cb4">TiXmlDeclaration</a>, <a class="el" href="classTiXmlText.html#0cafbf6f236c7f02d12b2bffc2b7976b">TiXmlText</a>, <a class="el" href="classTiXmlComment.html#6b316527aaa8da0370cd68c22a5a0f5f">TiXmlComment</a>, <a class="el" href="classTiXmlElement.html#fbf52736e70fc91ec9d760721d6f4fd2">TiXmlElement</a>, <a class="el" href="classTiXmlAttribute.html#cc04956c1d5c4c31fe74f7a7528d109a">TiXmlAttribute</a>, <a class="el" href="classTiXmlBase.html#0de56b3f2ef14c65091a3b916437b512">TiXmlBase</a></ul>
-<h3><a class="anchor" name="index_q">- q -</a></h3><ul>
-<li>QueryDoubleAttribute()
-: <a class="el" href="classTiXmlElement.html#898d7730ecc341f0bffc7a9dadbf1ce7">TiXmlElement</a><li>QueryDoubleValue()
-: <a class="el" href="classTiXmlAttribute.html#c87b2a8489906a5d7aa2875f20be3513">TiXmlAttribute</a><li>QueryFloatAttribute()
-: <a class="el" href="classTiXmlElement.html#a04d3af11601ef5a5f88295203a843be">TiXmlElement</a><li>QueryIntAttribute()
-: <a class="el" href="classTiXmlElement.html#ea0bfe471380f281c5945770ddbf52b9">TiXmlElement</a><li>QueryIntValue()
-: <a class="el" href="classTiXmlAttribute.html#d6c93088ee21af41a107931223339344">TiXmlAttribute</a><li>QueryValueAttribute()
-: <a class="el" href="classTiXmlElement.html#e3b9a03b0a56663a40801c7256683576">TiXmlElement</a></ul>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>RemoveAttribute()
-: <a class="el" href="classTiXmlElement.html#1afa6aea716511326a608e4c05df4f3a">TiXmlElement</a><li>RemoveChild()
-: <a class="el" href="classTiXmlNode.html#e19d8510efc90596552f4feeac9a8fbf">TiXmlNode</a><li>ReplaceChild()
-: <a class="el" href="classTiXmlNode.html#0c49e739a17b9938050c22cd89617fbd">TiXmlNode</a><li>RootElement()
-: <a class="el" href="classTiXmlDocument.html#d09d17927f908f40efb406af2fb873be">TiXmlDocument</a><li>Row()
-: <a class="el" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">TiXmlBase</a></ul>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
-<li>SaveFile()
-: <a class="el" href="classTiXmlDocument.html#3d4fae0463f3f03679ba0b7cf6f2df52">TiXmlDocument</a><li>SetAttribute()
-: <a class="el" href="classTiXmlElement.html#ce6f4be75e373726d4774073d666d1a7">TiXmlElement</a><li>SetCDATA()
-: <a class="el" href="classTiXmlText.html#cb17ff7c5d09b2c839393445a3de5ea9">TiXmlText</a><li>SetCondenseWhiteSpace()
-: <a class="el" href="classTiXmlBase.html#0f799ec645bfb8d8a969e83478f379c1">TiXmlBase</a><li>SetDoubleAttribute()
-: <a class="el" href="classTiXmlElement.html#0d1dd975d75496778177e35abfe0ec0b">TiXmlElement</a><li>SetDoubleValue()
-: <a class="el" href="classTiXmlAttribute.html#0316da31373496c4368ad549bf711394">TiXmlAttribute</a><li>SetIndent()
-: <a class="el" href="classTiXmlPrinter.html#213377a4070c7e625bae59716b089e5e">TiXmlPrinter</a><li>SetIntValue()
-: <a class="el" href="classTiXmlAttribute.html#7e065df640116a62ea4f4b7da5449cc8">TiXmlAttribute</a><li>SetLineBreak()
-: <a class="el" href="classTiXmlPrinter.html#4be1e37e69e3858c59635aa947174fe6">TiXmlPrinter</a><li>SetName()
-: <a class="el" href="classTiXmlAttribute.html#b296ff0c9a8c701055cd257a8a976e57">TiXmlAttribute</a><li>SetStreamPrinting()
-: <a class="el" href="classTiXmlPrinter.html#b23a90629e374cb1cadca090468bbd19">TiXmlPrinter</a><li>SetTabSize()
-: <a class="el" href="classTiXmlDocument.html#51dac56316f89b35bdb7d0d433ba988e">TiXmlDocument</a><li>SetUserData()
-: <a class="el" href="classTiXmlBase.html#c6b3e0f790930d4970ec30764e937b5d">TiXmlBase</a><li>SetValue()
-: <a class="el" href="classTiXmlAttribute.html#b43f67a0cc3ec1d80e62606500f0925f">TiXmlAttribute</a>, <a class="el" href="classTiXmlNode.html#2598d5f448042c1abbeae4503dd45ff2">TiXmlNode</a><li>Size()
-: <a class="el" href="classTiXmlPrinter.html#d01375ae9199bd2f48252eaddce3039d">TiXmlPrinter</a><li>Standalone()
-: <a class="el" href="classTiXmlDeclaration.html#9ff06afc033d7ef730ec7c6825b97ad9">TiXmlDeclaration</a><li>Str()
-: <a class="el" href="classTiXmlPrinter.html#3bd4daf44309b41f5813a833caa0d1c9">TiXmlPrinter</a></ul>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
-<li>Text()
-: <a class="el" href="classTiXmlHandle.html#9fc739c8a18d160006f82572fc143d13">TiXmlHandle</a><li>TiXmlAttribute()
-: <a class="el" href="classTiXmlAttribute.html#759d0b76fb8fcf765ecab243bc14f05e">TiXmlAttribute</a><li>TiXmlComment()
-: <a class="el" href="classTiXmlComment.html#37e7802ef17bc03ebe5ae79bf0713d47">TiXmlComment</a><li>TiXmlDeclaration()
-: <a class="el" href="classTiXmlDeclaration.html#3b618d1c30c25e4b7a71f31a595ee298">TiXmlDeclaration</a><li>TiXmlDocument()
-: <a class="el" href="classTiXmlDocument.html#2c6e58fb99bfa76cc613f16840022225">TiXmlDocument</a><li>TiXmlElement()
-: <a class="el" href="classTiXmlElement.html#40fc2e3c1a955e2f78e1a32350d180e7">TiXmlElement</a><li>TiXmlHandle()
-: <a class="el" href="classTiXmlHandle.html#236d7855e1e56ccc7b980630c48c7fd7">TiXmlHandle</a><li>TiXmlText()
-: <a class="el" href="classTiXmlText.html#439792f6183a3d3fb6f2bc2b16fa5691">TiXmlText</a><li>ToComment()
-: <a class="el" href="classTiXmlComment.html#cc7c7e07e13c23f17797d642981511df">TiXmlComment</a>, <a class="el" href="classTiXmlNode.html#383e06a0787f7063953934867990f849">TiXmlNode</a><li>ToDeclaration()
-: <a class="el" href="classTiXmlDeclaration.html#6bd3d1daddcaeb9543c24bfd090969ce">TiXmlDeclaration</a>, <a class="el" href="classTiXmlNode.html#4027136ca820ff4a636b607231b6a6df">TiXmlNode</a><li>ToDocument()
-: <a class="el" href="classTiXmlDocument.html#1025d942a1f328fd742d545e37efdd42">TiXmlDocument</a>, <a class="el" href="classTiXmlNode.html#6a4c8ac28ee7a745d059db6691e03bae">TiXmlNode</a><li>ToElement()
-: <a class="el" href="classTiXmlHandle.html#bc6e7ed383a5fe1e52b0c0004b457b9e">TiXmlHandle</a>, <a class="el" href="classTiXmlElement.html#9def86337ea7a755eb41cac980f60c7a">TiXmlElement</a>, <a class="el" href="classTiXmlNode.html#a65d000223187d22a4dcebd7479e9ebc">TiXmlNode</a><li>ToNode()
-: <a class="el" href="classTiXmlHandle.html#f678e5088e83be67baf76f699756f2c3">TiXmlHandle</a><li>ToText()
-: <a class="el" href="classTiXmlHandle.html#4ac53a652296203a5b5e13854d923586">TiXmlHandle</a>, <a class="el" href="classTiXmlText.html#e7c3a8fd3e4dbf6c0c4363a943d72f5b">TiXmlText</a>, <a class="el" href="classTiXmlNode.html#3ddfbcac78fbea041fad57e5c6d60a03">TiXmlNode</a><li>ToUnknown()
-: <a class="el" href="classTiXmlHandle.html#1381c17507a130767b1e23afc93b3674">TiXmlHandle</a>, <a class="el" href="classTiXmlUnknown.html#67c9fd22940e8c47f706a72cdd2e332c">TiXmlUnknown</a>, <a class="el" href="classTiXmlNode.html#06de5af852668c7e4af0d09c205f0b0d">TiXmlNode</a><li>Type()
-: <a class="el" href="classTiXmlNode.html#57b99d5c97d67a42b9752f5210a1ba5e">TiXmlNode</a></ul>
-<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
-<li>Unknown()
-: <a class="el" href="classTiXmlHandle.html#49675b74357ba2aae124657a9a1ef465">TiXmlHandle</a></ul>
-<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
-<li>Value()
-: <a class="el" href="classTiXmlAttribute.html#0f874490eac8ca00ee0070765d0e97e3">TiXmlAttribute</a>, <a class="el" href="classTiXmlNode.html#77943eb90d12c2892b1337a9f5918b41">TiXmlNode</a><li>ValueStr()
-: <a class="el" href="classTiXmlAttribute.html#87705c3ccf9ee9417beb4f7cbacd4d33">TiXmlAttribute</a>, <a class="el" href="classTiXmlNode.html#6d9e505619d39bf50bfd9609c9169ea5">TiXmlNode</a><li>Version()
-: <a class="el" href="classTiXmlDeclaration.html#02ee557b1a4545c3219ed377c103ec76">TiXmlDeclaration</a><li>Visit()
-: <a class="el" href="classTiXmlPrinter.html#d2dca6dd106e8982fd3c7db1f3330970">TiXmlPrinter</a>, <a class="el" href="classTiXmlVisitor.html#7e284d607d275c51dac1adb58159ce28">TiXmlVisitor</a><li>VisitEnter()
-: <a class="el" href="classTiXmlPrinter.html#0c5e7bf8622838417a0d0bfb8f433854">TiXmlPrinter</a>, <a class="el" href="classTiXmlVisitor.html#f6c6178ffa517bbdba95d70490875fff">TiXmlVisitor</a><li>VisitExit()
-: <a class="el" href="classTiXmlPrinter.html#1853cf2f6e63ad4b4232b4835e0acaf0">TiXmlPrinter</a>, <a class="el" href="classTiXmlVisitor.html#ec2b1f8116226d52f3a1b95dafd3a32c">TiXmlVisitor</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+: <a class="el" href="classTiXmlNode.html#acc0f88b7462c6cb73809d410a4f5bb86">TiXmlNode</a>
+, <a class="el" href="classTiXmlElement.html#a71a81b2afb0d42be1543d1c404dee6f5">TiXmlElement</a>
+, <a class="el" href="classTiXmlText.html#a8483d4415ce9de6c4fa8f63d067d5de6">TiXmlText</a>
+, <a class="el" href="classTiXmlDeclaration.html#a22315a535983b86535cdba3458669e3e">TiXmlDeclaration</a>
+, <a class="el" href="classTiXmlDocument.html#aa545aae325d9752ad64120bc4ecf939a">TiXmlDocument</a>
+, <a class="el" href="classTiXmlUnknown.html#ad7122e5135581b3c832a1a3217760a93">TiXmlUnknown</a>
+, <a class="el" href="classTiXmlComment.html#af3ac1b99fbbe9ea4fb6e14146156e43e">TiXmlComment</a>
+</li>
+<li>Attribute()
+: <a class="el" href="classTiXmlElement.html#aeaff99d4f0ea5b34f7aee202aad457ba">TiXmlElement</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/functions_func_0x63.html b/shared/tinyxml/docs/functions_func_0x63.html
new file mode 100644
index 00000000..d2eaf207
--- /dev/null
+++ b/shared/tinyxml/docs/functions_func_0x63.html
@@ -0,0 +1,97 @@
+<!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"/>
+<title>TinyXml: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li class="current"><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>CDATA()
+: <a class="el" href="classTiXmlText.html#ad1a6a6b83fa2271022dd97c072a2b586">TiXmlText</a>
+</li>
+<li>Child()
+: <a class="el" href="classTiXmlHandle.html#a072492b4be1acdb0db2d03cd8f71ccc4">TiXmlHandle</a>
+</li>
+<li>ChildElement()
+: <a class="el" href="classTiXmlHandle.html#a979a3f850984a176ee884e394c7eed2d">TiXmlHandle</a>
+</li>
+<li>Clear()
+: <a class="el" href="classTiXmlNode.html#a708e7f953df61d4d2d12f73171550a4b">TiXmlNode</a>
+</li>
+<li>ClearError()
+: <a class="el" href="classTiXmlDocument.html#ac66b8c28db86363315712a3574e87c35">TiXmlDocument</a>
+</li>
+<li>Clone()
+: <a class="el" href="classTiXmlComment.html#a0d6662bdc52488b9e12b3c7a0453d028">TiXmlComment</a>
+, <a class="el" href="classTiXmlElement.html#aa464535ea1994db337cb6a8ce4b588b5">TiXmlElement</a>
+, <a class="el" href="classTiXmlUnknown.html#a0960bb7428b3f341da46244229604d73">TiXmlUnknown</a>
+, <a class="el" href="classTiXmlNode.html#a4508cc3a2d7a98e96a54cc09c37a78a4">TiXmlNode</a>
+, <a class="el" href="classTiXmlDeclaration.html#a7cf459186040141cda7a180a6585ce2e">TiXmlDeclaration</a>
+, <a class="el" href="classTiXmlDocument.html#a4968661cab4a1f44a23329c6f8db1907">TiXmlDocument</a>
+, <a class="el" href="classTiXmlText.html#a0c411e93a27537369479d034cc82da3b">TiXmlText</a>
+</li>
+<li>Column()
+: <a class="el" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003">TiXmlBase</a>
+</li>
+<li>CStr()
+: <a class="el" href="classTiXmlPrinter.html#a859eede9597d3e0355b77757be48735e">TiXmlPrinter</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_func_0x64.html b/shared/tinyxml/docs/functions_func_0x64.html
new file mode 100644
index 00000000..836021f3
--- /dev/null
+++ b/shared/tinyxml/docs/functions_func_0x64.html
@@ -0,0 +1,70 @@
+<!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"/>
+<title>TinyXml: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li class="current"><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>DoubleValue()
+: <a class="el" href="classTiXmlAttribute.html#a2880ddef53fc7522c99535273954d230">TiXmlAttribute</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_func_0x65.html b/shared/tinyxml/docs/functions_func_0x65.html
new file mode 100644
index 00000000..71a993a2
--- /dev/null
+++ b/shared/tinyxml/docs/functions_func_0x65.html
@@ -0,0 +1,91 @@
+<!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"/>
+<title>TinyXml: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li class="current"><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
+<li>Element()
+: <a class="el" href="classTiXmlHandle.html#acb5fe8388a526289ea65e817a51e05e7">TiXmlHandle</a>
+</li>
+<li>EncodeString()
+: <a class="el" href="classTiXmlBase.html#a6bd8c315c1acb09e34107b8736505948">TiXmlBase</a>
+</li>
+<li>Encoding()
+: <a class="el" href="classTiXmlDeclaration.html#a5d974231f9e9a2f0542f15f3a46cdb76">TiXmlDeclaration</a>
+</li>
+<li>Error()
+: <a class="el" href="classTiXmlDocument.html#a6dfc01a6e5d58e56acd537dfd3bdeb29">TiXmlDocument</a>
+</li>
+<li>ErrorCol()
+: <a class="el" href="classTiXmlDocument.html#aa90bc630ee5203c6109ca5fad3323649">TiXmlDocument</a>
+</li>
+<li>ErrorDesc()
+: <a class="el" href="classTiXmlDocument.html#a9d0f689f6e09ea494ea547be8d79c25e">TiXmlDocument</a>
+</li>
+<li>ErrorId()
+: <a class="el" href="classTiXmlDocument.html#af96fc2f3f9ec6422782bfe916c9e778f">TiXmlDocument</a>
+</li>
+<li>ErrorRow()
+: <a class="el" href="classTiXmlDocument.html#af30efc75e804aa2e92fb8be3a8cb676e">TiXmlDocument</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_func_0x66.html b/shared/tinyxml/docs/functions_func_0x66.html
new file mode 100644
index 00000000..17e35e94
--- /dev/null
+++ b/shared/tinyxml/docs/functions_func_0x66.html
@@ -0,0 +1,81 @@
+<!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"/>
+<title>TinyXml: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li class="current"><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
+<li>FirstAttribute()
+: <a class="el" href="classTiXmlElement.html#a516054c9073647d6cb29b6abe9fa0592">TiXmlElement</a>
+</li>
+<li>FirstChild()
+: <a class="el" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0">TiXmlNode</a>
+, <a class="el" href="classTiXmlHandle.html#a8c61f64ae9365d89c264f289085541f8">TiXmlHandle</a>
+, <a class="el" href="classTiXmlNode.html#a07f6200a5956c723c5b52d70f29c46f6">TiXmlNode</a>
+, <a class="el" href="classTiXmlHandle.html#acdb1faaf88a700b40ca2c8d9aee21139">TiXmlHandle</a>
+</li>
+<li>FirstChildElement()
+: <a class="el" href="classTiXmlNode.html#af4fb652f6bd79ae0d5ce7d0f7d3c0fba">TiXmlNode</a>
+, <a class="el" href="classTiXmlHandle.html#a24d1112e995e937e4dddb202d4113d4a">TiXmlHandle</a>
+, <a class="el" href="classTiXmlNode.html#a327ad4bbd90073c5dfc931b07314f5f7">TiXmlNode</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_func_0x67.html b/shared/tinyxml/docs/functions_func_0x67.html
new file mode 100644
index 00000000..4401b4c6
--- /dev/null
+++ b/shared/tinyxml/docs/functions_func_0x67.html
@@ -0,0 +1,76 @@
+<!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"/>
+<title>TinyXml: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li class="current"><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
+<li>GetDocument()
+: <a class="el" href="classTiXmlNode.html#a80e397fa973cf5323e33b07154b024f3">TiXmlNode</a>
+</li>
+<li>GetText()
+: <a class="el" href="classTiXmlElement.html#af3282294986cdb216646ea1f67af2c87">TiXmlElement</a>
+</li>
+<li>GetUserData()
+: <a class="el" href="classTiXmlBase.html#a6559a530ca6763fc301a14d77ed28c17">TiXmlBase</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_func_0x69.html b/shared/tinyxml/docs/functions_func_0x69.html
new file mode 100644
index 00000000..c8793bf1
--- /dev/null
+++ b/shared/tinyxml/docs/functions_func_0x69.html
@@ -0,0 +1,88 @@
+<!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"/>
+<title>TinyXml: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li class="current"><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>Indent()
+: <a class="el" href="classTiXmlPrinter.html#abb33ec7d4bad6aaeb57f4304394b133d">TiXmlPrinter</a>
+</li>
+<li>InsertAfterChild()
+: <a class="el" href="classTiXmlNode.html#ad9b75e54ec19301c8b4d5ff583d0b3d5">TiXmlNode</a>
+</li>
+<li>InsertBeforeChild()
+: <a class="el" href="classTiXmlNode.html#a0c146fa2fff0157b681594102f48cbc7">TiXmlNode</a>
+</li>
+<li>InsertEndChild()
+: <a class="el" href="classTiXmlNode.html#ad7d4630e1a2a916edda16be22448a8ba">TiXmlNode</a>
+</li>
+<li>IntValue()
+: <a class="el" href="classTiXmlAttribute.html#aa1a20ad59dc7e89a0ab265396360d50f">TiXmlAttribute</a>
+</li>
+<li>IsWhiteSpaceCondensed()
+: <a class="el" href="classTiXmlBase.html#ad4b1472531c647a25b1840a87ae42438">TiXmlBase</a>
+</li>
+<li>IterateChildren()
+: <a class="el" href="classTiXmlNode.html#adfaef35a076b9343adc1420757376c39">TiXmlNode</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_func_0x6c.html b/shared/tinyxml/docs/functions_func_0x6c.html
new file mode 100644
index 00000000..4f665a53
--- /dev/null
+++ b/shared/tinyxml/docs/functions_func_0x6c.html
@@ -0,0 +1,82 @@
+<!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"/>
+<title>TinyXml: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li class="current"><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
+<li>LastAttribute()
+: <a class="el" href="classTiXmlElement.html#a86191b49f9177be132b85b14655f1381">TiXmlElement</a>
+</li>
+<li>LastChild()
+: <a class="el" href="classTiXmlNode.html#a6432d2b2495f6caf9cb4278df706a031">TiXmlNode</a>
+</li>
+<li>LineBreak()
+: <a class="el" href="classTiXmlPrinter.html#a11f1b4804a460b175ec244eb5724d96d">TiXmlPrinter</a>
+</li>
+<li>LinkEndChild()
+: <a class="el" href="classTiXmlNode.html#a5d29442ae46de6d0168429156197bfc6">TiXmlNode</a>
+</li>
+<li>LoadFile()
+: <a class="el" href="classTiXmlDocument.html#a41f6fe7200864d1dca663d230caf8db6">TiXmlDocument</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_func_0x6e.html b/shared/tinyxml/docs/functions_func_0x6e.html
new file mode 100644
index 00000000..84b2641f
--- /dev/null
+++ b/shared/tinyxml/docs/functions_func_0x6e.html
@@ -0,0 +1,85 @@
+<!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"/>
+<title>TinyXml: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li class="current"><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>Name()
+: <a class="el" href="classTiXmlAttribute.html#a298a57287d305904ba6bd96ae6f78d3d">TiXmlAttribute</a>
+</li>
+<li>Next()
+: <a class="el" href="classTiXmlAttribute.html#a1c78e92e223a40843f644ba48ef69f67">TiXmlAttribute</a>
+</li>
+<li>NextSibling()
+: <a class="el" href="classTiXmlNode.html#a1757c1f4d01e8c9596ffdbd561c76aea">TiXmlNode</a>
+</li>
+<li>NextSiblingElement()
+: <a class="el" href="classTiXmlNode.html#a071ba77fd7ab79402fa84b7e9b8607b3">TiXmlNode</a>
+</li>
+<li>NoChildren()
+: <a class="el" href="classTiXmlNode.html#aeed21ad30630ef6e7faf096127edc9f3">TiXmlNode</a>
+</li>
+<li>Node()
+: <a class="el" href="classTiXmlHandle.html#ab44b723a8dc9af72838a303c079d0376">TiXmlHandle</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_func_0x70.html b/shared/tinyxml/docs/functions_func_0x70.html
new file mode 100644
index 00000000..1e8e9da4
--- /dev/null
+++ b/shared/tinyxml/docs/functions_func_0x70.html
@@ -0,0 +1,90 @@
+<!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"/>
+<title>TinyXml: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li class="current"><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
+<li>Parent()
+: <a class="el" href="classTiXmlNode.html#ab643043132ffd794f8602685d34a982e">TiXmlNode</a>
+</li>
+<li>Parse()
+: <a class="el" href="classTiXmlDocument.html#a17ebabe36926ef398e78dec0d0ad0378">TiXmlDocument</a>
+</li>
+<li>Previous()
+: <a class="el" href="classTiXmlAttribute.html#a6ebbfe333fe76cd834bd6cbcca3130cf">TiXmlAttribute</a>
+</li>
+<li>PreviousSibling()
+: <a class="el" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10">TiXmlNode</a>
+</li>
+<li>Print()
+: <a class="el" href="classTiXmlElement.html#afbf52736e70fc91ec9d760721d6f4fd2">TiXmlElement</a>
+, <a class="el" href="classTiXmlAttribute.html#acc04956c1d5c4c31fe74f7a7528d109a">TiXmlAttribute</a>
+, <a class="el" href="classTiXmlBase.html#a0de56b3f2ef14c65091a3b916437b512">TiXmlBase</a>
+, <a class="el" href="classTiXmlText.html#a0cafbf6f236c7f02d12b2bffc2b7976b">TiXmlText</a>
+, <a class="el" href="classTiXmlDocument.html#af08389ec70ee9b2de7f800e206a18510">TiXmlDocument</a>
+, <a class="el" href="classTiXmlUnknown.html#a31ba089a40fb5a1869750fce09b0bacb">TiXmlUnknown</a>
+, <a class="el" href="classTiXmlDocument.html#a8701fda1fa31b25abbc9c0df42da10e8">TiXmlDocument</a>
+, <a class="el" href="classTiXmlComment.html#a6b316527aaa8da0370cd68c22a5a0f5f">TiXmlComment</a>
+, <a class="el" href="classTiXmlDeclaration.html#abf6303db4bd05b5be554036817ff1cb4">TiXmlDeclaration</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_func_0x71.html b/shared/tinyxml/docs/functions_func_0x71.html
new file mode 100644
index 00000000..27402292
--- /dev/null
+++ b/shared/tinyxml/docs/functions_func_0x71.html
@@ -0,0 +1,88 @@
+<!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"/>
+<title>TinyXml: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li class="current"><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_q">- q -</a></h3><ul>
+<li>QueryDoubleAttribute()
+: <a class="el" href="classTiXmlElement.html#a898d7730ecc341f0bffc7a9dadbf1ce7">TiXmlElement</a>
+</li>
+<li>QueryDoubleValue()
+: <a class="el" href="classTiXmlAttribute.html#ac87b2a8489906a5d7aa2875f20be3513">TiXmlAttribute</a>
+</li>
+<li>QueryFloatAttribute()
+: <a class="el" href="classTiXmlElement.html#aa04d3af11601ef5a5f88295203a843be">TiXmlElement</a>
+</li>
+<li>QueryIntAttribute()
+: <a class="el" href="classTiXmlElement.html#aea0bfe471380f281c5945770ddbf52b9">TiXmlElement</a>
+</li>
+<li>QueryIntValue()
+: <a class="el" href="classTiXmlAttribute.html#ad6c93088ee21af41a107931223339344">TiXmlAttribute</a>
+</li>
+<li>QueryStringAttribute()
+: <a class="el" href="classTiXmlElement.html#a14321ac360efe906ed449d9db3fd9961">TiXmlElement</a>
+</li>
+<li>QueryValueAttribute()
+: <a class="el" href="classTiXmlElement.html#ae3b9a03b0a56663a40801c7256683576">TiXmlElement</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_func_0x72.html b/shared/tinyxml/docs/functions_func_0x72.html
new file mode 100644
index 00000000..1500d1e4
--- /dev/null
+++ b/shared/tinyxml/docs/functions_func_0x72.html
@@ -0,0 +1,82 @@
+<!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"/>
+<title>TinyXml: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li class="current"><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>RemoveAttribute()
+: <a class="el" href="classTiXmlElement.html#a56979767deca794376b1dfa69a525b2a">TiXmlElement</a>
+</li>
+<li>RemoveChild()
+: <a class="el" href="classTiXmlNode.html#ae19d8510efc90596552f4feeac9a8fbf">TiXmlNode</a>
+</li>
+<li>ReplaceChild()
+: <a class="el" href="classTiXmlNode.html#a0c49e739a17b9938050c22cd89617fbd">TiXmlNode</a>
+</li>
+<li>RootElement()
+: <a class="el" href="classTiXmlDocument.html#ad09d17927f908f40efb406af2fb873be">TiXmlDocument</a>
+</li>
+<li>Row()
+: <a class="el" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853">TiXmlBase</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_func_0x73.html b/shared/tinyxml/docs/functions_func_0x73.html
new file mode 100644
index 00000000..14064fa0
--- /dev/null
+++ b/shared/tinyxml/docs/functions_func_0x73.html
@@ -0,0 +1,120 @@
+<!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"/>
+<title>TinyXml: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li class="current"><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>SaveFile()
+: <a class="el" href="classTiXmlDocument.html#a21c0aeb0d0a720169ad4ac89523ebe93">TiXmlDocument</a>
+</li>
+<li>SetAttribute()
+: <a class="el" href="classTiXmlElement.html#ace6f4be75e373726d4774073d666d1a7">TiXmlElement</a>
+</li>
+<li>SetCDATA()
+: <a class="el" href="classTiXmlText.html#acb17ff7c5d09b2c839393445a3de5ea9">TiXmlText</a>
+</li>
+<li>SetCondenseWhiteSpace()
+: <a class="el" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1">TiXmlBase</a>
+</li>
+<li>SetDoubleAttribute()
+: <a class="el" href="classTiXmlElement.html#a0d1dd975d75496778177e35abfe0ec0b">TiXmlElement</a>
+</li>
+<li>SetDoubleValue()
+: <a class="el" href="classTiXmlAttribute.html#a0316da31373496c4368ad549bf711394">TiXmlAttribute</a>
+</li>
+<li>SetIndent()
+: <a class="el" href="classTiXmlPrinter.html#a213377a4070c7e625bae59716b089e5e">TiXmlPrinter</a>
+</li>
+<li>SetIntValue()
+: <a class="el" href="classTiXmlAttribute.html#a7e065df640116a62ea4f4b7da5449cc8">TiXmlAttribute</a>
+</li>
+<li>SetLineBreak()
+: <a class="el" href="classTiXmlPrinter.html#a4be1e37e69e3858c59635aa947174fe6">TiXmlPrinter</a>
+</li>
+<li>SetName()
+: <a class="el" href="classTiXmlAttribute.html#ab7fa3d21ff8d7c5764cf9af15b667a99">TiXmlAttribute</a>
+</li>
+<li>SetStreamPrinting()
+: <a class="el" href="classTiXmlPrinter.html#ab23a90629e374cb1cadca090468bbd19">TiXmlPrinter</a>
+</li>
+<li>SetTabSize()
+: <a class="el" href="classTiXmlDocument.html#a51dac56316f89b35bdb7d0d433ba988e">TiXmlDocument</a>
+</li>
+<li>SetUserData()
+: <a class="el" href="classTiXmlBase.html#ac6b3e0f790930d4970ec30764e937b5d">TiXmlBase</a>
+</li>
+<li>SetValue()
+: <a class="el" href="classTiXmlAttribute.html#a2dae44178f668b3cb48101be4f2236a0">TiXmlAttribute</a>
+, <a class="el" href="classTiXmlNode.html#a2598d5f448042c1abbeae4503dd45ff2">TiXmlNode</a>
+, <a class="el" href="classTiXmlAttribute.html#ab43f67a0cc3ec1d80e62606500f0925f">TiXmlAttribute</a>
+</li>
+<li>Size()
+: <a class="el" href="classTiXmlPrinter.html#ad01375ae9199bd2f48252eaddce3039d">TiXmlPrinter</a>
+</li>
+<li>Standalone()
+: <a class="el" href="classTiXmlDeclaration.html#a9ff06afc033d7ef730ec7c6825b97ad9">TiXmlDeclaration</a>
+</li>
+<li>Str()
+: <a class="el" href="classTiXmlPrinter.html#a3bd4daf44309b41f5813a833caa0d1c9">TiXmlPrinter</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_func_0x74.html b/shared/tinyxml/docs/functions_func_0x74.html
new file mode 100644
index 00000000..3d934631
--- /dev/null
+++ b/shared/tinyxml/docs/functions_func_0x74.html
@@ -0,0 +1,126 @@
+<!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"/>
+<title>TinyXml: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li class="current"><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
+<li>Text()
+: <a class="el" href="classTiXmlHandle.html#a9fc739c8a18d160006f82572fc143d13">TiXmlHandle</a>
+</li>
+<li>TiXmlAttribute()
+: <a class="el" href="classTiXmlAttribute.html#a9cfa3c8179873fd485d83003b114f8e1">TiXmlAttribute</a>
+</li>
+<li>TiXmlComment()
+: <a class="el" href="classTiXmlComment.html#aaa3252031d3e8bd3a2bf51a1c61201b7">TiXmlComment</a>
+</li>
+<li>TiXmlDeclaration()
+: <a class="el" href="classTiXmlDeclaration.html#acd5556007c3c72209465081de39d9836">TiXmlDeclaration</a>
+</li>
+<li>TiXmlDocument()
+: <a class="el" href="classTiXmlDocument.html#a9f5e84335708fde98400230f9f12659c">TiXmlDocument</a>
+</li>
+<li>TiXmlElement()
+: <a class="el" href="classTiXmlElement.html#a01bc3ab372d35da08efcbbe65ad90c60">TiXmlElement</a>
+</li>
+<li>TiXmlHandle()
+: <a class="el" href="classTiXmlHandle.html#a236d7855e1e56ccc7b980630c48c7fd7">TiXmlHandle</a>
+</li>
+<li>TiXmlText()
+: <a class="el" href="classTiXmlText.html#af659e77c6b87d684827f35a8f4895960">TiXmlText</a>
+</li>
+<li>ToComment()
+: <a class="el" href="classTiXmlNode.html#aa0a5086f9eaee910bbfdc7f975e26574">TiXmlNode</a>
+, <a class="el" href="classTiXmlComment.html#a00fb4215c20a2399ea05ac9b9e7e68a0">TiXmlComment</a>
+</li>
+<li>ToDeclaration()
+: <a class="el" href="classTiXmlNode.html#a9f43e6984fc7d4afd6eb32714c6b7b72">TiXmlNode</a>
+, <a class="el" href="classTiXmlDeclaration.html#a1e085d3fefd1dbf5ccdbff729931a967">TiXmlDeclaration</a>
+</li>
+<li>ToDocument()
+: <a class="el" href="classTiXmlNode.html#a8a4cda4b15c29f64cff419309aebed08">TiXmlNode</a>
+, <a class="el" href="classTiXmlDocument.html#a1dc977bde3e4fe85a8eb9d88a35ef5a4">TiXmlDocument</a>
+</li>
+<li>ToElement()
+: <a class="el" href="classTiXmlNode.html#a72abed96dc9667ab9e0a2a275301bb1c">TiXmlNode</a>
+, <a class="el" href="classTiXmlElement.html#ac5b8d0e25fa23fd9acbb6d146082901c">TiXmlElement</a>
+, <a class="el" href="classTiXmlHandle.html#abc6e7ed383a5fe1e52b0c0004b457b9e">TiXmlHandle</a>
+</li>
+<li>ToNode()
+: <a class="el" href="classTiXmlHandle.html#af678e5088e83be67baf76f699756f2c3">TiXmlHandle</a>
+</li>
+<li>ToText()
+: <a class="el" href="classTiXmlText.html#ae7c3a8fd3e4dbf6c0c4363a943d72f5b">TiXmlText</a>
+, <a class="el" href="classTiXmlHandle.html#a4ac53a652296203a5b5e13854d923586">TiXmlHandle</a>
+, <a class="el" href="classTiXmlNode.html#a3ddfbcac78fbea041fad57e5c6d60a03">TiXmlNode</a>
+, <a class="el" href="classTiXmlText.html#a895bf34ffad17f7439ab2a52b9651648">TiXmlText</a>
+</li>
+<li>ToUnknown()
+: <a class="el" href="classTiXmlNode.html#afd7205cf31d7a376929f8a36930627a2">TiXmlNode</a>
+, <a class="el" href="classTiXmlUnknown.html#ab0313e5fe77987d746ac1a97a254419d">TiXmlUnknown</a>
+, <a class="el" href="classTiXmlNode.html#a06de5af852668c7e4af0d09c205f0b0d">TiXmlNode</a>
+, <a class="el" href="classTiXmlHandle.html#a1381c17507a130767b1e23afc93b3674">TiXmlHandle</a>
+</li>
+<li>Type()
+: <a class="el" href="classTiXmlNode.html#a57b99d5c97d67a42b9752f5210a1ba5e">TiXmlNode</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_func_0x75.html b/shared/tinyxml/docs/functions_func_0x75.html
new file mode 100644
index 00000000..073ad1bf
--- /dev/null
+++ b/shared/tinyxml/docs/functions_func_0x75.html
@@ -0,0 +1,70 @@
+<!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"/>
+<title>TinyXml: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li class="current"><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_u">- u -</a></h3><ul>
+<li>Unknown()
+: <a class="el" href="classTiXmlHandle.html#a49675b74357ba2aae124657a9a1ef465">TiXmlHandle</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_func_0x76.html b/shared/tinyxml/docs/functions_func_0x76.html
new file mode 100644
index 00000000..84cc2746
--- /dev/null
+++ b/shared/tinyxml/docs/functions_func_0x76.html
@@ -0,0 +1,96 @@
+<!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"/>
+<title>TinyXml: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li class="current"><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_v">- v -</a></h3><ul>
+<li>Value()
+: <a class="el" href="classTiXmlNode.html#a77943eb90d12c2892b1337a9f5918b41">TiXmlNode</a>
+, <a class="el" href="classTiXmlAttribute.html#a0f874490eac8ca00ee0070765d0e97e3">TiXmlAttribute</a>
+</li>
+<li>ValueStr()
+: <a class="el" href="classTiXmlAttribute.html#a87705c3ccf9ee9417beb4f7cbacd4d33">TiXmlAttribute</a>
+, <a class="el" href="classTiXmlNode.html#a6d9e505619d39bf50bfd9609c9169ea5">TiXmlNode</a>
+</li>
+<li>Version()
+: <a class="el" href="classTiXmlDeclaration.html#a02ee557b1a4545c3219ed377c103ec76">TiXmlDeclaration</a>
+</li>
+<li>Visit()
+: <a class="el" href="classTiXmlVisitor.html#a53a60e7a528627b31af3161972cc7fa2">TiXmlVisitor</a>
+, <a class="el" href="classTiXmlPrinter.html#ace1b14d33eede2575c0743e2350f6a38">TiXmlPrinter</a>
+, <a class="el" href="classTiXmlVisitor.html#afad71c71ce6473fb9b4b64cd92de4a19">TiXmlVisitor</a>
+, <a class="el" href="classTiXmlPrinter.html#a83c13d6b980064b30f989f9a35498979">TiXmlPrinter</a>
+, <a class="el" href="classTiXmlVisitor.html#a399b8ebca5cd14664974a32d2ce029e5">TiXmlVisitor</a>
+</li>
+<li>VisitEnter()
+: <a class="el" href="classTiXmlVisitor.html#a07baecb52dd7d8716ae2a48ad0956ee0">TiXmlVisitor</a>
+, <a class="el" href="classTiXmlPrinter.html#a0c5e7bf8622838417a0d0bfb8f433854">TiXmlPrinter</a>
+, <a class="el" href="classTiXmlVisitor.html#af6c6178ffa517bbdba95d70490875fff">TiXmlVisitor</a>
+</li>
+<li>VisitExit()
+: <a class="el" href="classTiXmlPrinter.html#a1853cf2f6e63ad4b4232b4835e0acaf0">TiXmlPrinter</a>
+, <a class="el" href="classTiXmlVisitor.html#aa0ade4f27087447e93974e975c3246ad">TiXmlVisitor</a>
+, <a class="el" href="classTiXmlPrinter.html#a66b33edd76c538b462f789b797a4fdf2">TiXmlPrinter</a>
+, <a class="el" href="classTiXmlVisitor.html#aec2b1f8116226d52f3a1b95dafd3a32c">TiXmlVisitor</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/functions_rela.html b/shared/tinyxml/docs/functions_rela.html
index fddd4338..aa909d81 100644
--- a/shared/tinyxml/docs/functions_rela.html
+++ b/shared/tinyxml/docs/functions_rela.html
@@ -1,40 +1,51 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Class Members - Related Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li id="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="functions.html"><span>All</span></a></li>
- <li><a href="functions_func.html"><span>Functions</span></a></li>
- <li><a href="functions_vars.html"><span>Variables</span></a></li>
- <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
- <li id="current"><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
- </ul>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li class="current"><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
</div>
-&nbsp;
-<p>
-<ul>
+<div class="contents">
+&nbsp;<ul>
<li>operator&lt;&lt;
-: <a class="el" href="classTiXmlNode.html#52ef17e7080df2490cf87bde380685ab">TiXmlNode</a><li>operator&gt;&gt;
-: <a class="el" href="classTiXmlNode.html#b57bd426563c926844f65a78412e18b9">TiXmlNode</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+: <a class="el" href="classTiXmlNode.html#a86cd49cfb17a844c0010b3136ac966c7">TiXmlNode</a>
+</li>
+<li>operator&gt;&gt;
+: <a class="el" href="classTiXmlNode.html#ab57bd426563c926844f65a78412e18b9">TiXmlNode</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/functions_vars.html b/shared/tinyxml/docs/functions_vars.html
index 52e814cb..1811bc77 100644
--- a/shared/tinyxml/docs/functions_vars.html
+++ b/shared/tinyxml/docs/functions_vars.html
@@ -1,39 +1,48 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Class Members - Variables</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li id="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="functions.html"><span>All</span></a></li>
- <li><a href="functions_func.html"><span>Functions</span></a></li>
- <li id="current"><a href="functions_vars.html"><span>Variables</span></a></li>
- <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
- <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
- </ul>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
</div>
-&nbsp;
-<p>
-<ul>
+<div class="contents">
+&nbsp;<ul>
<li>userData
-: <a class="el" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">TiXmlBase</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+: <a class="el" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c">TiXmlBase</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/hierarchy.html b/shared/tinyxml/docs/hierarchy.html
index 0eb50b46..367bedd3 100644
--- a/shared/tinyxml/docs/hierarchy.html
+++ b/shared/tinyxml/docs/hierarchy.html
@@ -1,45 +1,54 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Hierarchical Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
- <li id="current"><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
- </ul></div>
-<h1>TinyXml Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
-<li><a class="el" href="classTiXmlBase.html">TiXmlBase</a>
-<ul>
-<li><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a>
-<li><a class="el" href="classTiXmlNode.html">TiXmlNode</a>
-<ul>
-<li><a class="el" href="classTiXmlComment.html">TiXmlComment</a>
-<li><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>
-<li><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a>
-<li><a class="el" href="classTiXmlElement.html">TiXmlElement</a>
-<li><a class="el" href="classTiXmlText.html">TiXmlText</a>
-<li><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li class="current"><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
+<li><a class="el" href="classTiXmlBase.html">TiXmlBase</a><ul>
+<li><a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a></li>
+<li><a class="el" href="classTiXmlNode.html">TiXmlNode</a><ul>
+<li><a class="el" href="classTiXmlComment.html">TiXmlComment</a></li>
+<li><a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a></li>
+<li><a class="el" href="classTiXmlDocument.html">TiXmlDocument</a></li>
+<li><a class="el" href="classTiXmlElement.html">TiXmlElement</a></li>
+<li><a class="el" href="classTiXmlText.html">TiXmlText</a></li>
+<li><a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a></li>
</ul>
+</li>
</ul>
-<li><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a>
-<li><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a>
-<ul>
-<li><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a>
+</li>
+<li><a class="el" href="classTiXmlHandle.html">TiXmlHandle</a></li>
+<li><a class="el" href="classTiXmlVisitor.html">TiXmlVisitor</a><ul>
+<li><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a></li>
</ul>
+</li>
</ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/index.html b/shared/tinyxml/docs/index.html
index 01d51e78..1cb925ba 100644
--- a/shared/tinyxml/docs/index.html
+++ b/shared/tinyxml/docs/index.html
@@ -1,75 +1,71 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Main Page</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li id="current"><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>TinyXml Documentation</h1>
-<p>
-<h3 align="center">2.5.3 </h3><h1>TinyXML </h1>
-<p>
-TinyXML is a simple, small, C++ XML parser that can be easily integrated into other programs.<p>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>TinyXml Documentation</h1><h3 class="version">2.6.1 </h3><h1>TinyXML </h1>
+<p>TinyXML is a simple, small, C++ XML parser that can be easily integrated into other programs.</p>
<h2>What it does. </h2>
-<p>
-In brief, TinyXML parses an XML document, and builds from that a Document Object Model (DOM) that can be read, modified, and saved.<p>
-XML stands for "eXtensible Markup Language." It allows you to create your own document markups. Where HTML does a very good job of marking documents for browsers, XML allows you to define any kind of document markup, for example a document that describes a "to do" list for an organizer application. XML is a very structured and convenient format. All those random file formats created to store application data can all be replaced with XML. One parser for everything.<p>
-The best place for the complete, correct, and quite frankly hard to read spec is at <a href="http://www.w3.org/TR/2004/REC-xml-20040204/">http://www.w3.org/TR/2004/REC-xml-20040204/</a>. An intro to XML (that I really like) can be found at <a href="http://skew.org/xml/tutorial/">http://skew.org/xml/tutorial</a>.<p>
-There are different ways to access and interact with XML data. TinyXML uses a Document Object Model (DOM), meaning the XML data is parsed into a C++ objects that can be browsed and manipulated, and then written to disk or another output stream. You can also construct an XML document from scratch with C++ objects and write this to disk or another output stream.<p>
-TinyXML is designed to be easy and fast to learn. It is two headers and four cpp files. Simply add these to your project and off you go. There is an example file - xmltest.cpp - to get you started.<p>
-TinyXML is released under the ZLib license, so you can use it in open source or commercial code. The details of the license are at the top of every source file.<p>
-TinyXML attempts to be a flexible parser, but with truly correct and compliant XML output. TinyXML should compile on any reasonably C++ compliant system. It does not rely on exceptions or RTTI. It can be compiled with or without STL support. TinyXML fully supports the UTF-8 encoding, and the first 64k character entities.<p>
+<p>In brief, TinyXML parses an XML document, and builds from that a Document Object Model (DOM) that can be read, modified, and saved.</p>
+<p>XML stands for "eXtensible Markup Language." It allows you to create your own document markups. Where HTML does a very good job of marking documents for browsers, XML allows you to define any kind of document markup, for example a document that describes a "to do" list for an organizer application. XML is a very structured and convenient format. All those random file formats created to store application data can all be replaced with XML. One parser for everything.</p>
+<p>The best place for the complete, correct, and quite frankly hard to read spec is at <a href="http://www.w3.org/TR/2004/REC-xml-20040204/">http://www.w3.org/TR/2004/REC-xml-20040204/</a>. An intro to XML (that I really like) can be found at <a href="http://skew.org/xml/tutorial/">http://skew.org/xml/tutorial</a>.</p>
+<p>There are different ways to access and interact with XML data. TinyXML uses a Document Object Model (DOM), meaning the XML data is parsed into a C++ objects that can be browsed and manipulated, and then written to disk or another output stream. You can also construct an XML document from scratch with C++ objects and write this to disk or another output stream.</p>
+<p>TinyXML is designed to be easy and fast to learn. It is two headers and four cpp files. Simply add these to your project and off you go. There is an example file - xmltest.cpp - to get you started.</p>
+<p>TinyXML is released under the ZLib license, so you can use it in open source or commercial code. The details of the license are at the top of every source file.</p>
+<p>TinyXML attempts to be a flexible parser, but with truly correct and compliant XML output. TinyXML should compile on any reasonably C++ compliant system. It does not rely on exceptions or RTTI. It can be compiled with or without STL support. TinyXML fully supports the UTF-8 encoding, and the first 64k character entities.</p>
<h2>What it doesn't do. </h2>
-<p>
-TinyXML doesn't parse or use DTDs (Document Type Definitions) or XSLs (eXtensible Stylesheet Language.) There are other parsers out there (check out www.sourceforge.org, search for XML) that are much more fully featured. But they are also much bigger, take longer to set up in your project, have a higher learning curve, and often have a more restrictive license. If you are working with browsers or have more complete XML needs, TinyXML is not the parser for you.<p>
-The following DTD syntax will not parse at this time in TinyXML:<p>
-<div class="fragment"><pre class="fragment"> &lt;!DOCTYPE Archiv [
+<p>TinyXML doesn't parse or use DTDs (Document Type Definitions) or XSLs (eXtensible Stylesheet Language.) There are other parsers out there (check out www.sourceforge.org, search for XML) that are much more fully featured. But they are also much bigger, take longer to set up in your project, have a higher learning curve, and often have a more restrictive license. If you are working with browsers or have more complete XML needs, TinyXML is not the parser for you.</p>
+<p>The following DTD syntax will not parse at this time in TinyXML:</p>
+<div class="fragment"><pre class="fragment">
+ &lt;!DOCTYPE Archiv [
&lt;!ELEMENT Comment (#PCDATA)&gt;
]&gt;
-</pre></div><p>
-because TinyXML sees this as a !DOCTYPE node with an illegally embedded !ELEMENT node. This may be addressed in the future.<p>
+</pre></div><p>because TinyXML sees this as a !DOCTYPE node with an illegally embedded !ELEMENT node. This may be addressed in the future.</p>
<h2>Tutorials. </h2>
-<p>
-For the impatient, here is a tutorial to get you going. A great way to get started, but it is worth your time to read this (very short) manual completely.<p>
+<p>For the impatient, here is a tutorial to get you going. A great way to get started, but it is worth your time to read this (very short) manual completely.</p>
<ul>
-<li><a class="el" href="tutorial0.html">TinyXML Tutorial</a></li></ul>
-<p>
+<li><a class="el" href="tutorial0.html">TinyXML Tutorial</a></li>
+</ul>
<h2>Code Status. </h2>
-<p>
-TinyXML is mature, tested code. It is very stable. If you find bugs, please file a bug report on the sourceforge web site (www.sourceforge.net/projects/tinyxml). We'll get them straightened out as soon as possible.<p>
-There are some areas of improvement; please check sourceforge if you are interested in working on TinyXML.<p>
+<p>TinyXML is mature, tested code. It is very stable. If you find bugs, please file a bug report on the sourceforge web site (www.sourceforge.net/projects/tinyxml). We'll get them straightened out as soon as possible.</p>
+<p>There are some areas of improvement; please check sourceforge if you are interested in working on TinyXML.</p>
<h2>Related Projects </h2>
-<p>
-TinyXML projects you may find useful! (Descriptions provided by the projects.)<p>
+<p>TinyXML projects you may find useful! (Descriptions provided by the projects.)</p>
<ul>
<li>
<b>TinyXPath</b> (<a href="http://tinyxpath.sourceforge.net">http://tinyxpath.sourceforge.net</a>). TinyXPath is a small footprint XPath syntax decoder, written in C++. </li>
<li>
<b>TinyXML++</b> (<a href="http://code.google.com/p/ticpp/">http://code.google.com/p/ticpp/</a>). TinyXML++ is a completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. </li>
</ul>
-<p>
<h2>Features </h2>
-<p>
<h3>Using STL </h3>
-<p>
-TinyXML can be compiled to use or not use STL. When using STL, TinyXML uses the std::string class, and fully supports std::istream, std::ostream, operator&lt;&lt;, and operator&gt;&gt;. Many API methods have both 'const char*' and 'const std::string&amp;' forms.<p>
-When STL support is compiled out, no STL files are included whatsoever. All the string classes are implemented by TinyXML itself. API methods all use the 'const char*' form for input.<p>
-Use the compile time define:<p>
-TIXML_USE_STL<p>
-to compile one version or the other. This can be passed by the compiler, or set as the first line of "tinyxml.h".<p>
-Note: If compiling the test code in Linux, setting the environment variable TINYXML_USE_STL=YES/NO will control STL compilation. In the Windows project file, STL and non STL targets are provided. In your project, It's probably easiest to add the line "#define TIXML_USE_STL" as the first line of <a class="el" href="tinyxml_8h-source.html">tinyxml.h</a>.<p>
+<p>TinyXML can be compiled to use or not use STL. When using STL, TinyXML uses the std::string class, and fully supports std::istream, std::ostream, operator&lt;&lt;, and operator&gt;&gt;. Many API methods have both 'const char*' and 'const std::string&amp;' forms.</p>
+<p>When STL support is compiled out, no STL files are included whatsoever. All the string classes are implemented by TinyXML itself. API methods all use the 'const char*' form for input.</p>
+<p>Use the compile time define:</p>
+<p>TIXML_USE_STL</p>
+<p>to compile one version or the other. This can be passed by the compiler, or set as the first line of "tinyxml.h".</p>
+<p>Note: If compiling the test code in Linux, setting the environment variable TINYXML_USE_STL=YES/NO will control STL compilation. In the Windows project file, STL and non STL targets are provided. In your project, It's probably easiest to add the line "#define TIXML_USE_STL" as the first line of <a class="el" href="tinyxml_8h_source.html">tinyxml.h</a>.</p>
<h3>UTF-8 </h3>
-<p>
-TinyXML supports UTF-8 allowing to manipulate XML files in any language. TinyXML also supports "legacy mode" - the encoding used before UTF-8 support and probably best described as "extended ascii".<p>
-Normally, TinyXML will try to detect the correct encoding and use it. However, by setting the value of TIXML_DEFAULT_ENCODING in the header file, TinyXML can be forced to always use one encoding.<p>
-TinyXML will assume Legacy Mode until one of the following occurs: <ol>
+<p>TinyXML supports UTF-8 allowing to manipulate XML files in any language. TinyXML also supports "legacy mode" - the encoding used before UTF-8 support and probably best described as "extended ascii".</p>
+<p>Normally, TinyXML will try to detect the correct encoding and use it. However, by setting the value of TIXML_DEFAULT_ENCODING in the header file, TinyXML can be forced to always use one encoding.</p>
+<p>TinyXML will assume Legacy Mode until one of the following occurs: </p>
+<ol>
<li>
If the non-standard but common "UTF-8 lead bytes" (0xef 0xbb 0xbf) begin the file or data stream, TinyXML will read it as UTF-8. </li>
<li>
@@ -81,75 +77,86 @@ If the declaration tag is read, and it has an encoding="something else", then Ti
<li>
Until one of the above criteria is met, TinyXML runs in Legacy Mode. </li>
</ol>
-<p>
-What happens if the encoding is incorrectly set or detected? TinyXML will try to read and pass through text seen as improperly encoded. You may get some strange results or mangled characters. You may want to force TinyXML to the correct mode.<p>
-You may force TinyXML to Legacy Mode by using LoadFile( TIXML_ENCODING_LEGACY ) or LoadFile( filename, TIXML_ENCODING_LEGACY ). You may force it to use legacy mode all the time by setting TIXML_DEFAULT_ENCODING = TIXML_ENCODING_LEGACY. Likewise, you may force it to TIXML_ENCODING_UTF8 with the same technique.<p>
-For English users, using English XML, UTF-8 is the same as low-ASCII. You don't need to be aware of UTF-8 or change your code in any way. You can think of UTF-8 as a "superset" of ASCII.<p>
-UTF-8 is not a double byte format - but it is a standard encoding of Unicode! TinyXML does not use or directly support wchar, TCHAR, or Microsoft's _UNICODE at this time. It is common to see the term "Unicode" improperly refer to UTF-16, a wide byte encoding of unicode. This is a source of confusion.<p>
-For "high-ascii" languages - everything not English, pretty much - TinyXML can handle all languages, at the same time, as long as the XML is encoded in UTF-8. That can be a little tricky, older programs and operating systems tend to use the "default" or "traditional" code page. Many apps (and almost all modern ones) can output UTF-8, but older or stubborn (or just broken) ones still output text in the default code page.<p>
-For example, Japanese systems traditionally use SHIFT-JIS encoding. Text encoded as SHIFT-JIS can not be read by TinyXML. A good text editor can import SHIFT-JIS and then save as UTF-8.<p>
-The <a href="http://skew.org/xml/tutorial/">Skew.org link</a> does a great job covering the encoding issue.<p>
-The test file "utf8test.xml" is an XML containing English, Spanish, Russian, and Simplified Chinese. (Hopefully they are translated correctly). The file "utf8test.gif" is a screen capture of the XML file, rendered in IE. Note that if you don't have the correct fonts (Simplified Chinese or Russian) on your system, you won't see output that matches the GIF file even if you can parse it correctly. Also note that (at least on my Windows machine) console output is in a Western code page, so that Print() or printf() cannot correctly display the file. This is not a bug in TinyXML - just an OS issue. No data is lost or destroyed by TinyXML. The console just doesn't render UTF-8.<p>
+<p>What happens if the encoding is incorrectly set or detected? TinyXML will try to read and pass through text seen as improperly encoded. You may get some strange results or mangled characters. You may want to force TinyXML to the correct mode.</p>
+<p>You may force TinyXML to Legacy Mode by using LoadFile( TIXML_ENCODING_LEGACY ) or LoadFile( filename, TIXML_ENCODING_LEGACY ). You may force it to use legacy mode all the time by setting TIXML_DEFAULT_ENCODING = TIXML_ENCODING_LEGACY. Likewise, you may force it to TIXML_ENCODING_UTF8 with the same technique.</p>
+<p>For English users, using English XML, UTF-8 is the same as low-ASCII. You don't need to be aware of UTF-8 or change your code in any way. You can think of UTF-8 as a "superset" of ASCII.</p>
+<p>UTF-8 is not a double byte format - but it is a standard encoding of Unicode! TinyXML does not use or directly support wchar, TCHAR, or Microsoft's _UNICODE at this time. It is common to see the term "Unicode" improperly refer to UTF-16, a wide byte encoding of unicode. This is a source of confusion.</p>
+<p>For "high-ascii" languages - everything not English, pretty much - TinyXML can handle all languages, at the same time, as long as the XML is encoded in UTF-8. That can be a little tricky, older programs and operating systems tend to use the "default" or "traditional" code page. Many apps (and almost all modern ones) can output UTF-8, but older or stubborn (or just broken) ones still output text in the default code page.</p>
+<p>For example, Japanese systems traditionally use SHIFT-JIS encoding. Text encoded as SHIFT-JIS can not be read by TinyXML. A good text editor can import SHIFT-JIS and then save as UTF-8.</p>
+<p>The <a href="http://skew.org/xml/tutorial/">Skew.org link</a> does a great job covering the encoding issue.</p>
+<p>The test file "utf8test.xml" is an XML containing English, Spanish, Russian, and Simplified Chinese. (Hopefully they are translated correctly). The file "utf8test.gif" is a screen capture of the XML file, rendered in IE. Note that if you don't have the correct fonts (Simplified Chinese or Russian) on your system, you won't see output that matches the GIF file even if you can parse it correctly. Also note that (at least on my Windows machine) console output is in a Western code page, so that Print() or printf() cannot correctly display the file. This is not a bug in TinyXML - just an OS issue. No data is lost or destroyed by TinyXML. The console just doesn't render UTF-8.</p>
<h3>Entities </h3>
-<p>
-TinyXML recognizes the pre-defined "character entities", meaning special characters. Namely:<p>
-<div class="fragment"><pre class="fragment"> &amp;amp; &amp;
+<p>TinyXML recognizes the pre-defined "character entities", meaning special characters. Namely:</p>
+<div class="fragment"><pre class="fragment">
+ &amp;amp; &amp;
&amp;lt; &lt;
&amp;gt; &gt;
&amp;quot; "
&amp;apos; '
-</pre></div><p>
-These are recognized when the XML document is read, and translated to there UTF-8 equivalents. For instance, text with the XML of:<p>
-<div class="fragment"><pre class="fragment"> Far &amp;amp; Away
-</pre></div><p>
-will have the Value() of "Far &amp; Away" when queried from the <a class="el" href="classTiXmlText.html">TiXmlText</a> object, and will be written back to the XML stream/file as an ampersand. Older versions of TinyXML "preserved" character entities, but the newer versions will translate them into characters.<p>
-Additionally, any character can be specified by its Unicode code point: The syntax "&amp;#xA0;" or "&amp;#160;" are both to the non-breaking space characher.<p>
+</pre></div><p>These are recognized when the XML document is read, and translated to there UTF-8 equivalents. For instance, text with the XML of:</p>
+<div class="fragment"><pre class="fragment">
+ Far &amp;amp; Away
+</pre></div><p>will have the Value() of "Far &amp; Away" when queried from the <a class="el" href="classTiXmlText.html" title="XML text.">TiXmlText</a> object, and will be written back to the XML stream/file as an ampersand. Older versions of TinyXML "preserved" character entities, but the newer versions will translate them into characters.</p>
+<p>Additionally, any character can be specified by its Unicode code point: The syntax "&amp;#xA0;" or "&amp;#160;" are both to the non-breaking space characher.</p>
<h3>Printing </h3>
-<p>
-TinyXML can print output in several different ways that all have strengths and limitations.<p>
+<p>TinyXML can print output in several different ways that all have strengths and limitations.</p>
<ul>
<li>Print( FILE* ). Output to a std-C stream, which includes all C files as well as stdout.<ul>
-<li>"Pretty prints", but you don't have control over printing options.</li><li>The output is streamed directly to the FILE object, so there is no memory overhead in the TinyXML code.</li><li>used by Print() and SaveFile()</li></ul>
-</li></ul>
-<p>
+<li>"Pretty prints", but you don't have control over printing options.</li>
+<li>The output is streamed directly to the FILE object, so there is no memory overhead in the TinyXML code.</li>
+<li>used by Print() and SaveFile()</li>
+</ul>
+</li>
+</ul>
<ul>
<li>operator&lt;&lt;. Output to a c++ stream.<ul>
-<li>Integrates with standart C++ iostreams.</li><li>Outputs in "network printing" mode without line breaks. Good for network transmission and moving XML between C++ objects, but hard for a human to read.</li></ul>
-</li></ul>
-<p>
+<li>Integrates with standart C++ iostreams.</li>
+<li>Outputs in "network printing" mode without line breaks. Good for network transmission and moving XML between C++ objects, but hard for a human to read.</li>
+</ul>
+</li>
+</ul>
<ul>
-<li><a class="el" href="classTiXmlPrinter.html">TiXmlPrinter</a>. Output to a std::string or memory buffer.<ul>
-<li>API is less concise</li><li>Future printing options will be put here.</li><li>Printing may change slightly in future versions as it is refined and expanded.</li></ul>
-</li></ul>
-<p>
+<li><a class="el" href="classTiXmlPrinter.html" title="Print to memory functionality.">TiXmlPrinter</a>. Output to a std::string or memory buffer.<ul>
+<li>API is less concise</li>
+<li>Future printing options will be put here.</li>
+<li>Printing may change slightly in future versions as it is refined and expanded.</li>
+</ul>
+</li>
+</ul>
<h3>Streams </h3>
-<p>
-With TIXML_USE_STL on TinyXML supports C++ streams (operator &lt;&lt;,&gt;&gt;) streams as well as C (FILE*) streams. There are some differences that you may need to be aware of.<p>
-C style output:<ul>
-<li>based on FILE*</li><li>the Print() and SaveFile() methods</li></ul>
-<p>
-Generates formatted output, with plenty of white space, intended to be as human-readable as possible. They are very fast, and tolerant of ill formed XML documents. For example, an XML document that contains 2 root elements and 2 declarations, will still print.<p>
-C style input:<ul>
-<li>based on FILE*</li><li>the Parse() and LoadFile() methods</li></ul>
-<p>
-A fast, tolerant read. Use whenever you don't need the C++ streams.<p>
-C++ style output:<ul>
-<li>based on std::ostream</li><li>operator&lt;&lt;</li></ul>
-<p>
-Generates condensed output, intended for network transmission rather than readability. Depending on your system's implementation of the ostream class, these may be somewhat slower. (Or may not.) Not tolerant of ill formed XML: a document should contain the correct one root element. Additional root level elements will not be streamed out.<p>
-C++ style input:<ul>
-<li>based on std::istream</li><li>operator&gt;&gt;</li></ul>
-<p>
-Reads XML from a stream, making it useful for network transmission. The tricky part is knowing when the XML document is complete, since there will almost certainly be other data in the stream. TinyXML will assume the XML data is complete after it reads the root element. Put another way, documents that are ill-constructed with more than one root element will not read correctly. Also note that operator&gt;&gt; is somewhat slower than Parse, due to both implementation of the STL and limitations of TinyXML.<p>
+<p>With TIXML_USE_STL on TinyXML supports C++ streams (operator &lt;&lt;,&gt;&gt;) streams as well as C (FILE*) streams. There are some differences that you may need to be aware of.</p>
+<p>C style output:</p>
+<ul>
+<li>based on FILE*</li>
+<li>the Print() and SaveFile() methods</li>
+</ul>
+<p>Generates formatted output, with plenty of white space, intended to be as human-readable as possible. They are very fast, and tolerant of ill formed XML documents. For example, an XML document that contains 2 root elements and 2 declarations, will still print.</p>
+<p>C style input:</p>
+<ul>
+<li>based on FILE*</li>
+<li>the Parse() and LoadFile() methods</li>
+</ul>
+<p>A fast, tolerant read. Use whenever you don't need the C++ streams.</p>
+<p>C++ style output:</p>
+<ul>
+<li>based on std::ostream</li>
+<li>operator&lt;&lt;</li>
+</ul>
+<p>Generates condensed output, intended for network transmission rather than readability. Depending on your system's implementation of the ostream class, these may be somewhat slower. (Or may not.) Not tolerant of ill formed XML: a document should contain the correct one root element. Additional root level elements will not be streamed out.</p>
+<p>C++ style input:</p>
+<ul>
+<li>based on std::istream</li>
+<li>operator&gt;&gt;</li>
+</ul>
+<p>Reads XML from a stream, making it useful for network transmission. The tricky part is knowing when the XML document is complete, since there will almost certainly be other data in the stream. TinyXML will assume the XML data is complete after it reads the root element. Put another way, documents that are ill-constructed with more than one root element will not read correctly. Also note that operator&gt;&gt; is somewhat slower than Parse, due to both implementation of the STL and limitations of TinyXML.</p>
<h3>White space </h3>
-<p>
-The world simply does not agree on whether white space should be kept, or condensed. For example, pretend the '_' is a space, and look at "Hello____world". HTML, and at least some XML parsers, will interpret this as "Hello_world". They condense white space. Some XML parsers do not, and will leave it as "Hello____world". (Remember to keep pretending the _ is a space.) Others suggest that __Hello___world__ should become Hello___world.<p>
-It's an issue that hasn't been resolved to my satisfaction. TinyXML supports the first 2 approaches. Call <a class="el" href="classTiXmlBase.html#0f799ec645bfb8d8a969e83478f379c1">TiXmlBase::SetCondenseWhiteSpace( bool )</a> to set the desired behavior. The default is to condense white space.<p>
-If you change the default, you should call <a class="el" href="classTiXmlBase.html#0f799ec645bfb8d8a969e83478f379c1">TiXmlBase::SetCondenseWhiteSpace( bool )</a> before making any calls to Parse XML data, and I don't recommend changing it after it has been set.<p>
+<p>The world simply does not agree on whether white space should be kept, or condensed. For example, pretend the '_' is a space, and look at "Hello____world". HTML, and at least some XML parsers, will interpret this as "Hello_world". They condense white space. Some XML parsers do not, and will leave it as "Hello____world". (Remember to keep pretending the _ is a space.) Others suggest that __Hello___world__ should become Hello___world.</p>
+<p>It's an issue that hasn't been resolved to my satisfaction. TinyXML supports the first 2 approaches. Call <a class="el" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1" title="The world does not agree on whether white space should be kept or not.">TiXmlBase::SetCondenseWhiteSpace( bool )</a> to set the desired behavior. The default is to condense white space.</p>
+<p>If you change the default, you should call <a class="el" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1" title="The world does not agree on whether white space should be kept or not.">TiXmlBase::SetCondenseWhiteSpace( bool )</a> before making any calls to Parse XML data, and I don't recommend changing it after it has been set.</p>
<h3>Handles </h3>
-<p>
-Where browsing an XML document in a robust way, it is important to check for null returns from method calls. An error safe implementation can generate a lot of code like:<p>
-<div class="fragment"><pre class="fragment">TiXmlElement* root = document.FirstChildElement( "Document" );
+<p>Where browsing an XML document in a robust way, it is important to check for null returns from method calls. An error safe implementation can generate a lot of code like:</p>
+<div class="fragment"><pre class="fragment">
+TiXmlElement* root = document.FirstChildElement( "Document" );
if ( root )
{
TiXmlElement* element = root-&gt;FirstChildElement( "Element" );
@@ -162,26 +169,22 @@ if ( root )
if ( child2 )
{
// Finally do something useful.
-</pre></div><p>
-Handles have been introduced to clean this up. Using the <a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> class, the previous code reduces to:<p>
-<div class="fragment"><pre class="fragment">TiXmlHandle docHandle( &amp;document );
+</pre></div><p>Handles have been introduced to clean this up. Using the <a class="el" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> class, the previous code reduces to:</p>
+<div class="fragment"><pre class="fragment">
+TiXmlHandle docHandle( &amp;document );
TiXmlElement* child2 = docHandle.FirstChild( "Document" ).FirstChild( "Element" ).Child( "Child", 1 ).ToElement();
if ( child2 )
{
// do something useful
-</pre></div><p>
-Which is much easier to deal with. See <a class="el" href="classTiXmlHandle.html">TiXmlHandle</a> for more information.<p>
+</pre></div><p>Which is much easier to deal with. See <a class="el" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> for more information.</p>
<h3>Row and Column tracking </h3>
-<p>
-Being able to track nodes and attributes back to their origin location in source files can be very important for some applications. Additionally, knowing where parsing errors occured in the original source can be very time saving.<p>
-TinyXML can tracks the row and column origin of all nodes and attributes in a text file. The <a class="el" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">TiXmlBase::Row()</a> and <a class="el" href="classTiXmlBase.html#b54bfb9b70fe6dd276e7b279cab7f003">TiXmlBase::Column()</a> methods return the origin of the node in the source text. The correct tabs can be configured in <a class="el" href="classTiXmlDocument.html#51dac56316f89b35bdb7d0d433ba988e">TiXmlDocument::SetTabSize()</a>.<p>
+<p>Being able to track nodes and attributes back to their origin location in source files can be very important for some applications. Additionally, knowing where parsing errors occured in the original source can be very time saving.</p>
+<p>TinyXML can tracks the row and column origin of all nodes and attributes in a text file. The <a class="el" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853" title="Return the position, in the original source file, of this node or attribute.">TiXmlBase::Row()</a> and <a class="el" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003" title="See Row().">TiXmlBase::Column()</a> methods return the origin of the node in the source text. The correct tabs can be configured in <a class="el" href="classTiXmlDocument.html#a51dac56316f89b35bdb7d0d433ba988e" title="SetTabSize() allows the error reporting functions (ErrorRow() and ErrorCol()) to...">TiXmlDocument::SetTabSize()</a>.</p>
<h2>Using and Installing </h2>
-<p>
-To Compile and Run xmltest:<p>
-A Linux Makefile and a Windows Visual C++ .dsw file is provided. Simply compile and run. It will write the file demotest.xml to your disk and generate output on the screen. It also tests walking the DOM by printing out the number of nodes found using different techniques.<p>
-The Linux makefile is very generic and runs on many systems - it is currently tested on mingw and MacOSX. You do not need to run 'make depend'. The dependecies have been hard coded.<p>
+<p>To Compile and Run xmltest:</p>
+<p>A Linux Makefile and a Windows Visual C++ .dsw file is provided. Simply compile and run. It will write the file demotest.xml to your disk and generate output on the screen. It also tests walking the DOM by printing out the number of nodes found using different techniques.</p>
+<p>The Linux makefile is very generic and runs on many systems - it is currently tested on mingw and MacOSX. You do not need to run 'make depend'. The dependecies have been hard coded.</p>
<h3>Windows project file for VC6</h3>
-<p>
<ul>
<li>
tinyxml: tinyxml library, non-STL </li>
@@ -192,49 +195,49 @@ tinyXmlTest: test app, non-STL </li>
<li>
tinyXmlTestSTL: test app, STL </li>
</ul>
-<p>
<h3>Makefile</h3>
-<p>
-At the top of the makefile you can set:<p>
-PROFILE, DEBUG, and TINYXML_USE_STL. Details (such that they are) are in the makefile.<p>
-In the tinyxml directory, type "make clean" then "make". The executable file 'xmltest' will be created.<p>
+<p>At the top of the makefile you can set:</p>
+<p>PROFILE, DEBUG, and TINYXML_USE_STL. Details (such that they are) are in the makefile.</p>
+<p>In the tinyxml directory, type "make clean" then "make". The executable file 'xmltest' will be created.</p>
<h3>To Use in an Application:</h3>
-<p>
-Add tinyxml.cpp, <a class="el" href="tinyxml_8h-source.html">tinyxml.h</a>, tinyxmlerror.cpp, tinyxmlparser.cpp, tinystr.cpp, and <a class="el" href="tinystr_8h-source.html">tinystr.h</a> to your project or make file. That's it! It should compile on any reasonably compliant C++ system. You do not need to enable exceptions or RTTI for TinyXML.<p>
+<p>Add tinyxml.cpp, <a class="el" href="tinyxml_8h_source.html">tinyxml.h</a>, tinyxmlerror.cpp, tinyxmlparser.cpp, tinystr.cpp, and <a class="el" href="tinystr_8h_source.html">tinystr.h</a> to your project or make file. That's it! It should compile on any reasonably compliant C++ system. You do not need to enable exceptions or RTTI for TinyXML.</p>
<h2>How TinyXML works. </h2>
-<p>
-An example is probably the best way to go. Take: <div class="fragment"><pre class="fragment"> &lt;?xml version="1.0" standalone=no&gt;
+<p>An example is probably the best way to go. Take: </p>
+<div class="fragment"><pre class="fragment">
+ &lt;?xml version="1.0" standalone=no&gt;
&lt;!-- Our to do list data --&gt;
&lt;ToDo&gt;
&lt;Item priority="1"&gt; Go to the &lt;bold&gt;Toy store!&lt;/bold&gt;&lt;/Item&gt;
&lt;Item priority="2"&gt; Do bills&lt;/Item&gt;
&lt;/ToDo&gt;
-</pre></div><p>
-Its not much of a To Do list, but it will do. To read this file (say "demo.xml") you would create a document, and parse it in: <div class="fragment"><pre class="fragment"> TiXmlDocument doc( "demo.xml" );
+</pre></div><p>Its not much of a To Do list, but it will do. To read this file (say "demo.xml") you would create a document, and parse it in: </p>
+<div class="fragment"><pre class="fragment">
+ TiXmlDocument doc( "demo.xml" );
doc.LoadFile();
-</pre></div><p>
-And its ready to go. Now lets look at some lines and how they relate to the DOM.<p>
-<div class="fragment"><pre class="fragment">&lt;?xml version="1.0" standalone=no&gt;
-</pre></div><p>
-The first line is a declaration, and gets turned into the <a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a> class. It will be the first child of the document node.<p>
-This is the only directive/special tag parsed by by TinyXML. Generally directive tags are stored in <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> so the commands wont be lost when it is saved back to disk.<p>
-<div class="fragment"><pre class="fragment">&lt;!-- Our to do list data --&gt;
-</pre></div><p>
-A comment. Will become a <a class="el" href="classTiXmlComment.html">TiXmlComment</a> object.<p>
-<div class="fragment"><pre class="fragment">&lt;ToDo&gt;
-</pre></div><p>
-The "ToDo" tag defines a <a class="el" href="classTiXmlElement.html">TiXmlElement</a> object. This one does not have any attributes, but does contain 2 other elements.<p>
-<div class="fragment"><pre class="fragment">&lt;Item priority="1"&gt;
-</pre></div><p>
-Creates another <a class="el" href="classTiXmlElement.html">TiXmlElement</a> which is a child of the "ToDo" element. This element has 1 attribute, with the name "priority" and the value "1".<p>
-<div class="fragment"><pre class="fragment">Go to the
-</pre></div><p>
-A <a class="el" href="classTiXmlText.html">TiXmlText</a>. This is a leaf node and cannot contain other nodes. It is a child of the "Item" <a class="el" href="classTiXmlElement.html">TiXmlElement</a>.<p>
-<div class="fragment"><pre class="fragment">&lt;bold&gt;
-</pre></div><p>
-Another <a class="el" href="classTiXmlElement.html">TiXmlElement</a>, this one a child of the "Item" element.<p>
-Etc.<p>
-Looking at the entire object tree, you end up with: <div class="fragment"><pre class="fragment">TiXmlDocument "demo.xml"
+</pre></div><p>And its ready to go. Now lets look at some lines and how they relate to the DOM.</p>
+<div class="fragment"><pre class="fragment">
+&lt;?xml version="1.0" standalone=no&gt;
+</pre></div><p>The first line is a declaration, and gets turned into the <a class="el" href="classTiXmlDeclaration.html" title="In correct XML the declaration is the first entry in the file.">TiXmlDeclaration</a> class. It will be the first child of the document node.</p>
+<p>This is the only directive/special tag parsed by TinyXML. Generally directive tags are stored in <a class="el" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&#39;t recognize is saved as an unknown.">TiXmlUnknown</a> so the commands wont be lost when it is saved back to disk.</p>
+<div class="fragment"><pre class="fragment">
+&lt;!-- Our to do list data --&gt;
+</pre></div><p>A comment. Will become a <a class="el" href="classTiXmlComment.html" title="An XML comment.">TiXmlComment</a> object.</p>
+<div class="fragment"><pre class="fragment">
+&lt;ToDo&gt;
+</pre></div><p>The "ToDo" tag defines a <a class="el" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a> object. This one does not have any attributes, but does contain 2 other elements.</p>
+<div class="fragment"><pre class="fragment">
+&lt;Item priority="1"&gt;
+</pre></div><p>Creates another <a class="el" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a> which is a child of the "ToDo" element. This element has 1 attribute, with the name "priority" and the value "1".</p>
+<div class="fragment"><pre class="fragment">
+Go to the
+</pre></div><p>A <a class="el" href="classTiXmlText.html" title="XML text.">TiXmlText</a>. This is a leaf node and cannot contain other nodes. It is a child of the "Item" <a class="el" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>.</p>
+<div class="fragment"><pre class="fragment">
+&lt;bold&gt;
+</pre></div><p>Another <a class="el" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>, this one a child of the "Item" element.</p>
+<p>Etc.</p>
+<p>Looking at the entire object tree, you end up with: </p>
+<div class="fragment"><pre class="fragment">
+TiXmlDocument "demo.xml"
TiXmlDeclaration "version='1.0'" "standalone=no"
TiXmlComment " Our to do list data"
TiXmlElement "ToDo"
@@ -244,32 +247,29 @@ Looking at the entire object tree, you end up with: <div class="fragment"><pre c
TiXmlText "Toy store!"
TiXmlElement "Item" Attributes: priority=2
TiXmlText "Do bills"
-</pre></div><p>
-<h2>Documentation </h2>
-<p>
-The documentation is build with Doxygen, using the 'dox' configuration file.<p>
+</pre></div><h2>Documentation </h2>
+<p>The documentation is build with Doxygen, using the 'dox' configuration file.</p>
<h2>License </h2>
-<p>
-TinyXML is released under the zlib license:<p>
-This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.<p>
-Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:<p>
-1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.<p>
-2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.<p>
-3. This notice may not be removed or altered from any source distribution.<p>
+<p>TinyXML is released under the zlib license:</p>
+<p>This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.</p>
+<p>Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:</p>
+<p>1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.</p>
+<p>2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.</p>
+<p>3. This notice may not be removed or altered from any source distribution.</p>
<h2>References </h2>
-<p>
-The World Wide Web Consortium is the definitive standard body for XML, and there web pages contain huge amounts of information.<p>
-The definitive spec: <a href="http://www.w3.org/TR/2004/REC-xml-20040204/">http://www.w3.org/TR/2004/REC-xml-20040204/</a><p>
-I also recommend "XML Pocket Reference" by Robert Eckstein and published by OReilly...the book that got the whole thing started.<p>
+<p>The World Wide Web Consortium is the definitive standard body for XML, and their web pages contain huge amounts of information.</p>
+<p>The definitive spec: <a href="http://www.w3.org/TR/2004/REC-xml-20040204/">http://www.w3.org/TR/2004/REC-xml-20040204/</a></p>
+<p>I also recommend "XML Pocket Reference" by Robert Eckstein and published by OReilly...the book that got the whole thing started.</p>
<h2>Contributors, Contacts, and a Brief History </h2>
-<p>
-Thanks very much to everyone who sends suggestions, bugs, ideas, and encouragement. It all helps, and makes this project fun. A special thanks to the contributors on the web pages that keep it lively.<p>
-So many people have sent in bugs and ideas, that rather than list here we try to give credit due in the "changes.txt" file.<p>
-TinyXML was originally written by Lee Thomason. (Often the "I" still in the documentation.) Lee reviews changes and releases new versions, with the help of Yves Berquin, Andrew Ellerton, and the tinyXml community.<p>
-We appreciate your suggestions, and would love to know if you use TinyXML. Hopefully you will enjoy it and find it useful. Please post questions, comments, file bugs, or contact us at:<p>
-www.sourceforge.net/projects/tinyxml<p>
-Lee Thomason, Yves Berquin, Andrew Ellerton <hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:22 2007 for TinyXml by&nbsp;
+<p>Thanks very much to everyone who sends suggestions, bugs, ideas, and encouragement. It all helps, and makes this project fun. A special thanks to the contributors on the web pages that keep it lively.</p>
+<p>So many people have sent in bugs and ideas, that rather than list here we try to give credit due in the "changes.txt" file.</p>
+<p>TinyXML was originally written by Lee Thomason. (Often the "I" still in the documentation.) Lee reviews changes and releases new versions, with the help of Yves Berquin, Andrew Ellerton, and the tinyXml community.</p>
+<p>We appreciate your suggestions, and would love to know if you use TinyXML. Hopefully you will enjoy it and find it useful. Please post questions, comments, file bugs, or contact us at:</p>
+<p>www.sourceforge.net/projects/tinyxml</p>
+<p>Lee Thomason, Yves Berquin, Andrew Ellerton </p>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/pages.html b/shared/tinyxml/docs/pages.html
index b23a328b..14a96596 100644
--- a/shared/tinyxml/docs/pages.html
+++ b/shared/tinyxml/docs/pages.html
@@ -1,23 +1,31 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: Page Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li id="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>TinyXml Related Pages</h1>Here is a list of all related documentation pages:<ul>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Related Pages</h1>Here is a list of all related documentation pages:<ul>
<li><a class="el" href="deprecated.html">Deprecated List</a>
-
+</li>
</ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/tabs.css b/shared/tinyxml/docs/tabs.css
index a61552a6..a4441634 100644
--- a/shared/tinyxml/docs/tabs.css
+++ b/shared/tinyxml/docs/tabs.css
@@ -32,7 +32,7 @@ DIV.tabs A
float : left;
background : url("tab_r.gif") no-repeat right top;
border-bottom : 1px solid #84B0C7;
- font-size : x-small;
+ font-size : 80%;
font-weight : bold;
text-decoration : none;
}
@@ -57,7 +57,7 @@ DIV.tabs SPAN
white-space : nowrap;
}
-DIV.tabs INPUT
+DIV.tabs #MSearchBox
{
float : right;
display : inline;
@@ -66,7 +66,7 @@ DIV.tabs INPUT
DIV.tabs TD
{
- font-size : x-small;
+ font-size : 80%;
font-weight : bold;
text-decoration : none;
}
@@ -82,21 +82,24 @@ DIV.tabs A:hover SPAN
background-position: 0% -150px;
}
-DIV.tabs LI#current A
+DIV.tabs LI.current A
{
background-position: 100% -150px;
border-width : 0px;
}
-DIV.tabs LI#current SPAN
+DIV.tabs LI.current SPAN
{
background-position: 0% -150px;
padding-bottom : 6px;
}
-DIV.nav
+DIV.navpath
{
background : none;
border : none;
border-bottom : 1px solid #84B0C7;
+ text-align : center;
+ margin : 2px;
+ padding : 2px;
}
diff --git a/shared/tinyxml/docs/tinystr_8h-source.html b/shared/tinyxml/docs/tinystr_8h_source.html
index 71408eed..eddeda87 100644
--- a/shared/tinyxml/docs/tinystr_8h-source.html
+++ b/shared/tinyxml/docs/tinystr_8h_source.html
@@ -1,22 +1,32 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: tinystr.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- <li id="current"><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</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 class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ </ul>
+ </div>
<h1>tinystr.h</h1><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 file by Yves Berquin.</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="l00005"></a>00005 <span class="comment">This software is provided &#39;as-is&#39;, 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>
@@ -44,7 +54,7 @@
<a name="l00030"></a>00030 <span class="comment"> * - fixed reserve() to work as per specification.</span>
<a name="l00031"></a>00031 <span class="comment"> * - fixed buggy compares operator==(), operator&lt;(), and operator&gt;()</span>
<a name="l00032"></a>00032 <span class="comment"> * - fixed operator+=() to take a const ref argument, following spec.</span>
-<a name="l00033"></a>00033 <span class="comment"> * - added "copy" constructor with length, and most compare operators.</span>
+<a name="l00033"></a>00033 <span class="comment"> * - added &quot;copy&quot; constructor with length, and most compare operators.</span>
<a name="l00034"></a>00034 <span class="comment"> * - added swap(), clear(), size(), capacity(), operator+().</span>
<a name="l00035"></a>00035 <span class="comment"> */</span>
<a name="l00036"></a>00036
@@ -56,8 +66,8 @@
<a name="l00042"></a>00042 <span class="preprocessor">#include &lt;assert.h&gt;</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &lt;string.h&gt;</span>
<a name="l00044"></a>00044
-<a name="l00045"></a>00045 <span class="comment">/* The support for explicit isn't that universal, and it isn't really</span>
-<a name="l00046"></a>00046 <span class="comment"> required - it is used to check that the TiXmlString class isn't incorrectly</span>
+<a name="l00045"></a>00045 <span class="comment">/* The support for explicit isn&#39;t that universal, and it isn&#39;t really</span>
+<a name="l00046"></a>00046 <span class="comment"> required - it is used to check that the TiXmlString class isn&#39;t incorrectly</span>
<a name="l00047"></a>00047 <span class="comment"> used. Be nice to old compilers and macro it here:</span>
<a name="l00048"></a>00048 <span class="comment">*/</span>
<a name="l00049"></a>00049 <span class="preprocessor">#if defined(_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1200 )</span>
@@ -76,13 +86,13 @@
<a name="l00062"></a>00062 <span class="comment"> Its purpose is to allow compiling TinyXML on compilers with no or poor STL support.</span>
<a name="l00063"></a>00063 <span class="comment"> Only the member functions relevant to the TinyXML project have been implemented.</span>
<a name="l00064"></a>00064 <span class="comment"> The buffer allocation is made by a simplistic power of 2 like mechanism : if we increase</span>
-<a name="l00065"></a>00065 <span class="comment"> a string and there's no more room, we allocate a buffer twice as big as we need.</span>
+<a name="l00065"></a>00065 <span class="comment"> a string and there&#39;s no more room, we allocate a buffer twice as big as we need.</span>
<a name="l00066"></a>00066 <span class="comment">*/</span>
<a name="l00067"></a>00067 <span class="keyword">class </span>TiXmlString
<a name="l00068"></a>00068 {
<a name="l00069"></a>00069 <span class="keyword">public</span> :
<a name="l00070"></a>00070 <span class="comment">// The size type used</span>
-<a name="l00071"></a>00071 <span class="keyword">typedef</span> size_t size_type;
+<a name="l00071"></a>00071 <span class="keyword">typedef</span> <span class="keywordtype">size_t</span> size_type;
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="comment">// Error value for find primitive</span>
<a name="l00074"></a>00074 <span class="keyword">static</span> <span class="keyword">const</span> size_type npos; <span class="comment">// = -1;</span>
@@ -196,9 +206,9 @@
<a name="l00182"></a>00182 <span class="keyword"> </span>{
<a name="l00183"></a>00183 <span class="keywordflow">if</span> (offset &gt;= length()) <span class="keywordflow">return</span> npos;
<a name="l00184"></a>00184
-<a name="l00185"></a>00185 <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keywordtype">char</span>* p = c_str() + offset; *p != <span class="charliteral">'\0'</span>; ++p)
+<a name="l00185"></a>00185 <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keywordtype">char</span>* p = c_str() + offset; *p != <span class="charliteral">&#39;\0&#39;</span>; ++p)
<a name="l00186"></a>00186 {
-<a name="l00187"></a>00187 <span class="keywordflow">if</span> (*p == tofind) <span class="keywordflow">return</span> static_cast&lt; size_type &gt;( p - c_str() );
+<a name="l00187"></a>00187 <span class="keywordflow">if</span> (*p == tofind) <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span> size_type <span class="keyword">&gt;</span>( p - c_str() );
<a name="l00188"></a>00188 }
<a name="l00189"></a>00189 <span class="keywordflow">return</span> npos;
<a name="l00190"></a>00190 }
@@ -213,7 +223,7 @@
<a name="l00199"></a>00199 init(0,0);
<a name="l00200"></a>00200 }
<a name="l00201"></a>00201
-<a name="l00202"></a>00202 <span class="comment">/* Function to reserve a big amount of data when we know we'll need it. Be aware that this</span>
+<a name="l00202"></a>00202 <span class="comment">/* Function to reserve a big amount of data when we know we&#39;ll need it. Be aware that this</span>
<a name="l00203"></a>00203 <span class="comment"> function DOES NOT clear the content of the TiXmlString if any exists.</span>
<a name="l00204"></a>00204 <span class="comment"> */</span>
<a name="l00205"></a>00205 <span class="keywordtype">void</span> reserve (size_type cap);
@@ -232,7 +242,7 @@
<a name="l00218"></a>00218 <span class="keyword">private</span>:
<a name="l00219"></a>00219
<a name="l00220"></a>00220 <span class="keywordtype">void</span> init(size_type sz) { init(sz, sz); }
-<a name="l00221"></a>00221 <span class="keywordtype">void</span> set_size(size_type sz) { rep_-&gt;str[ rep_-&gt;size = sz ] = <span class="charliteral">'\0'</span>; }
+<a name="l00221"></a>00221 <span class="keywordtype">void</span> set_size(size_type sz) { rep_-&gt;str[ rep_-&gt;size = sz ] = <span class="charliteral">&#39;\0&#39;</span>; }
<a name="l00222"></a>00222 <span class="keywordtype">char</span>* start()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep_-&gt;str; }
<a name="l00223"></a>00223 <span class="keywordtype">char</span>* finish()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rep_-&gt;str + rep_-&gt;size; }
<a name="l00224"></a>00224
@@ -248,14 +258,14 @@
<a name="l00234"></a>00234 {
<a name="l00235"></a>00235 <span class="comment">// Lee: the original form:</span>
<a name="l00236"></a>00236 <span class="comment">// rep_ = static_cast&lt;Rep*&gt;(operator new(sizeof(Rep) + cap));</span>
-<a name="l00237"></a>00237 <span class="comment">// doesn't work in some cases of new being overloaded. Switching</span>
-<a name="l00238"></a>00238 <span class="comment">// to the normal allocation, although use an 'int' for systems</span>
+<a name="l00237"></a>00237 <span class="comment">// doesn&#39;t work in some cases of new being overloaded. Switching</span>
+<a name="l00238"></a>00238 <span class="comment">// to the normal allocation, although use an &#39;int&#39; for systems</span>
<a name="l00239"></a>00239 <span class="comment">// that are overly picky about structure alignment.</span>
<a name="l00240"></a>00240 <span class="keyword">const</span> size_type bytesNeeded = <span class="keyword">sizeof</span>(Rep) + cap;
<a name="l00241"></a>00241 <span class="keyword">const</span> size_type intsNeeded = ( bytesNeeded + <span class="keyword">sizeof</span>(int) - 1 ) / <span class="keyword">sizeof</span>( int );
-<a name="l00242"></a>00242 rep_ = reinterpret_cast&lt;Rep*&gt;( <span class="keyword">new</span> <span class="keywordtype">int</span>[ intsNeeded ] );
+<a name="l00242"></a>00242 rep_ = <span class="keyword">reinterpret_cast&lt;</span>Rep*<span class="keyword">&gt;</span>( <span class="keyword">new</span> <span class="keywordtype">int</span>[ intsNeeded ] );
<a name="l00243"></a>00243
-<a name="l00244"></a>00244 rep_-&gt;str[ rep_-&gt;size = sz ] = <span class="charliteral">'\0'</span>;
+<a name="l00244"></a>00244 rep_-&gt;str[ rep_-&gt;size = sz ] = <span class="charliteral">&#39;\0&#39;</span>;
<a name="l00245"></a>00245 rep_-&gt;capacity = cap;
<a name="l00246"></a>00246 }
<a name="l00247"></a>00247 <span class="keywordflow">else</span>
@@ -269,8 +279,8 @@
<a name="l00255"></a>00255 <span class="keywordflow">if</span> (rep_ != &amp;nullrep_)
<a name="l00256"></a>00256 {
<a name="l00257"></a>00257 <span class="comment">// The rep_ is really an array of ints. (see the allocator, above).</span>
-<a name="l00258"></a>00258 <span class="comment">// Cast it back before delete, so the compiler won't incorrectly call destructors.</span>
-<a name="l00259"></a>00259 <span class="keyword">delete</span> [] ( reinterpret_cast&lt;int*&gt;( rep_ ) );
+<a name="l00258"></a>00258 <span class="comment">// Cast it back before delete, so the compiler won&#39;t incorrectly call destructors.</span>
+<a name="l00259"></a>00259 <span class="keyword">delete</span> [] ( <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">int</span>*<span class="keyword">&gt;</span>( rep_ ) );
<a name="l00260"></a>00260 }
<a name="l00261"></a>00261 }
<a name="l00262"></a>00262
@@ -331,8 +341,9 @@
<a name="l00317"></a>00317
<a name="l00318"></a>00318 <span class="preprocessor">#endif // TIXML_STRING_INCLUDED</span>
<a name="l00319"></a>00319 <span class="preprocessor"></span><span class="preprocessor">#endif // TIXML_USE_STL</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:22 2007 for TinyXml by&nbsp;
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/docs/tinyxml_8h-source.html b/shared/tinyxml/docs/tinyxml_8h-source.html
deleted file mode 100644
index 135da9ce..00000000
--- a/shared/tinyxml/docs/tinyxml_8h-source.html
+++ /dev/null
@@ -1,1201 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>TinyXml: tinyxml.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- <li id="current"><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>tinyxml.h</h1><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 TINYXML_INCLUDED</span>
-<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define TINYXML_INCLUDED</span>
-<a name="l00028"></a>00028 <span class="preprocessor"></span>
-<a name="l00029"></a>00029 <span class="preprocessor">#ifdef _MSC_VER</span>
-<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#pragma warning( push )</span>
-<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#pragma warning( disable : 4530 )</span>
-<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#pragma warning( disable : 4786 )</span>
-<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00034"></a>00034 <span class="preprocessor"></span>
-<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;ctype.h&gt;</span>
-<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
-<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
-<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;string.h&gt;</span>
-<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;assert.h&gt;</span>
-<a name="l00040"></a>00040
-<a name="l00041"></a>00041 <span class="comment">// Help out windows:</span>
-<a name="l00042"></a>00042 <span class="preprocessor">#if defined( _DEBUG ) &amp;&amp; !defined( DEBUG )</span>
-<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#define DEBUG</span>
-<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00045"></a>00045 <span class="preprocessor"></span>
-<a name="l00046"></a>00046 <span class="preprocessor">#ifdef TIXML_USE_STL</span>
-<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;string&gt;</span>
-<a name="l00048"></a>00048 <span class="preprocessor"> #include &lt;iostream&gt;</span>
-<a name="l00049"></a>00049 <span class="preprocessor"> #include &lt;sstream&gt;</span>
-<a name="l00050"></a>00050 <span class="preprocessor"> #define TIXML_STRING std::string</span>
-<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#else</span>
-<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor"> #include "tinystr.h"</span>
-<a name="l00053"></a>00053 <span class="preprocessor"> #define TIXML_STRING TiXmlString</span>
-<a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00055"></a>00055 <span class="preprocessor"></span>
-<a name="l00056"></a>00056 <span class="comment">// Deprecated library function hell. Compilers want to use the</span>
-<a name="l00057"></a>00057 <span class="comment">// new safe versions. This probably doesn't fully address the problem,</span>
-<a name="l00058"></a>00058 <span class="comment">// but it gets closer. There are too many compilers for me to fully</span>
-<a name="l00059"></a>00059 <span class="comment">// test. If you get compilation troubles, undefine TIXML_SAFE</span>
-<a name="l00060"></a>00060 <span class="preprocessor">#define TIXML_SAFE</span>
-<a name="l00061"></a>00061 <span class="preprocessor"></span>
-<a name="l00062"></a>00062 <span class="preprocessor">#ifdef TIXML_SAFE</span>
-<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor"> #if defined(_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1400 )</span>
-<a name="l00064"></a>00064 <span class="preprocessor"></span> <span class="comment">// Microsoft visual studio, version 2005 and higher.</span>
-<a name="l00065"></a>00065 <span class="preprocessor"> #define TIXML_SNPRINTF _snprintf_s</span>
-<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor"> #define TIXML_SNSCANF _snscanf_s</span>
-<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="preprocessor"> #define TIXML_SSCANF sscanf_s</span>
-<a name="l00068"></a>00068 <span class="preprocessor"></span><span class="preprocessor"> #elif defined(_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1200 )</span>
-<a name="l00069"></a>00069 <span class="preprocessor"></span> <span class="comment">// Microsoft visual studio, version 6 and higher.</span>
-<a name="l00070"></a>00070 <span class="comment">//#pragma message( "Using _sn* functions." )</span>
-<a name="l00071"></a>00071 <span class="preprocessor"> #define TIXML_SNPRINTF _snprintf</span>
-<a name="l00072"></a>00072 <span class="preprocessor"></span><span class="preprocessor"> #define TIXML_SNSCANF _snscanf</span>
-<a name="l00073"></a>00073 <span class="preprocessor"></span><span class="preprocessor"> #define TIXML_SSCANF sscanf</span>
-<a name="l00074"></a>00074 <span class="preprocessor"></span><span class="preprocessor"> #elif defined(__GNUC__) &amp;&amp; (__GNUC__ &gt;= 3 )</span>
-<a name="l00075"></a>00075 <span class="preprocessor"></span> <span class="comment">// GCC version 3 and higher.s</span>
-<a name="l00076"></a>00076 <span class="comment">//#warning( "Using sn* functions." )</span>
-<a name="l00077"></a>00077 <span class="preprocessor"> #define TIXML_SNPRINTF snprintf</span>
-<a name="l00078"></a>00078 <span class="preprocessor"></span><span class="preprocessor"> #define TIXML_SNSCANF snscanf</span>
-<a name="l00079"></a>00079 <span class="preprocessor"></span><span class="preprocessor"> #define TIXML_SSCANF sscanf</span>
-<a name="l00080"></a>00080 <span class="preprocessor"></span><span class="preprocessor"> #else</span>
-<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor"> #define TIXML_SSCANF sscanf</span>
-<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
-<a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor">#endif </span>
-<a name="l00084"></a>00084 <span class="preprocessor"></span>
-<a name="l00085"></a>00085 <span class="keyword">class </span><a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>;
-<a name="l00086"></a>00086 <span class="keyword">class </span><a class="code" href="classTiXmlElement.html">TiXmlElement</a>;
-<a name="l00087"></a>00087 <span class="keyword">class </span><a class="code" href="classTiXmlComment.html">TiXmlComment</a>;
-<a name="l00088"></a>00088 <span class="keyword">class </span><a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>;
-<a name="l00089"></a>00089 <span class="keyword">class </span><a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>;
-<a name="l00090"></a>00090 <span class="keyword">class </span><a class="code" href="classTiXmlText.html">TiXmlText</a>;
-<a name="l00091"></a>00091 <span class="keyword">class </span><a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>;
-<a name="l00092"></a>00092 <span class="keyword">class </span>TiXmlParsingData;
-<a name="l00093"></a>00093
-<a name="l00094"></a>00094 <span class="keyword">const</span> <span class="keywordtype">int</span> TIXML_MAJOR_VERSION = 2;
-<a name="l00095"></a>00095 <span class="keyword">const</span> <span class="keywordtype">int</span> TIXML_MINOR_VERSION = 5;
-<a name="l00096"></a>00096 <span class="keyword">const</span> <span class="keywordtype">int</span> TIXML_PATCH_VERSION = 3;
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098 <span class="comment">/* Internal structure for tracking location of items </span>
-<a name="l00099"></a>00099 <span class="comment"> in the XML file.</span>
-<a name="l00100"></a>00100 <span class="comment">*/</span>
-<a name="l00101"></a>00101 <span class="keyword">struct </span>TiXmlCursor
-<a name="l00102"></a>00102 {
-<a name="l00103"></a>00103 TiXmlCursor() { Clear(); }
-<a name="l00104"></a>00104 <span class="keywordtype">void</span> Clear() { row = col = -1; }
-<a name="l00105"></a>00105
-<a name="l00106"></a>00106 <span class="keywordtype">int</span> row; <span class="comment">// 0 based.</span>
-<a name="l00107"></a>00107 <span class="keywordtype">int</span> col; <span class="comment">// 0 based.</span>
-<a name="l00108"></a>00108 };
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110
-<a name="l00129"></a><a class="code" href="classTiXmlVisitor.html">00129</a> <span class="keyword">class </span><a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>
-<a name="l00130"></a>00130 {
-<a name="l00131"></a>00131 <span class="keyword">public</span>:
-<a name="l00132"></a>00132 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>() {}
-<a name="l00133"></a>00133
-<a name="l00135"></a><a class="code" href="classTiXmlVisitor.html#07baecb52dd7d8716ae2a48ad0956ee0">00135</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#07baecb52dd7d8716ae2a48ad0956ee0">VisitEnter</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>&amp; <span class="comment">/*doc*/</span> ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
-<a name="l00137"></a><a class="code" href="classTiXmlVisitor.html#a0ade4f27087447e93974e975c3246ad">00137</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a0ade4f27087447e93974e975c3246ad">VisitExit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>&amp; <span class="comment">/*doc*/</span> ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
-<a name="l00138"></a>00138
-<a name="l00140"></a><a class="code" href="classTiXmlVisitor.html#f6c6178ffa517bbdba95d70490875fff">00140</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#07baecb52dd7d8716ae2a48ad0956ee0">VisitEnter</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>&amp; <span class="comment">/*element*/</span>, <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <span class="comment">/*firstAttribute*/</span> ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
-<a name="l00142"></a><a class="code" href="classTiXmlVisitor.html#ec2b1f8116226d52f3a1b95dafd3a32c">00142</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a0ade4f27087447e93974e975c3246ad">VisitExit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>&amp; <span class="comment">/*element*/</span> ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
-<a name="l00143"></a>00143
-<a name="l00145"></a><a class="code" href="classTiXmlVisitor.html#fad71c71ce6473fb9b4b64cd92de4a19">00145</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#fad71c71ce6473fb9b4b64cd92de4a19">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>&amp; <span class="comment">/*declaration*/</span> ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
-<a name="l00147"></a><a class="code" href="classTiXmlVisitor.html#399b8ebca5cd14664974a32d2ce029e5">00147</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#fad71c71ce6473fb9b4b64cd92de4a19">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlText.html">TiXmlText</a>&amp; <span class="comment">/*text*/</span> ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
-<a name="l00149"></a><a class="code" href="classTiXmlVisitor.html#53a60e7a528627b31af3161972cc7fa2">00149</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#fad71c71ce6473fb9b4b64cd92de4a19">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html">TiXmlComment</a>&amp; <span class="comment">/*comment*/</span> ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
-<a name="l00151"></a><a class="code" href="classTiXmlVisitor.html#7e284d607d275c51dac1adb58159ce28">00151</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#fad71c71ce6473fb9b4b64cd92de4a19">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>&amp; <span class="comment">/*unknown*/</span> ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
-<a name="l00152"></a>00152 };
-<a name="l00153"></a>00153
-<a name="l00154"></a>00154 <span class="comment">// Only used by Attribute::Query functions</span>
-<a name="l00155"></a>00155 <span class="keyword">enum</span>
-<a name="l00156"></a>00156 {
-<a name="l00157"></a>00157 TIXML_SUCCESS,
-<a name="l00158"></a>00158 TIXML_NO_ATTRIBUTE,
-<a name="l00159"></a>00159 TIXML_WRONG_TYPE
-<a name="l00160"></a>00160 };
-<a name="l00161"></a>00161
-<a name="l00162"></a>00162
-<a name="l00163"></a>00163 <span class="comment">// Used by the parsing routines.</span>
-<a name="l00164"></a>00164 <span class="keyword">enum</span> TiXmlEncoding
-<a name="l00165"></a>00165 {
-<a name="l00166"></a>00166 TIXML_ENCODING_UNKNOWN,
-<a name="l00167"></a>00167 TIXML_ENCODING_UTF8,
-<a name="l00168"></a>00168 TIXML_ENCODING_LEGACY
-<a name="l00169"></a>00169 };
-<a name="l00170"></a>00170
-<a name="l00171"></a>00171 <span class="keyword">const</span> TiXmlEncoding TIXML_DEFAULT_ENCODING = TIXML_ENCODING_UNKNOWN;
-<a name="l00172"></a>00172
-<a name="l00195"></a><a class="code" href="classTiXmlBase.html">00195</a> <span class="keyword">class </span><a class="code" href="classTiXmlBase.html">TiXmlBase</a>
-<a name="l00196"></a>00196 {
-<a name="l00197"></a>00197 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlNode.html">TiXmlNode</a>;
-<a name="l00198"></a>00198 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlElement.html">TiXmlElement</a>;
-<a name="l00199"></a>00199 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>;
-<a name="l00200"></a>00200
-<a name="l00201"></a>00201 <span class="keyword">public</span>:
-<a name="l00202"></a>00202 <a class="code" href="classTiXmlBase.html">TiXmlBase</a>() : <a class="code" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">userData</a>(0) {}
-<a name="l00203"></a>00203 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlBase.html">TiXmlBase</a>() {}
-<a name="l00204"></a>00204
-<a name="l00214"></a>00214 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#0de56b3f2ef14c65091a3b916437b512">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const </span>= 0;
-<a name="l00215"></a>00215
-<a name="l00222"></a><a class="code" href="classTiXmlBase.html#0f799ec645bfb8d8a969e83478f379c1">00222</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>( <span class="keywordtype">bool</span> condense ) { condenseWhiteSpace = condense; }
-<a name="l00223"></a>00223
-<a name="l00225"></a><a class="code" href="classTiXmlBase.html#d4b1472531c647a25b1840a87ae42438">00225</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlBase.html#d4b1472531c647a25b1840a87ae42438">IsWhiteSpaceCondensed</a>() { <span class="keywordflow">return</span> condenseWhiteSpace; }
-<a name="l00226"></a>00226
-<a name="l00245"></a><a class="code" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">00245</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlBase.html#024bceb070188df92c2a8d8852dd0853">Row</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> location.row + 1; }
-<a name="l00246"></a><a class="code" href="classTiXmlBase.html#b54bfb9b70fe6dd276e7b279cab7f003">00246</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlBase.html#b54bfb9b70fe6dd276e7b279cab7f003">Column</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> location.col + 1; }
-<a name="l00247"></a>00247
-<a name="l00248"></a><a class="code" href="classTiXmlBase.html#c6b3e0f790930d4970ec30764e937b5d">00248</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#c6b3e0f790930d4970ec30764e937b5d">SetUserData</a>( <span class="keywordtype">void</span>* user ) { <a class="code" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">userData</a> = user; }
-<a name="l00249"></a><a class="code" href="classTiXmlBase.html#6559a530ca6763fc301a14d77ed28c17">00249</a> <span class="keywordtype">void</span>* <a class="code" href="classTiXmlBase.html#6559a530ca6763fc301a14d77ed28c17">GetUserData</a>() { <span class="keywordflow">return</span> <a class="code" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">userData</a>; }
-<a name="l00250"></a><a class="code" href="classTiXmlBase.html#d0120210e4680ef2088601753ce0ede4">00250</a> <span class="keyword">const</span> <span class="keywordtype">void</span>* <a class="code" href="classTiXmlBase.html#6559a530ca6763fc301a14d77ed28c17">GetUserData</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">userData</a>; }
-<a name="l00251"></a>00251
-<a name="l00252"></a>00252 <span class="comment">// Table that returs, for a given lead byte, the total number of bytes</span>
-<a name="l00253"></a>00253 <span class="comment">// in the UTF-8 sequence.</span>
-<a name="l00254"></a>00254 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> utf8ByteTable[256];
-<a name="l00255"></a>00255
-<a name="l00256"></a>00256 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlDocument.html#17ebabe36926ef398e78dec0d0ad0378">Parse</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* p,
-<a name="l00257"></a>00257 TiXmlParsingData* data,
-<a name="l00258"></a>00258 TiXmlEncoding encoding <span class="comment">/*= TIXML_ENCODING_UNKNOWN */</span> ) = 0;
-<a name="l00259"></a>00259
-<a name="l00263"></a>00263 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#6bd8c315c1acb09e34107b8736505948">EncodeString</a>( <span class="keyword">const</span> TIXML_STRING&amp; str, TIXML_STRING* out );
-<a name="l00264"></a>00264
-<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
-<a name="l00290"></a>00290 <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 &lt; 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="comment">/* Reads an XML name into the string provided. Returns</span>
-<a name="l00308"></a>00308 <span class="comment"> a pointer just past the last character of the name,</span>
-<a name="l00309"></a>00309 <span class="comment"> or 0 if the function has an error.</span>
-<a name="l00310"></a>00310 <span class="comment"> */</span>
-<a name="l00311"></a>00311 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* ReadName( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, TIXML_STRING* name, TiXmlEncoding encoding );
-<a name="l00312"></a>00312
-<a name="l00313"></a>00313 <span class="comment">/* Reads text. Returns a pointer past the given end tag.</span>
-<a name="l00314"></a>00314 <span class="comment"> Wickedly complex options, but it keeps the (sensitive) code in one place.</span>
-<a name="l00315"></a>00315 <span class="comment"> */</span>
-<a name="l00316"></a>00316 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* ReadText( <span class="keyword">const</span> <span class="keywordtype">char</span>* in, <span class="comment">// where to start</span>
-<a name="l00317"></a>00317 TIXML_STRING* text, <span class="comment">// the string read</span>
-<a name="l00318"></a>00318 <span class="keywordtype">bool</span> ignoreWhiteSpace, <span class="comment">// whether to keep the white space</span>
-<a name="l00319"></a>00319 <span class="keyword">const</span> <span class="keywordtype">char</span>* endTag, <span class="comment">// what ends this text</span>
-<a name="l00320"></a>00320 <span class="keywordtype">bool</span> ignoreCase, <span class="comment">// whether to ignore case in the end tag</span>
-<a name="l00321"></a>00321 TiXmlEncoding encoding ); <span class="comment">// the current encoding</span>
-<a name="l00322"></a>00322
-<a name="l00323"></a>00323 <span class="comment">// If an entity has been found, transform it into a character.</span>
-<a name="l00324"></a>00324 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* GetEntity( <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="l00325"></a>00325
-<a name="l00326"></a>00326 <span class="comment">// Get a character, while interpreting entities.</span>
-<a name="l00327"></a>00327 <span class="comment">// The length can be from 0 to 4 bytes.</span>
-<a name="l00328"></a>00328 <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* GetChar( <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="l00329"></a>00329 {
-<a name="l00330"></a>00330 assert( p );
-<a name="l00331"></a>00331 <span class="keywordflow">if</span> ( encoding == TIXML_ENCODING_UTF8 )
-<a name="l00332"></a>00332 {
-<a name="l00333"></a>00333 *length = utf8ByteTable[ *((<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)p) ];
-<a name="l00334"></a>00334 assert( *length &gt;= 0 &amp;&amp; *length &lt; 5 );
-<a name="l00335"></a>00335 }
-<a name="l00336"></a>00336 <span class="keywordflow">else</span>
-<a name="l00337"></a>00337 {
-<a name="l00338"></a>00338 *length = 1;
-<a name="l00339"></a>00339 }
-<a name="l00340"></a>00340
-<a name="l00341"></a>00341 <span class="keywordflow">if</span> ( *length == 1 )
-<a name="l00342"></a>00342 {
-<a name="l00343"></a>00343 <span class="keywordflow">if</span> ( *p == <span class="charliteral">'&amp;'</span> )
-<a name="l00344"></a>00344 <span class="keywordflow">return</span> GetEntity( p, _value, length, encoding );
-<a name="l00345"></a>00345 *_value = *p;
-<a name="l00346"></a>00346 <span class="keywordflow">return</span> p+1;
-<a name="l00347"></a>00347 }
-<a name="l00348"></a>00348 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( *length )
-<a name="l00349"></a>00349 {
-<a name="l00350"></a>00350 <span class="comment">//strncpy( _value, p, *length ); // lots of compilers don't like this function (unsafe),</span>
-<a name="l00351"></a>00351 <span class="comment">// and the null terminator isn't needed</span>
-<a name="l00352"></a>00352 <span class="keywordflow">for</span>( <span class="keywordtype">int</span> i=0; p[i] &amp;&amp; i&lt;*length; ++i ) {
-<a name="l00353"></a>00353 _value[i] = p[i];
-<a name="l00354"></a>00354 }
-<a name="l00355"></a>00355 <span class="keywordflow">return</span> p + (*length);
-<a name="l00356"></a>00356 }
-<a name="l00357"></a>00357 <span class="keywordflow">else</span>
-<a name="l00358"></a>00358 {
-<a name="l00359"></a>00359 <span class="comment">// Not valid text.</span>
-<a name="l00360"></a>00360 <span class="keywordflow">return</span> 0;
-<a name="l00361"></a>00361 }
-<a name="l00362"></a>00362 }
-<a name="l00363"></a>00363
-<a name="l00364"></a>00364 <span class="comment">// Return true if the next characters in the stream are any of the endTag sequences.</span>
-<a name="l00365"></a>00365 <span class="comment">// Ignore case only works for english, and should only be relied on when comparing</span>
-<a name="l00366"></a>00366 <span class="comment">// to English words: StringEqual( p, "version", true ) is fine.</span>
-<a name="l00367"></a>00367 <span class="keyword">static</span> <span class="keywordtype">bool</span> StringEqual( <span class="keyword">const</span> <span class="keywordtype">char</span>* p,
-<a name="l00368"></a>00368 <span class="keyword">const</span> <span class="keywordtype">char</span>* endTag,
-<a name="l00369"></a>00369 <span class="keywordtype">bool</span> ignoreCase,
-<a name="l00370"></a>00370 TiXmlEncoding encoding );
-<a name="l00371"></a>00371
-<a name="l00372"></a>00372 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* errorString[ TIXML_ERROR_STRING_COUNT ];
-<a name="l00373"></a>00373
-<a name="l00374"></a>00374 TiXmlCursor location;
-<a name="l00375"></a>00375
-<a name="l00377"></a><a class="code" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">00377</a> <span class="keywordtype">void</span>* <a class="code" href="classTiXmlBase.html#b242c01590191f644569fa89a080d97c">userData</a>;
-<a name="l00378"></a>00378
-<a name="l00379"></a>00379 <span class="comment">// None of these methods are reliable for any language except English.</span>
-<a name="l00380"></a>00380 <span class="comment">// Good for approximation, not great for accuracy.</span>
-<a name="l00381"></a>00381 <span class="keyword">static</span> <span class="keywordtype">int</span> IsAlpha( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> anyByte, TiXmlEncoding encoding );
-<a name="l00382"></a>00382 <span class="keyword">static</span> <span class="keywordtype">int</span> IsAlphaNum( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> anyByte, TiXmlEncoding encoding );
-<a name="l00383"></a>00383 <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">int</span> ToLower( <span class="keywordtype">int</span> v, TiXmlEncoding encoding )
-<a name="l00384"></a>00384 {
-<a name="l00385"></a>00385 <span class="keywordflow">if</span> ( encoding == TIXML_ENCODING_UTF8 )
-<a name="l00386"></a>00386 {
-<a name="l00387"></a>00387 <span class="keywordflow">if</span> ( v &lt; 128 ) <span class="keywordflow">return</span> tolower( v );
-<a name="l00388"></a>00388 <span class="keywordflow">return</span> v;
-<a name="l00389"></a>00389 }
-<a name="l00390"></a>00390 <span class="keywordflow">else</span>
-<a name="l00391"></a>00391 {
-<a name="l00392"></a>00392 <span class="keywordflow">return</span> tolower( v );
-<a name="l00393"></a>00393 }
-<a name="l00394"></a>00394 }
-<a name="l00395"></a>00395 <span class="keyword">static</span> <span class="keywordtype">void</span> ConvertUTF32ToUTF8( <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="l00396"></a>00396
-<a name="l00397"></a>00397 <span class="keyword">private</span>:
-<a name="l00398"></a>00398 <a class="code" href="classTiXmlBase.html">TiXmlBase</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlBase.html">TiXmlBase</a>&amp; ); <span class="comment">// not implemented.</span>
-<a name="l00399"></a>00399 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlBase.html">TiXmlBase</a>&amp; base ); <span class="comment">// not allowed.</span>
-<a name="l00400"></a>00400
-<a name="l00401"></a>00401 <span class="keyword">struct </span>Entity
-<a name="l00402"></a>00402 {
-<a name="l00403"></a>00403 <span class="keyword">const</span> <span class="keywordtype">char</span>* str;
-<a name="l00404"></a>00404 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> strLength;
-<a name="l00405"></a>00405 <span class="keywordtype">char</span> chr;
-<a name="l00406"></a>00406 };
-<a name="l00407"></a>00407 <span class="keyword">enum</span>
-<a name="l00408"></a>00408 {
-<a name="l00409"></a>00409 NUM_ENTITY = 5,
-<a name="l00410"></a>00410 MAX_ENTITY_LENGTH = 6
-<a name="l00411"></a>00411
-<a name="l00412"></a>00412 };
-<a name="l00413"></a>00413 <span class="keyword">static</span> Entity entity[ NUM_ENTITY ];
-<a name="l00414"></a>00414 <span class="keyword">static</span> <span class="keywordtype">bool</span> condenseWhiteSpace;
-<a name="l00415"></a>00415 };
-<a name="l00416"></a>00416
-<a name="l00417"></a>00417
-<a name="l00424"></a><a class="code" href="classTiXmlNode.html">00424</a> <span class="keyword">class </span><a class="code" href="classTiXmlNode.html">TiXmlNode</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlBase.html">TiXmlBase</a>
-<a name="l00425"></a>00425 {
-<a name="l00426"></a>00426 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>;
-<a name="l00427"></a>00427 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlElement.html">TiXmlElement</a>;
-<a name="l00428"></a>00428
-<a name="l00429"></a>00429 <span class="keyword">public</span>:
-<a name="l00430"></a>00430 <span class="preprocessor"> #ifdef TIXML_USE_STL </span>
-<a name="l00431"></a>00431 <span class="preprocessor"></span>
-<a name="l00435"></a>00435 <span class="keyword">friend</span> std::istream&amp; <a class="code" href="classTiXmlNode.html#b57bd426563c926844f65a78412e18b9">operator &gt;&gt; </a>(std::istream&amp; in, <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; base);
-<a name="l00436"></a>00436
-<a name="l00453"></a>00453 <span class="keyword">friend</span> std::ostream&amp; <a class="code" href="classTiXmlNode.html#86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt; </a>(std::ostream&amp; out, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; base);
-<a name="l00454"></a>00454
-<a name="l00456"></a>00456 <span class="keyword">friend</span> std::string&amp; <a class="code" href="classTiXmlNode.html#86cd49cfb17a844c0010b3136ac966c7">operator&lt;&lt; </a>(std::string&amp; out, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; base );
-<a name="l00457"></a>00457
-<a name="l00458"></a>00458 <span class="preprocessor"> #endif</span>
-<a name="l00459"></a>00459 <span class="preprocessor"></span>
-<a name="l00463"></a><a class="code" href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">00463</a> <span class="keyword">enum</span> <a class="code" href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">NodeType</a>
-<a name="l00464"></a>00464 {
-<a name="l00465"></a>00465 DOCUMENT,
-<a name="l00466"></a>00466 ELEMENT,
-<a name="l00467"></a>00467 COMMENT,
-<a name="l00468"></a>00468 UNKNOWN,
-<a name="l00469"></a>00469 TEXT,
-<a name="l00470"></a>00470 DECLARATION,
-<a name="l00471"></a>00471 TYPECOUNT
-<a name="l00472"></a>00472 };
-<a name="l00473"></a>00473
-<a name="l00474"></a>00474 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlNode.html">TiXmlNode</a>();
-<a name="l00475"></a>00475
-<a name="l00488"></a><a class="code" href="classTiXmlNode.html#77943eb90d12c2892b1337a9f5918b41">00488</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTiXmlNode.html#77943eb90d12c2892b1337a9f5918b41">Value</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value.c_str (); }
-<a name="l00489"></a>00489
-<a name="l00490"></a>00490 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l00491"></a>00491 <span class="preprocessor"></span>
-<a name="l00495"></a><a class="code" href="classTiXmlNode.html#6d9e505619d39bf50bfd9609c9169ea5">00495</a> <span class="keyword">const</span> std::string&amp; <a class="code" href="classTiXmlNode.html#6d9e505619d39bf50bfd9609c9169ea5">ValueStr</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value; }
-<a name="l00496"></a>00496 <span class="preprocessor"> #endif</span>
-<a name="l00497"></a>00497 <span class="preprocessor"></span>
-<a name="l00498"></a>00498 <span class="keyword">const</span> TIXML_STRING&amp; ValueTStr()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value; }
-<a name="l00499"></a>00499
-<a name="l00509"></a><a class="code" href="classTiXmlNode.html#2a38329ca5d3f28f98ce932b8299ae90">00509</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * _value) { value = _value;}
-<a name="l00510"></a>00510
-<a name="l00511"></a>00511 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l00513"></a><a class="code" href="classTiXmlNode.html#2598d5f448042c1abbeae4503dd45ff2">00513</a> <span class="preprocessor"> void SetValue( const std::string&amp; _value ) { value = _value; }</span>
-<a name="l00514"></a>00514 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
-<a name="l00515"></a>00515 <span class="preprocessor"></span>
-<a name="l00517"></a>00517 <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#708e7f953df61d4d2d12f73171550a4b">Clear</a>();
-<a name="l00518"></a>00518
-<a name="l00520"></a><a class="code" href="classTiXmlNode.html#b643043132ffd794f8602685d34a982e">00520</a> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#b643043132ffd794f8602685d34a982e">Parent</a>() { <span class="keywordflow">return</span> parent; }
-<a name="l00521"></a>00521 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#b643043132ffd794f8602685d34a982e">Parent</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> parent; }
-<a name="l00522"></a>00522
-<a name="l00523"></a><a class="code" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">00523</a> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> firstChild; }
-<a name="l00524"></a>00524 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>() { <span class="keywordflow">return</span> firstChild; }
-<a name="l00525"></a>00525 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * value ) <span class="keyword">const</span>;
-<a name="l00526"></a>00526
-<a name="l00527"></a><a class="code" href="classTiXmlNode.html#bc8bf32be6419ec453a731868de19554">00527</a> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) {
-<a name="l00528"></a>00528 <span class="comment">// Call through to the const version - safe since nothing is changed. Exiting syntax: cast this to a const (always safe)</span>
-<a name="l00529"></a>00529 <span class="comment">// call the method, cast the return back to non-const.</span>
-<a name="l00530"></a>00530 <span class="keywordflow">return</span> const_cast&lt; TiXmlNode* &gt; ((const_cast&lt; const TiXmlNode* &gt;(<span class="keyword">this</span>))-&gt;FirstChild( _value ));
-<a name="l00531"></a>00531 }
-<a name="l00532"></a>00532 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* LastChild()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> lastChild; }
-<a name="l00533"></a><a class="code" href="classTiXmlNode.html#6432d2b2495f6caf9cb4278df706a031">00533</a> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* LastChild() { <span class="keywordflow">return</span> lastChild; }
-<a name="l00534"></a>00534
-<a name="l00535"></a>00535 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* LastChild( <span class="keyword">const</span> <span class="keywordtype">char</span> * value ) <span class="keyword">const</span>;
-<a name="l00536"></a><a class="code" href="classTiXmlNode.html#bad5bf1059c48127b958711ef89e8e5d">00536</a> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* LastChild( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) {
-<a name="l00537"></a>00537 <span class="keywordflow">return</span> const_cast&lt; TiXmlNode* &gt; ((const_cast&lt; const TiXmlNode* &gt;(<span class="keyword">this</span>))-&gt;LastChild( _value ));
-<a name="l00538"></a>00538 }
-<a name="l00539"></a>00539
-<a name="l00540"></a>00540 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l00541"></a><a class="code" href="classTiXmlNode.html#07f6200a5956c723c5b52d70f29c46f6">00541</a> <span class="preprocessor"></span> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a> (_value.c_str ()); }
-<a name="l00542"></a><a class="code" href="classTiXmlNode.html#10d2669ccb5e29e02fcb0e4408685ef6">00542</a> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a>( <span class="keyword">const</span> std::string&amp; _value ) { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#44c8eee26bbe2d1b2762038df9dde2f0">FirstChild</a> (_value.c_str ()); }
-<a name="l00543"></a><a class="code" href="classTiXmlNode.html#256d0cdbfcfeccae83f3a1c9747a8b63">00543</a> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* LastChild( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> LastChild (_value.c_str ()); }
-<a name="l00544"></a><a class="code" href="classTiXmlNode.html#69772c9202f70553f940b15c06b07be3">00544</a> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* LastChild( <span class="keyword">const</span> std::string&amp; _value ) { <span class="keywordflow">return</span> LastChild (_value.c_str ()); }
-<a name="l00545"></a>00545 <span class="preprocessor"> #endif</span>
-<a name="l00546"></a>00546 <span class="preprocessor"></span>
-<a name="l00563"></a>00563 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* previous ) <span class="keyword">const</span>;
-<a name="l00564"></a>00564 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* previous ) {
-<a name="l00565"></a>00565 <span class="keywordflow">return</span> const_cast&lt; TiXmlNode* &gt;( (const_cast&lt; const TiXmlNode* &gt;(<span class="keyword">this</span>))-&gt;IterateChildren( previous ) );
-<a name="l00566"></a>00566 }
-<a name="l00567"></a>00567
-<a name="l00569"></a>00569 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * value, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* previous ) <span class="keyword">const</span>;
-<a name="l00570"></a>00570 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* previous ) {
-<a name="l00571"></a>00571 <span class="keywordflow">return</span> const_cast&lt; TiXmlNode* &gt;( (const_cast&lt; const TiXmlNode* &gt;(<span class="keyword">this</span>))-&gt;IterateChildren( _value, previous ) );
-<a name="l00572"></a>00572 }
-<a name="l00573"></a>00573
-<a name="l00574"></a>00574 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l00575"></a><a class="code" href="classTiXmlNode.html#1cbaaf8e82c09ad763d52616d75724df">00575</a> <span class="preprocessor"></span> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>( <span class="keyword">const</span> std::string&amp; _value, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* previous )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#8621196ba3705fa226bef4a761cc51b6">IterateChildren</a> (_value.c_str (), previous); }
-<a name="l00576"></a><a class="code" href="classTiXmlNode.html#16e9ad53e2f5445b14bf325c90aa862c">00576</a> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#8621196ba3705fa226bef4a761cc51b6">IterateChildren</a>( <span class="keyword">const</span> std::string&amp; _value, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* previous ) { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#8621196ba3705fa226bef4a761cc51b6">IterateChildren</a> (_value.c_str (), previous); }
-<a name="l00577"></a>00577 <span class="preprocessor"> #endif</span>
-<a name="l00578"></a>00578 <span class="preprocessor"></span>
-<a name="l00582"></a>00582 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#d7d4630e1a2a916edda16be22448a8ba">InsertEndChild</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; addThis );
-<a name="l00583"></a>00583
-<a name="l00584"></a>00584
-<a name="l00594"></a>00594 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#5d29442ae46de6d0168429156197bfc6">LinkEndChild</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* addThis );
-<a name="l00595"></a>00595
-<a name="l00599"></a>00599 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#0c146fa2fff0157b681594102f48cbc7">InsertBeforeChild</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* beforeThis, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; addThis );
-<a name="l00600"></a>00600
-<a name="l00604"></a>00604 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#d9b75e54ec19301c8b4d5ff583d0b3d5">InsertAfterChild</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* afterThis, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; addThis );
-<a name="l00605"></a>00605
-<a name="l00609"></a>00609 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#0c49e739a17b9938050c22cd89617fbd">ReplaceChild</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* replaceThis, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; withThis );
-<a name="l00610"></a>00610
-<a name="l00612"></a>00612 <span class="keywordtype">bool</span> <a class="code" href="classTiXmlNode.html#e19d8510efc90596552f4feeac9a8fbf">RemoveChild</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* removeThis );
-<a name="l00613"></a>00613
-<a name="l00615"></a><a class="code" href="classTiXmlNode.html#c2cd892768726270e511b2ab32de4d10">00615</a> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#c2cd892768726270e511b2ab32de4d10">PreviousSibling</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> prev; }
-<a name="l00616"></a>00616 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#c2cd892768726270e511b2ab32de4d10">PreviousSibling</a>() { <span class="keywordflow">return</span> prev; }
-<a name="l00617"></a>00617
-<a name="l00619"></a>00619 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#c2cd892768726270e511b2ab32de4d10">PreviousSibling</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * ) <span class="keyword">const</span>;
-<a name="l00620"></a>00620 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#c2cd892768726270e511b2ab32de4d10">PreviousSibling</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *_prev ) {
-<a name="l00621"></a>00621 <span class="keywordflow">return</span> const_cast&lt; TiXmlNode* &gt;( (const_cast&lt; const TiXmlNode* &gt;(<span class="keyword">this</span>))-&gt;PreviousSibling( _prev ) );
-<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><a class="code" href="classTiXmlNode.html#658276f57d35d5d4256d1dc1a2c398ab">00625</a> <span class="preprocessor"></span> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#c2cd892768726270e511b2ab32de4d10">PreviousSibling</a>( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#c2cd892768726270e511b2ab32de4d10">PreviousSibling</a> (_value.c_str ()); }
-<a name="l00626"></a><a class="code" href="classTiXmlNode.html#cc8a0434c7f401d4a3b6dee77c1a5912">00626</a> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#c2cd892768726270e511b2ab32de4d10">PreviousSibling</a>( <span class="keyword">const</span> std::string&amp; _value ) { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#c2cd892768726270e511b2ab32de4d10">PreviousSibling</a> (_value.c_str ()); }
-<a name="l00627"></a><a class="code" href="classTiXmlNode.html#1b94d2f7fa7ab25a5a8e8d4340c449c9">00627</a> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#f854baeba384f5fe9859f5aee03b548e">NextSibling</a>( <span class="keyword">const</span> std::string&amp; _value)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#f854baeba384f5fe9859f5aee03b548e">NextSibling</a> (_value.c_str ()); }
-<a name="l00628"></a><a class="code" href="classTiXmlNode.html#1757c1f4d01e8c9596ffdbd561c76aea">00628</a> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#f854baeba384f5fe9859f5aee03b548e">NextSibling</a>( <span class="keyword">const</span> std::string&amp; _value) { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#f854baeba384f5fe9859f5aee03b548e">NextSibling</a> (_value.c_str ()); }
-<a name="l00629"></a>00629 <span class="preprocessor"> #endif</span>
-<a name="l00630"></a>00630 <span class="preprocessor"></span>
-<a name="l00632"></a><a class="code" href="classTiXmlNode.html#f854baeba384f5fe9859f5aee03b548e">00632</a> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#f854baeba384f5fe9859f5aee03b548e">NextSibling</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> next; }
-<a name="l00633"></a>00633 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#f854baeba384f5fe9859f5aee03b548e">NextSibling</a>() { <span class="keywordflow">return</span> next; }
-<a name="l00634"></a>00634
-<a name="l00636"></a>00636 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#f854baeba384f5fe9859f5aee03b548e">NextSibling</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * ) <span class="keyword">const</span>;
-<a name="l00637"></a>00637 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#f854baeba384f5fe9859f5aee03b548e">NextSibling</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _next ) {
-<a name="l00638"></a>00638 <span class="keywordflow">return</span> const_cast&lt; TiXmlNode* &gt;( (const_cast&lt; const TiXmlNode* &gt;(<span class="keyword">this</span>))-&gt;NextSibling( _next ) );
-<a name="l00639"></a>00639 }
-<a name="l00640"></a>00640
-<a name="l00645"></a>00645 <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>() <span class="keyword">const</span>;
-<a name="l00646"></a>00646 <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>() {
-<a name="l00647"></a>00647 <span class="keywordflow">return</span> const_cast&lt; TiXmlElement* &gt;( (const_cast&lt; const TiXmlNode* &gt;(<span class="keyword">this</span>))-&gt;NextSiblingElement() );
-<a name="l00648"></a>00648 }
-<a name="l00649"></a>00649
-<a name="l00654"></a>00654 <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * ) <span class="keyword">const</span>;
-<a name="l00655"></a>00655 <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *_next ) {
-<a name="l00656"></a>00656 <span class="keywordflow">return</span> const_cast&lt; TiXmlElement* &gt;( (const_cast&lt; const TiXmlNode* &gt;(<span class="keyword">this</span>))-&gt;NextSiblingElement( _next ) );
-<a name="l00657"></a>00657 }
-<a name="l00658"></a>00658
-<a name="l00659"></a>00659 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l00660"></a><a class="code" href="classTiXmlNode.html#7572d0af9d1e696ee3f05d8bb5ebb463">00660</a> <span class="preprocessor"></span> <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>( <span class="keyword">const</span> std::string&amp; _value)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a> (_value.c_str ()); }
-<a name="l00661"></a><a class="code" href="classTiXmlNode.html#506958e34406729a4e4c5326ea39d081">00661</a> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a>( <span class="keyword">const</span> std::string&amp; _value) { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#73acf929d49d10bd0e5fb3d31b0372d1">NextSiblingElement</a> (_value.c_str ()); }
-<a name="l00662"></a>00662 <span class="preprocessor"> #endif</span>
-<a name="l00663"></a>00663 <span class="preprocessor"></span>
-<a name="l00665"></a>00665 <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>() <span class="keyword">const</span>;
-<a name="l00666"></a>00666 <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>() {
-<a name="l00667"></a>00667 <span class="keywordflow">return</span> const_cast&lt; TiXmlElement* &gt;( (const_cast&lt; const TiXmlNode* &gt;(<span class="keyword">this</span>))-&gt;FirstChildElement() );
-<a name="l00668"></a>00668 }
-<a name="l00669"></a>00669
-<a name="l00671"></a>00671 <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) <span class="keyword">const</span>;
-<a name="l00672"></a>00672 <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) {
-<a name="l00673"></a>00673 <span class="keywordflow">return</span> const_cast&lt; TiXmlElement* &gt;( (const_cast&lt; const TiXmlNode* &gt;(<span class="keyword">this</span>))-&gt;FirstChildElement( _value ) );
-<a name="l00674"></a>00674 }
-<a name="l00675"></a>00675
-<a name="l00676"></a>00676 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l00677"></a><a class="code" href="classTiXmlNode.html#327ad4bbd90073c5dfc931b07314f5f7">00677</a> <span class="preprocessor"></span> <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a> (_value.c_str ()); }
-<a name="l00678"></a><a class="code" href="classTiXmlNode.html#7f1d7291880534c1e5cdeb392d8c1f45">00678</a> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>( <span class="keyword">const</span> std::string&amp; _value ) { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a> (_value.c_str ()); }
-<a name="l00679"></a>00679 <span class="preprocessor"> #endif</span>
-<a name="l00680"></a>00680 <span class="preprocessor"></span>
-<a name="l00685"></a><a class="code" href="classTiXmlNode.html#57b99d5c97d67a42b9752f5210a1ba5e">00685</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlNode.html#57b99d5c97d67a42b9752f5210a1ba5e">Type</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> type; }
-<a name="l00686"></a>00686
-<a name="l00690"></a>00690 <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* <a class="code" href="classTiXmlNode.html#80e397fa973cf5323e33b07154b024f3">GetDocument</a>() <span class="keyword">const</span>;
-<a name="l00691"></a>00691 <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* <a class="code" href="classTiXmlNode.html#80e397fa973cf5323e33b07154b024f3">GetDocument</a>() {
-<a name="l00692"></a>00692 <span class="keywordflow">return</span> const_cast&lt; TiXmlDocument* &gt;( (const_cast&lt; const TiXmlNode* &gt;(<span class="keyword">this</span>))-&gt;GetDocument() );
-<a name="l00693"></a>00693 }
-<a name="l00694"></a>00694
-<a name="l00696"></a><a class="code" href="classTiXmlNode.html#eed21ad30630ef6e7faf096127edc9f3">00696</a> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlNode.html#eed21ad30630ef6e7faf096127edc9f3">NoChildren</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !firstChild; }
-<a name="l00697"></a>00697
-<a name="l00698"></a><a class="code" href="classTiXmlNode.html#8a4cda4b15c29f64cff419309aebed08">00698</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* <a class="code" href="classTiXmlNode.html#8a4cda4b15c29f64cff419309aebed08">ToDocument</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; }
-<a name="l00699"></a><a class="code" href="classTiXmlNode.html#72abed96dc9667ab9e0a2a275301bb1c">00699</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#72abed96dc9667ab9e0a2a275301bb1c">ToElement</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; }
-<a name="l00700"></a><a class="code" href="classTiXmlNode.html#a0a5086f9eaee910bbfdc7f975e26574">00700</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html">TiXmlComment</a>* <a class="code" href="classTiXmlNode.html#a0a5086f9eaee910bbfdc7f975e26574">ToComment</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; }
-<a name="l00701"></a><a class="code" href="classTiXmlNode.html#fd7205cf31d7a376929f8a36930627a2">00701</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>* <a class="code" href="classTiXmlNode.html#fd7205cf31d7a376929f8a36930627a2">ToUnknown</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; }
-<a name="l00702"></a><a class="code" href="classTiXmlNode.html#95a46a52c525992d6b4ee08beb14cd69">00702</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlText.html">TiXmlText</a>* <a class="code" href="classTiXmlNode.html#95a46a52c525992d6b4ee08beb14cd69">ToText</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; }
-<a name="l00703"></a><a class="code" href="classTiXmlNode.html#9f43e6984fc7d4afd6eb32714c6b7b72">00703</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>* <a class="code" href="classTiXmlNode.html#9f43e6984fc7d4afd6eb32714c6b7b72">ToDeclaration</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; }
-<a name="l00704"></a>00704
-<a name="l00705"></a><a class="code" href="classTiXmlNode.html#6a4c8ac28ee7a745d059db6691e03bae">00705</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* <a class="code" href="classTiXmlNode.html#8a4cda4b15c29f64cff419309aebed08">ToDocument</a>() { <span class="keywordflow">return</span> 0; }
-<a name="l00706"></a><a class="code" href="classTiXmlNode.html#a65d000223187d22a4dcebd7479e9ebc">00706</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#72abed96dc9667ab9e0a2a275301bb1c">ToElement</a>() { <span class="keywordflow">return</span> 0; }
-<a name="l00707"></a><a class="code" href="classTiXmlNode.html#383e06a0787f7063953934867990f849">00707</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlComment.html">TiXmlComment</a>* <a class="code" href="classTiXmlNode.html#a0a5086f9eaee910bbfdc7f975e26574">ToComment</a>() { <span class="keywordflow">return</span> 0; }
-<a name="l00708"></a><a class="code" href="classTiXmlNode.html#06de5af852668c7e4af0d09c205f0b0d">00708</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>* <a class="code" href="classTiXmlNode.html#fd7205cf31d7a376929f8a36930627a2">ToUnknown</a>() { <span class="keywordflow">return</span> 0; }
-<a name="l00709"></a><a class="code" href="classTiXmlNode.html#3ddfbcac78fbea041fad57e5c6d60a03">00709</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlText.html">TiXmlText</a>* <a class="code" href="classTiXmlNode.html#95a46a52c525992d6b4ee08beb14cd69">ToText</a>() { <span class="keywordflow">return</span> 0; }
-<a name="l00710"></a><a class="code" href="classTiXmlNode.html#4027136ca820ff4a636b607231b6a6df">00710</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>* <a class="code" href="classTiXmlNode.html#9f43e6984fc7d4afd6eb32714c6b7b72">ToDeclaration</a>() { <span class="keywordflow">return</span> 0; }
-<a name="l00711"></a>00711
-<a name="l00715"></a>00715 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#4508cc3a2d7a98e96a54cc09c37a78a4">Clone</a>() <span class="keyword">const </span>= 0;
-<a name="l00716"></a>00716
-<a name="l00739"></a>00739 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlNode.html#cc0f88b7462c6cb73809d410a4f5bb86">Accept</a>( <a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>* visitor ) <span class="keyword">const </span>= 0;
-<a name="l00740"></a>00740
-<a name="l00741"></a>00741 <span class="keyword">protected</span>:
-<a name="l00742"></a>00742 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">NodeType</a> _type );
-<a name="l00743"></a>00743
-<a name="l00744"></a>00744 <span class="comment">// Copy to the allocated object. Shared functionality between Clone, Copy constructor,</span>
-<a name="l00745"></a>00745 <span class="comment">// and the assignment operator.</span>
-<a name="l00746"></a>00746 <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* target ) <span class="keyword">const</span>;
-<a name="l00747"></a>00747
-<a name="l00748"></a>00748 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l00749"></a>00749 <span class="preprocessor"></span> <span class="comment">// The real work of the input operator.</span>
-<a name="l00750"></a>00750 <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream* in, TIXML_STRING* tag ) = 0;
-<a name="l00751"></a>00751 <span class="preprocessor"> #endif</span>
-<a name="l00752"></a>00752 <span class="preprocessor"></span>
-<a name="l00753"></a>00753 <span class="comment">// Figure out what is at *p, and parse it. Returns null if it is not an xml node.</span>
-<a name="l00754"></a>00754 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* Identify( <span class="keyword">const</span> <span class="keywordtype">char</span>* start, TiXmlEncoding encoding );
-<a name="l00755"></a>00755
-<a name="l00756"></a>00756 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* parent;
-<a name="l00757"></a>00757 <a class="code" href="classTiXmlNode.html#836eded4920ab9e9ef28496f48cd95a2">NodeType</a> type;
-<a name="l00758"></a>00758
-<a name="l00759"></a>00759 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* firstChild;
-<a name="l00760"></a>00760 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* lastChild;
-<a name="l00761"></a>00761
-<a name="l00762"></a>00762 TIXML_STRING value;
-<a name="l00763"></a>00763
-<a name="l00764"></a>00764 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* prev;
-<a name="l00765"></a>00765 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* next;
-<a name="l00766"></a>00766
-<a name="l00767"></a>00767 <span class="keyword">private</span>:
-<a name="l00768"></a>00768 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; ); <span class="comment">// not implemented.</span>
-<a name="l00769"></a>00769 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; base ); <span class="comment">// not allowed.</span>
-<a name="l00770"></a>00770 };
-<a name="l00771"></a>00771
-<a name="l00772"></a>00772
-<a name="l00780"></a><a class="code" href="classTiXmlAttribute.html">00780</a> <span class="keyword">class </span><a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlBase.html">TiXmlBase</a>
-<a name="l00781"></a>00781 {
-<a name="l00782"></a>00782 <span class="keyword">friend</span> <span class="keyword">class </span>TiXmlAttributeSet;
-<a name="l00783"></a>00783
-<a name="l00784"></a>00784 <span class="keyword">public</span>:
-<a name="l00786"></a><a class="code" href="classTiXmlAttribute.html#9cfa3c8179873fd485d83003b114f8e1">00786</a> <a class="code" href="classTiXmlAttribute.html#9cfa3c8179873fd485d83003b114f8e1">TiXmlAttribute</a>() : <a class="code" href="classTiXmlBase.html">TiXmlBase</a>()
-<a name="l00787"></a>00787 {
-<a name="l00788"></a>00788 document = 0;
-<a name="l00789"></a>00789 prev = next = 0;
-<a name="l00790"></a>00790 }
-<a name="l00791"></a>00791
-<a name="l00792"></a>00792 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l00794"></a><a class="code" href="classTiXmlAttribute.html#052213522caac3979960e0714063861d">00794</a> <span class="preprocessor"> TiXmlAttribute( const std::string&amp; _name, const std::string&amp; _value )</span>
-<a name="l00795"></a>00795 <span class="preprocessor"></span> {
-<a name="l00796"></a>00796 name = _name;
-<a name="l00797"></a>00797 value = _value;
-<a name="l00798"></a>00798 document = 0;
-<a name="l00799"></a>00799 prev = next = 0;
-<a name="l00800"></a>00800 }
-<a name="l00801"></a>00801 <span class="preprocessor"> #endif</span>
-<a name="l00802"></a>00802 <span class="preprocessor"></span>
-<a name="l00804"></a><a class="code" href="classTiXmlAttribute.html#759d0b76fb8fcf765ecab243bc14f05e">00804</a> <a class="code" href="classTiXmlAttribute.html#9cfa3c8179873fd485d83003b114f8e1">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="l00805"></a>00805 {
-<a name="l00806"></a>00806 name = _name;
-<a name="l00807"></a>00807 value = _value;
-<a name="l00808"></a>00808 document = 0;
-<a name="l00809"></a>00809 prev = next = 0;
-<a name="l00810"></a>00810 }
-<a name="l00811"></a>00811
-<a name="l00812"></a><a class="code" href="classTiXmlAttribute.html#298a57287d305904ba6bd96ae6f78d3d">00812</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlAttribute.html#298a57287d305904ba6bd96ae6f78d3d">Name</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name.c_str(); }
-<a name="l00813"></a><a class="code" href="classTiXmlAttribute.html#0f874490eac8ca00ee0070765d0e97e3">00813</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlAttribute.html#0f874490eac8ca00ee0070765d0e97e3">Value</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value.c_str(); }
-<a name="l00814"></a>00814 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l00815"></a><a class="code" href="classTiXmlAttribute.html#87705c3ccf9ee9417beb4f7cbacd4d33">00815</a> <span class="preprocessor"></span> <span class="keyword">const</span> std::string&amp; <a class="code" href="classTiXmlAttribute.html#87705c3ccf9ee9417beb4f7cbacd4d33">ValueStr</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value; }
-<a name="l00816"></a>00816 <span class="preprocessor"> #endif</span>
-<a name="l00817"></a>00817 <span class="preprocessor"></span> <span class="keywordtype">int</span> <a class="code" href="classTiXmlAttribute.html#a1a20ad59dc7e89a0ab265396360d50f">IntValue</a>() <span class="keyword">const</span>;
-<a name="l00818"></a>00818 <span class="keywordtype">double</span> <a class="code" href="classTiXmlAttribute.html#2880ddef53fc7522c99535273954d230">DoubleValue</a>() <span class="keyword">const</span>;
-<a name="l00819"></a>00819
-<a name="l00820"></a>00820 <span class="comment">// Get the tinyxml string representation</span>
-<a name="l00821"></a>00821 <span class="keyword">const</span> TIXML_STRING&amp; NameTStr()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name; }
-<a name="l00822"></a>00822
-<a name="l00832"></a>00832 <span class="keywordtype">int</span> <a class="code" href="classTiXmlAttribute.html#d6c93088ee21af41a107931223339344">QueryIntValue</a>( <span class="keywordtype">int</span>* _value ) <span class="keyword">const</span>;
-<a name="l00834"></a>00834 <span class="keywordtype">int</span> <a class="code" href="classTiXmlAttribute.html#c87b2a8489906a5d7aa2875f20be3513">QueryDoubleValue</a>( <span class="keywordtype">double</span>* _value ) <span class="keyword">const</span>;
-<a name="l00835"></a>00835
-<a name="l00836"></a><a class="code" href="classTiXmlAttribute.html#b7fa3d21ff8d7c5764cf9af15b667a99">00836</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#b7fa3d21ff8d7c5764cf9af15b667a99">SetName</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _name ) { name = _name; }
-<a name="l00837"></a><a class="code" href="classTiXmlAttribute.html#2dae44178f668b3cb48101be4f2236a0">00837</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#2dae44178f668b3cb48101be4f2236a0">SetValue</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _value ) { value = _value; }
-<a name="l00838"></a>00838
-<a name="l00839"></a>00839 <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#7e065df640116a62ea4f4b7da5449cc8">SetIntValue</a>( <span class="keywordtype">int</span> _value );
-<a name="l00840"></a>00840 <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#0316da31373496c4368ad549bf711394">SetDoubleValue</a>( <span class="keywordtype">double</span> _value );
-<a name="l00841"></a>00841
-<a name="l00842"></a>00842 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l00844"></a><a class="code" href="classTiXmlAttribute.html#b296ff0c9a8c701055cd257a8a976e57">00844</a> <span class="preprocessor"> void SetName( const std::string&amp; _name ) { name = _name; } </span>
-<a name="l00846"></a><a class="code" href="classTiXmlAttribute.html#b43f67a0cc3ec1d80e62606500f0925f">00846</a> <span class="preprocessor"> void SetValue( const std::string&amp; _value ) { value = _value; }</span>
-<a name="l00847"></a>00847 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
-<a name="l00848"></a>00848 <span class="preprocessor"></span>
-<a name="l00850"></a>00850 <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlAttribute.html#1c78e92e223a40843f644ba48ef69f67">Next</a>() <span class="keyword">const</span>;
-<a name="l00851"></a>00851 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlAttribute.html#1c78e92e223a40843f644ba48ef69f67">Next</a>() {
-<a name="l00852"></a>00852 <span class="keywordflow">return</span> const_cast&lt; TiXmlAttribute* &gt;( (const_cast&lt; const TiXmlAttribute* &gt;(<span class="keyword">this</span>))-&gt;Next() );
-<a name="l00853"></a>00853 }
-<a name="l00854"></a>00854
-<a name="l00856"></a>00856 <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlAttribute.html#6ebbfe333fe76cd834bd6cbcca3130cf">Previous</a>() <span class="keyword">const</span>;
-<a name="l00857"></a>00857 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlAttribute.html#6ebbfe333fe76cd834bd6cbcca3130cf">Previous</a>() {
-<a name="l00858"></a>00858 <span class="keywordflow">return</span> const_cast&lt; TiXmlAttribute* &gt;( (const_cast&lt; const TiXmlAttribute* &gt;(<span class="keyword">this</span>))-&gt;Previous() );
-<a name="l00859"></a>00859 }
-<a name="l00860"></a>00860
-<a name="l00861"></a>00861 <span class="keywordtype">bool</span> operator==( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>&amp; rhs )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rhs.<a class="code" href="classTiXmlAttribute.html#fcbe165f33f08cf9b24daa33f0ee951a">name</a> == name; }
-<a name="l00862"></a>00862 <span class="keywordtype">bool</span> operator&lt;( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>&amp; rhs )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name &lt; rhs.<a class="code" href="classTiXmlAttribute.html#fcbe165f33f08cf9b24daa33f0ee951a">name</a>; }
-<a name="l00863"></a>00863 <span class="keywordtype">bool</span> operator&gt;( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>&amp; rhs )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name &gt; rhs.<a class="code" href="classTiXmlAttribute.html#fcbe165f33f08cf9b24daa33f0ee951a">name</a>; }
-<a name="l00864"></a>00864
-<a name="l00865"></a>00865 <span class="comment">/* Attribute parsing starts: first letter of the name</span>
-<a name="l00866"></a>00866 <span class="comment"> returns: the next char after the value end quote</span>
-<a name="l00867"></a>00867 <span class="comment"> */</span>
-<a name="l00868"></a>00868 <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="l00869"></a>00869
-<a name="l00870"></a>00870 <span class="comment">// Prints this Attribute to a FILE stream.</span>
-<a name="l00871"></a><a class="code" href="classTiXmlAttribute.html#cc04956c1d5c4c31fe74f7a7528d109a">00871</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#cc04956c1d5c4c31fe74f7a7528d109a">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth )<span class="keyword"> const </span>{
-<a name="l00872"></a>00872 <a class="code" href="classTiXmlAttribute.html#cc04956c1d5c4c31fe74f7a7528d109a">Print</a>( cfile, depth, 0 );
-<a name="l00873"></a>00873 }
-<a name="l00874"></a>00874 <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#cc04956c1d5c4c31fe74f7a7528d109a">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth, TIXML_STRING* str ) <span class="keyword">const</span>;
-<a name="l00875"></a>00875
-<a name="l00876"></a>00876 <span class="comment">// [internal use]</span>
-<a name="l00877"></a>00877 <span class="comment">// Set the document pointer so the attribute can report errors.</span>
-<a name="l00878"></a>00878 <span class="keywordtype">void</span> SetDocument( <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* doc ) { document = doc; }
-<a name="l00879"></a>00879
-<a name="l00880"></a>00880 <span class="keyword">private</span>:
-<a name="l00881"></a>00881 <a class="code" href="classTiXmlAttribute.html#9cfa3c8179873fd485d83003b114f8e1">TiXmlAttribute</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>&amp; ); <span class="comment">// not implemented.</span>
-<a name="l00882"></a>00882 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>&amp; base ); <span class="comment">// not allowed.</span>
-<a name="l00883"></a>00883
-<a name="l00884"></a>00884 <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* document; <span class="comment">// A pointer back to a document, for error reporting.</span>
-<a name="l00885"></a>00885 TIXML_STRING name;
-<a name="l00886"></a>00886 TIXML_STRING value;
-<a name="l00887"></a>00887 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* prev;
-<a name="l00888"></a>00888 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* next;
-<a name="l00889"></a>00889 };
-<a name="l00890"></a>00890
-<a name="l00891"></a>00891
-<a name="l00892"></a>00892 <span class="comment">/* A class used to manage a group of attributes.</span>
-<a name="l00893"></a>00893 <span class="comment"> It is only used internally, both by the ELEMENT and the DECLARATION.</span>
-<a name="l00894"></a>00894 <span class="comment"> </span>
-<a name="l00895"></a>00895 <span class="comment"> The set can be changed transparent to the Element and Declaration</span>
-<a name="l00896"></a>00896 <span class="comment"> classes that use it, but NOT transparent to the Attribute</span>
-<a name="l00897"></a>00897 <span class="comment"> which has to implement a next() and previous() method. Which makes</span>
-<a name="l00898"></a>00898 <span class="comment"> it a bit problematic and prevents the use of STL.</span>
-<a name="l00899"></a>00899 <span class="comment"></span>
-<a name="l00900"></a>00900 <span class="comment"> This version is implemented with circular lists because:</span>
-<a name="l00901"></a>00901 <span class="comment"> - I like circular lists</span>
-<a name="l00902"></a>00902 <span class="comment"> - it demonstrates some independence from the (typical) doubly linked list.</span>
-<a name="l00903"></a>00903 <span class="comment">*/</span>
-<a name="l00904"></a>00904 <span class="keyword">class </span>TiXmlAttributeSet
-<a name="l00905"></a>00905 {
-<a name="l00906"></a>00906 <span class="keyword">public</span>:
-<a name="l00907"></a>00907 TiXmlAttributeSet();
-<a name="l00908"></a>00908 ~TiXmlAttributeSet();
-<a name="l00909"></a>00909
-<a name="l00910"></a>00910 <span class="keywordtype">void</span> Add( <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* attribute );
-<a name="l00911"></a>00911 <span class="keywordtype">void</span> Remove( <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* attribute );
-<a name="l00912"></a>00912
-<a name="l00913"></a>00913 <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* First()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ( sentinel.next == &amp;sentinel ) ? 0 : sentinel.next; }
-<a name="l00914"></a>00914 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* First() { <span class="keywordflow">return</span> ( sentinel.next == &amp;sentinel ) ? 0 : sentinel.next; }
-<a name="l00915"></a>00915 <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* Last()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ( sentinel.prev == &amp;sentinel ) ? 0 : sentinel.prev; }
-<a name="l00916"></a>00916 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* Last() { <span class="keywordflow">return</span> ( sentinel.prev == &amp;sentinel ) ? 0 : sentinel.prev; }
-<a name="l00917"></a>00917
-<a name="l00918"></a>00918 <span class="keyword">const</span> <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>;
-<a name="l00919"></a>00919 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* Find( <span class="keyword">const</span> <span class="keywordtype">char</span>* _name ) {
-<a name="l00920"></a>00920 <span class="keywordflow">return</span> const_cast&lt; TiXmlAttribute* &gt;( (const_cast&lt; const TiXmlAttributeSet* &gt;(<span class="keyword">this</span>))-&gt;Find( _name ) );
-<a name="l00921"></a>00921 }
-<a name="l00922"></a>00922 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l00923"></a>00923 <span class="preprocessor"></span> <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* Find( <span class="keyword">const</span> std::string&amp; _name ) <span class="keyword">const</span>;
-<a name="l00924"></a>00924 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* Find( <span class="keyword">const</span> std::string&amp; _name ) {
-<a name="l00925"></a>00925 <span class="keywordflow">return</span> const_cast&lt; TiXmlAttribute* &gt;( (const_cast&lt; const TiXmlAttributeSet* &gt;(<span class="keyword">this</span>))-&gt;Find( _name ) );
-<a name="l00926"></a>00926 }
-<a name="l00927"></a>00927
-<a name="l00928"></a>00928 <span class="preprocessor"> #endif</span>
-<a name="l00929"></a>00929 <span class="preprocessor"></span>
-<a name="l00930"></a>00930 <span class="keyword">private</span>:
-<a name="l00931"></a>00931 <span class="comment">//*ME: Because of hidden/disabled copy-construktor in TiXmlAttribute (sentinel-element),</span>
-<a name="l00932"></a>00932 <span class="comment">//*ME: this class must be also use a hidden/disabled copy-constructor !!!</span>
-<a name="l00933"></a>00933 TiXmlAttributeSet( <span class="keyword">const</span> TiXmlAttributeSet&amp; ); <span class="comment">// not allowed</span>
-<a name="l00934"></a>00934 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> TiXmlAttributeSet&amp; ); <span class="comment">// not allowed (as TiXmlAttribute)</span>
-<a name="l00935"></a>00935
-<a name="l00936"></a>00936 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a> sentinel;
-<a name="l00937"></a>00937 };
-<a name="l00938"></a>00938
-<a name="l00939"></a>00939
-<a name="l00944"></a><a class="code" href="classTiXmlElement.html">00944</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>
-<a name="l00945"></a>00945 {
-<a name="l00946"></a>00946 <span class="keyword">public</span>:
-<a name="l00948"></a>00948 <a class="code" href="classTiXmlElement.html#01bc3ab372d35da08efcbbe65ad90c60">TiXmlElement</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * in_value);
-<a name="l00949"></a>00949
-<a name="l00950"></a>00950 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l00952"></a>00952 <span class="preprocessor"> TiXmlElement( const std::string&amp; _value );</span>
-<a name="l00953"></a>00953 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
-<a name="l00954"></a>00954 <span class="preprocessor"></span>
-<a name="l00955"></a>00955 <a class="code" href="classTiXmlElement.html#01bc3ab372d35da08efcbbe65ad90c60">TiXmlElement</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>&amp; );
-<a name="l00956"></a>00956
-<a name="l00957"></a>00957 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>&amp; base );
-<a name="l00958"></a>00958
-<a name="l00959"></a>00959 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlElement.html">TiXmlElement</a>();
-<a name="l00960"></a>00960
-<a name="l00964"></a>00964 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#e419a442a9701a62b0c3d8fd1cbdd12d">Attribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name ) <span class="keyword">const</span>;
-<a name="l00965"></a>00965
-<a name="l00972"></a>00972 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#e419a442a9701a62b0c3d8fd1cbdd12d">Attribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">int</span>* i ) <span class="keyword">const</span>;
-<a name="l00973"></a>00973
-<a name="l00980"></a>00980 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#e419a442a9701a62b0c3d8fd1cbdd12d">Attribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">double</span>* d ) <span class="keyword">const</span>;
-<a name="l00981"></a>00981
-<a name="l00989"></a>00989 <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#ea0bfe471380f281c5945770ddbf52b9">QueryIntAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">int</span>* _value ) <span class="keyword">const</span>;
-<a name="l00991"></a>00991 <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#898d7730ecc341f0bffc7a9dadbf1ce7">QueryDoubleAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">double</span>* _value ) <span class="keyword">const</span>;
-<a name="l00993"></a><a class="code" href="classTiXmlElement.html#a04d3af11601ef5a5f88295203a843be">00993</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#a04d3af11601ef5a5f88295203a843be">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="l00994"></a>00994 <span class="keywordtype">double</span> d;
-<a name="l00995"></a>00995 <span class="keywordtype">int</span> result = <a class="code" href="classTiXmlElement.html#898d7730ecc341f0bffc7a9dadbf1ce7">QueryDoubleAttribute</a>( name, &amp;d );
-<a name="l00996"></a>00996 <span class="keywordflow">if</span> ( result == TIXML_SUCCESS ) {
-<a name="l00997"></a>00997 *_value = (float)d;
-<a name="l00998"></a>00998 }
-<a name="l00999"></a>00999 <span class="keywordflow">return</span> result;
-<a name="l01000"></a>01000 }
-<a name="l01001"></a>01001
-<a name="l01002"></a>01002 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l01003"></a>01003 <span class="preprocessor"></span>
-<a name="l01011"></a><a class="code" href="classTiXmlElement.html#e3b9a03b0a56663a40801c7256683576">01011</a> <span class="keyword">template</span>&lt; <span class="keyword">typename</span> T &gt; <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#e3b9a03b0a56663a40801c7256683576">QueryValueAttribute</a>( <span class="keyword">const</span> std::string&amp; name, T* outValue )<span class="keyword"> const</span>
-<a name="l01012"></a>01012 <span class="keyword"> </span>{
-<a name="l01013"></a>01013 <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* node = attributeSet.Find( name );
-<a name="l01014"></a>01014 <span class="keywordflow">if</span> ( !node )
-<a name="l01015"></a>01015 <span class="keywordflow">return</span> TIXML_NO_ATTRIBUTE;
-<a name="l01016"></a>01016
-<a name="l01017"></a>01017 std::stringstream sstream( node-&gt;<a class="code" href="classTiXmlAttribute.html#87705c3ccf9ee9417beb4f7cbacd4d33">ValueStr</a>() );
-<a name="l01018"></a>01018 sstream &gt;&gt; *outValue;
-<a name="l01019"></a>01019 <span class="keywordflow">if</span> ( !sstream.fail() )
-<a name="l01020"></a>01020 <span class="keywordflow">return</span> TIXML_SUCCESS;
-<a name="l01021"></a>01021 <span class="keywordflow">return</span> TIXML_WRONG_TYPE;
-<a name="l01022"></a>01022 }
-<a name="l01023"></a>01023 <span class="comment">/*</span>
-<a name="l01024"></a>01024 <span class="comment"> This is - in theory - a bug fix for "QueryValueAtribute returns truncated std::string"</span>
-<a name="l01025"></a>01025 <span class="comment"> but template specialization is hard to get working cross-compiler. Leaving the bug for now.</span>
-<a name="l01026"></a>01026 <span class="comment"> </span>
-<a name="l01027"></a>01027 <span class="comment"> // The above will fail for std::string because the space character is used as a seperator.</span>
-<a name="l01028"></a>01028 <span class="comment"> // Specialize for strings. Bug [ 1695429 ] QueryValueAtribute returns truncated std::string</span>
-<a name="l01029"></a>01029 <span class="comment"> template&lt;&gt; int QueryValueAttribute( const std::string&amp; name, std::string* outValue ) const</span>
-<a name="l01030"></a>01030 <span class="comment"> {</span>
-<a name="l01031"></a>01031 <span class="comment"> const TiXmlAttribute* node = attributeSet.Find( name );</span>
-<a name="l01032"></a>01032 <span class="comment"> if ( !node )</span>
-<a name="l01033"></a>01033 <span class="comment"> return TIXML_NO_ATTRIBUTE;</span>
-<a name="l01034"></a>01034 <span class="comment"> *outValue = node-&gt;ValueStr();</span>
-<a name="l01035"></a>01035 <span class="comment"> return TIXML_SUCCESS;</span>
-<a name="l01036"></a>01036 <span class="comment"> }</span>
-<a name="l01037"></a>01037 <span class="comment"> */</span>
-<a name="l01038"></a>01038 <span class="preprocessor"> #endif</span>
-<a name="l01039"></a>01039 <span class="preprocessor"></span>
-<a name="l01043"></a>01043 <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#bf0b3bd7f0e4c746a89ec6e7f101fc32">SetAttribute</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="l01044"></a>01044
-<a name="l01045"></a>01045 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l01046"></a>01046 <span class="preprocessor"></span> <span class="keyword">const</span> std::string* <a class="code" href="classTiXmlElement.html#e419a442a9701a62b0c3d8fd1cbdd12d">Attribute</a>( <span class="keyword">const</span> std::string&amp; name ) <span class="keyword">const</span>;
-<a name="l01047"></a>01047 <span class="keyword">const</span> std::string* <a class="code" href="classTiXmlElement.html#e419a442a9701a62b0c3d8fd1cbdd12d">Attribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">int</span>* i ) <span class="keyword">const</span>;
-<a name="l01048"></a>01048 <span class="keyword">const</span> std::string* <a class="code" href="classTiXmlElement.html#e419a442a9701a62b0c3d8fd1cbdd12d">Attribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">double</span>* d ) <span class="keyword">const</span>;
-<a name="l01049"></a>01049 <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#ea0bfe471380f281c5945770ddbf52b9">QueryIntAttribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">int</span>* _value ) <span class="keyword">const</span>;
-<a name="l01050"></a>01050 <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#898d7730ecc341f0bffc7a9dadbf1ce7">QueryDoubleAttribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">double</span>* _value ) <span class="keyword">const</span>;
-<a name="l01051"></a>01051
-<a name="l01053"></a>01053 <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#bf0b3bd7f0e4c746a89ec6e7f101fc32">SetAttribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> std::string&amp; _value );
-<a name="l01055"></a>01055 <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#bf0b3bd7f0e4c746a89ec6e7f101fc32">SetAttribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">int</span> _value );
-<a name="l01056"></a>01056 <span class="preprocessor"> #endif</span>
-<a name="l01057"></a>01057 <span class="preprocessor"></span>
-<a name="l01061"></a>01061 <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#bf0b3bd7f0e4c746a89ec6e7f101fc32">SetAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * name, <span class="keywordtype">int</span> value );
-<a name="l01062"></a>01062
-<a name="l01066"></a>01066 <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#0d1dd975d75496778177e35abfe0ec0b">SetDoubleAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * name, <span class="keywordtype">double</span> value );
-<a name="l01067"></a>01067
-<a name="l01070"></a>01070 <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#56979767deca794376b1dfa69a525b2a">RemoveAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * name );
-<a name="l01071"></a>01071 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l01072"></a><a class="code" href="classTiXmlElement.html#1afa6aea716511326a608e4c05df4f3a">01072</a> <span class="preprocessor"></span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#56979767deca794376b1dfa69a525b2a">RemoveAttribute</a>( <span class="keyword">const</span> std::string&amp; name ) { <a class="code" href="classTiXmlElement.html#56979767deca794376b1dfa69a525b2a">RemoveAttribute</a> (name.c_str ()); }
-<a name="l01073"></a>01073 <span class="preprocessor"> #endif</span>
-<a name="l01074"></a>01074 <span class="preprocessor"></span>
-<a name="l01075"></a><a class="code" href="classTiXmlElement.html#516054c9073647d6cb29b6abe9fa0592">01075</a> <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#516054c9073647d6cb29b6abe9fa0592">FirstAttribute</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> attributeSet.First(); }
-<a name="l01076"></a>01076 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#516054c9073647d6cb29b6abe9fa0592">FirstAttribute</a>() { <span class="keywordflow">return</span> attributeSet.First(); }
-<a name="l01077"></a><a class="code" href="classTiXmlElement.html#86191b49f9177be132b85b14655f1381">01077</a> <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#86191b49f9177be132b85b14655f1381">LastAttribute</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> attributeSet.Last(); }
-<a name="l01078"></a>01078 <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#86191b49f9177be132b85b14655f1381">LastAttribute</a>() { <span class="keywordflow">return</span> attributeSet.Last(); }
-<a name="l01079"></a>01079
-<a name="l01112"></a>01112 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#f3282294986cdb216646ea1f67af2c87">GetText</a>() <span class="keyword">const</span>;
-<a name="l01113"></a>01113
-<a name="l01115"></a>01115 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlElement.html#a464535ea1994db337cb6a8ce4b588b5">Clone</a>() <span class="keyword">const</span>;
-<a name="l01116"></a>01116 <span class="comment">// Print the Element to a FILE stream.</span>
-<a name="l01117"></a>01117 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#fbf52736e70fc91ec9d760721d6f4fd2">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>;
-<a name="l01118"></a>01118
-<a name="l01119"></a>01119 <span class="comment">/* Attribtue parsing starts: next char past '&lt;'</span>
-<a name="l01120"></a>01120 <span class="comment"> returns: next char past '&gt;'</span>
-<a name="l01121"></a>01121 <span class="comment"> */</span>
-<a name="l01122"></a>01122 <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="l01123"></a>01123
-<a name="l01124"></a><a class="code" href="classTiXmlElement.html#c5b8d0e25fa23fd9acbb6d146082901c">01124</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlElement.html#c5b8d0e25fa23fd9acbb6d146082901c">ToElement</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; }
-<a name="l01125"></a><a class="code" href="classTiXmlElement.html#9def86337ea7a755eb41cac980f60c7a">01125</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlElement.html#c5b8d0e25fa23fd9acbb6d146082901c">ToElement</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; }
-<a name="l01126"></a>01126
-<a name="l01129"></a>01129 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlElement.html#71a81b2afb0d42be1543d1c404dee6f5">Accept</a>( <a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>* visitor ) <span class="keyword">const</span>;
-<a name="l01130"></a>01130
-<a name="l01131"></a>01131 <span class="keyword">protected</span>:
-<a name="l01132"></a>01132
-<a name="l01133"></a>01133 <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* target ) <span class="keyword">const</span>;
-<a name="l01134"></a>01134 <span class="keywordtype">void</span> ClearThis(); <span class="comment">// like clear, but initializes 'this' object as well</span>
-<a name="l01135"></a>01135
-<a name="l01136"></a>01136 <span class="comment">// Used to be public [internal use]</span>
-<a name="l01137"></a>01137 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l01138"></a>01138 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );
-<a name="l01139"></a>01139 <span class="preprocessor"> #endif</span>
-<a name="l01140"></a>01140 <span class="preprocessor"></span> <span class="comment">/* [internal use]</span>
-<a name="l01141"></a>01141 <span class="comment"> Reads the "value" of the element -- another element, or text.</span>
-<a name="l01142"></a>01142 <span class="comment"> This should terminate with the current end tag.</span>
-<a name="l01143"></a>01143 <span class="comment"> */</span>
-<a name="l01144"></a>01144 <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="l01145"></a>01145
-<a name="l01146"></a>01146 <span class="keyword">private</span>:
-<a name="l01147"></a>01147
-<a name="l01148"></a>01148 TiXmlAttributeSet attributeSet;
-<a name="l01149"></a>01149 };
-<a name="l01150"></a>01150
-<a name="l01151"></a>01151
-<a name="l01154"></a><a class="code" href="classTiXmlComment.html">01154</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>
-<a name="l01155"></a>01155 {
-<a name="l01156"></a>01156 <span class="keyword">public</span>:
-<a name="l01158"></a><a class="code" href="classTiXmlComment.html#aa3252031d3e8bd3a2bf51a1c61201b7">01158</a> <a class="code" href="classTiXmlComment.html#aa3252031d3e8bd3a2bf51a1c61201b7">TiXmlComment</a>() : <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>::COMMENT ) {}
-<a name="l01160"></a><a class="code" href="classTiXmlComment.html#37e7802ef17bc03ebe5ae79bf0713d47">01160</a> <a class="code" href="classTiXmlComment.html#aa3252031d3e8bd3a2bf51a1c61201b7">TiXmlComment</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _value ) : <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>::COMMENT ) {
-<a name="l01161"></a>01161 <a class="code" href="classTiXmlNode.html#2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>( _value );
-<a name="l01162"></a>01162 }
-<a name="l01163"></a>01163 <a class="code" href="classTiXmlComment.html#aa3252031d3e8bd3a2bf51a1c61201b7">TiXmlComment</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html">TiXmlComment</a>&amp; );
-<a name="l01164"></a>01164 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html">TiXmlComment</a>&amp; base );
-<a name="l01165"></a>01165
-<a name="l01166"></a>01166 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlComment.html">TiXmlComment</a>() {}
-<a name="l01167"></a>01167
-<a name="l01169"></a>01169 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlComment.html#0d6662bdc52488b9e12b3c7a0453d028">Clone</a>() <span class="keyword">const</span>;
-<a name="l01170"></a>01170 <span class="comment">// Write this Comment to a FILE stream.</span>
-<a name="l01171"></a>01171 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlComment.html#6b316527aaa8da0370cd68c22a5a0f5f">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>;
-<a name="l01172"></a>01172
-<a name="l01173"></a>01173 <span class="comment">/* Attribtue parsing starts: at the ! of the !--</span>
-<a name="l01174"></a>01174 <span class="comment"> returns: next char past '&gt;'</span>
-<a name="l01175"></a>01175 <span class="comment"> */</span>
-<a name="l01176"></a>01176 <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="l01177"></a>01177
-<a name="l01178"></a><a class="code" href="classTiXmlComment.html#00fb4215c20a2399ea05ac9b9e7e68a0">01178</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html">TiXmlComment</a>* <a class="code" href="classTiXmlComment.html#00fb4215c20a2399ea05ac9b9e7e68a0">ToComment</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; }
-<a name="l01179"></a><a class="code" href="classTiXmlComment.html#cc7c7e07e13c23f17797d642981511df">01179</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlComment.html">TiXmlComment</a>* <a class="code" href="classTiXmlComment.html#00fb4215c20a2399ea05ac9b9e7e68a0">ToComment</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; }
-<a name="l01180"></a>01180
-<a name="l01183"></a>01183 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlComment.html#f3ac1b99fbbe9ea4fb6e14146156e43e">Accept</a>( <a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>* visitor ) <span class="keyword">const</span>;
-<a name="l01184"></a>01184
-<a name="l01185"></a>01185 <span class="keyword">protected</span>:
-<a name="l01186"></a>01186 <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlComment.html">TiXmlComment</a>* target ) <span class="keyword">const</span>;
-<a name="l01187"></a>01187
-<a name="l01188"></a>01188 <span class="comment">// used to be public</span>
-<a name="l01189"></a>01189 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l01190"></a>01190 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );
-<a name="l01191"></a>01191 <span class="preprocessor"> #endif</span>
-<a name="l01192"></a>01192 <span class="preprocessor"></span><span class="comment">// virtual void StreamOut( TIXML_OSTREAM * out ) const;</span>
-<a name="l01193"></a>01193
-<a name="l01194"></a>01194 <span class="keyword">private</span>:
-<a name="l01195"></a>01195
-<a name="l01196"></a>01196 };
-<a name="l01197"></a>01197
-<a name="l01198"></a>01198
-<a name="l01204"></a><a class="code" href="classTiXmlText.html">01204</a> <span class="keyword">class </span><a class="code" href="classTiXmlText.html">TiXmlText</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>
-<a name="l01205"></a>01205 {
-<a name="l01206"></a>01206 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlElement.html">TiXmlElement</a>;
-<a name="l01207"></a>01207 <span class="keyword">public</span>:
-<a name="l01212"></a><a class="code" href="classTiXmlText.html#f659e77c6b87d684827f35a8f4895960">01212</a> <a class="code" href="classTiXmlText.html#f659e77c6b87d684827f35a8f4895960">TiXmlText</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * initValue ) : <a class="code" href="classTiXmlNode.html">TiXmlNode</a> (<a class="code" href="classTiXmlNode.html">TiXmlNode</a>::TEXT)
-<a name="l01213"></a>01213 {
-<a name="l01214"></a>01214 <a class="code" href="classTiXmlNode.html#2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>( initValue );
-<a name="l01215"></a>01215 cdata = <span class="keyword">false</span>;
-<a name="l01216"></a>01216 }
-<a name="l01217"></a>01217 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlText.html">TiXmlText</a>() {}
-<a name="l01218"></a>01218
-<a name="l01219"></a>01219 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l01221"></a><a class="code" href="classTiXmlText.html#439792f6183a3d3fb6f2bc2b16fa5691">01221</a> <span class="preprocessor"> TiXmlText( const std::string&amp; initValue ) : TiXmlNode (TiXmlNode::TEXT)</span>
-<a name="l01222"></a>01222 <span class="preprocessor"></span> {
-<a name="l01223"></a>01223 <a class="code" href="classTiXmlNode.html#2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>( initValue );
-<a name="l01224"></a>01224 cdata = <span class="keyword">false</span>;
-<a name="l01225"></a>01225 }
-<a name="l01226"></a>01226 <span class="preprocessor"> #endif</span>
-<a name="l01227"></a>01227 <span class="preprocessor"></span>
-<a name="l01228"></a>01228 <a class="code" href="classTiXmlText.html#f659e77c6b87d684827f35a8f4895960">TiXmlText</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlText.html">TiXmlText</a>&amp; copy ) : <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>::TEXT ) { copy.<a class="code" href="classTiXmlText.html#dcec7d9b6fccfc5777452bb97e6031c1">CopyTo</a>( <span class="keyword">this</span> ); }
-<a name="l01229"></a>01229 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlText.html">TiXmlText</a>&amp; base ) { base.<a class="code" href="classTiXmlText.html#dcec7d9b6fccfc5777452bb97e6031c1">CopyTo</a>( <span class="keyword">this</span> ); }
-<a name="l01230"></a>01230
-<a name="l01231"></a>01231 <span class="comment">// Write this text object to a FILE stream.</span>
-<a name="l01232"></a>01232 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlText.html#0cafbf6f236c7f02d12b2bffc2b7976b">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>;
-<a name="l01233"></a>01233
-<a name="l01235"></a><a class="code" href="classTiXmlText.html#d1a6a6b83fa2271022dd97c072a2b586">01235</a> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlText.html#d1a6a6b83fa2271022dd97c072a2b586">CDATA</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> cdata; }
-<a name="l01237"></a><a class="code" href="classTiXmlText.html#cb17ff7c5d09b2c839393445a3de5ea9">01237</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlText.html#cb17ff7c5d09b2c839393445a3de5ea9">SetCDATA</a>( <span class="keywordtype">bool</span> _cdata ) { cdata = _cdata; }
-<a name="l01238"></a>01238
-<a name="l01239"></a>01239 <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="l01240"></a>01240
-<a name="l01241"></a><a class="code" href="classTiXmlText.html#895bf34ffad17f7439ab2a52b9651648">01241</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlText.html">TiXmlText</a>* <a class="code" href="classTiXmlText.html#895bf34ffad17f7439ab2a52b9651648">ToText</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; }
-<a name="l01242"></a><a class="code" href="classTiXmlText.html#e7c3a8fd3e4dbf6c0c4363a943d72f5b">01242</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlText.html">TiXmlText</a>* <a class="code" href="classTiXmlText.html#895bf34ffad17f7439ab2a52b9651648">ToText</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; }
-<a name="l01243"></a>01243
-<a name="l01246"></a>01246 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlText.html#8483d4415ce9de6c4fa8f63d067d5de6">Accept</a>( <a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>* content ) <span class="keyword">const</span>;
-<a name="l01247"></a>01247
-<a name="l01248"></a>01248 <span class="keyword">protected</span> :
-<a name="l01250"></a>01250 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlText.html#0c411e93a27537369479d034cc82da3b">Clone</a>() <span class="keyword">const</span>;
-<a name="l01251"></a>01251 <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlText.html">TiXmlText</a>* target ) <span class="keyword">const</span>;
-<a name="l01252"></a>01252
-<a name="l01253"></a>01253 <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="l01254"></a>01254 <span class="comment">// [internal use]</span>
-<a name="l01255"></a>01255 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l01256"></a>01256 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );
-<a name="l01257"></a>01257 <span class="preprocessor"> #endif</span>
-<a name="l01258"></a>01258 <span class="preprocessor"></span>
-<a name="l01259"></a>01259 <span class="keyword">private</span>:
-<a name="l01260"></a>01260 <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="l01261"></a>01261 };
-<a name="l01262"></a>01262
-<a name="l01263"></a>01263
-<a name="l01277"></a><a class="code" href="classTiXmlDeclaration.html">01277</a> <span class="keyword">class </span><a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>
-<a name="l01278"></a>01278 {
-<a name="l01279"></a>01279 <span class="keyword">public</span>:
-<a name="l01281"></a><a class="code" href="classTiXmlDeclaration.html#a0484d059bea0ea1acb47c9094382d79">01281</a> <a class="code" href="classTiXmlDeclaration.html#a0484d059bea0ea1acb47c9094382d79">TiXmlDeclaration</a>() : <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>::DECLARATION ) {}
-<a name="l01282"></a>01282
-<a name="l01283"></a>01283 <span class="preprocessor">#ifdef TIXML_USE_STL</span>
-<a name="l01285"></a>01285 <span class="preprocessor"> TiXmlDeclaration( const std::string&amp; _version,</span>
-<a name="l01286"></a>01286 <span class="preprocessor"></span> <span class="keyword">const</span> std::string&amp; _encoding,
-<a name="l01287"></a>01287 <span class="keyword">const</span> std::string&amp; _standalone );
-<a name="l01288"></a>01288 <span class="preprocessor">#endif</span>
-<a name="l01289"></a>01289 <span class="preprocessor"></span>
-<a name="l01291"></a>01291 <a class="code" href="classTiXmlDeclaration.html#a0484d059bea0ea1acb47c9094382d79">TiXmlDeclaration</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _version,
-<a name="l01292"></a>01292 <span class="keyword">const</span> <span class="keywordtype">char</span>* _encoding,
-<a name="l01293"></a>01293 <span class="keyword">const</span> <span class="keywordtype">char</span>* _standalone );
-<a name="l01294"></a>01294
-<a name="l01295"></a>01295 <a class="code" href="classTiXmlDeclaration.html#a0484d059bea0ea1acb47c9094382d79">TiXmlDeclaration</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>&amp; copy );
-<a name="l01296"></a>01296 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>&amp; copy );
-<a name="l01297"></a>01297
-<a name="l01298"></a>01298 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>() {}
-<a name="l01299"></a>01299
-<a name="l01301"></a><a class="code" href="classTiXmlDeclaration.html#02ee557b1a4545c3219ed377c103ec76">01301</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTiXmlDeclaration.html#02ee557b1a4545c3219ed377c103ec76">Version</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> version.c_str (); }
-<a name="l01303"></a><a class="code" href="classTiXmlDeclaration.html#5d974231f9e9a2f0542f15f3a46cdb76">01303</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTiXmlDeclaration.html#5d974231f9e9a2f0542f15f3a46cdb76">Encoding</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> encoding.c_str (); }
-<a name="l01305"></a><a class="code" href="classTiXmlDeclaration.html#9ff06afc033d7ef730ec7c6825b97ad9">01305</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTiXmlDeclaration.html#9ff06afc033d7ef730ec7c6825b97ad9">Standalone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> standalone.c_str (); }
-<a name="l01306"></a>01306
-<a name="l01308"></a>01308 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlDeclaration.html#7cf459186040141cda7a180a6585ce2e">Clone</a>() <span class="keyword">const</span>;
-<a name="l01309"></a>01309 <span class="comment">// Print this declaration to a FILE stream.</span>
-<a name="l01310"></a>01310 <span class="keyword">virtual</span> <span class="keywordtype">void</span> Print( FILE* cfile, <span class="keywordtype">int</span> depth, TIXML_STRING* str ) <span class="keyword">const</span>;
-<a name="l01311"></a><a class="code" href="classTiXmlDeclaration.html#bf6303db4bd05b5be554036817ff1cb4">01311</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> Print( FILE* cfile, <span class="keywordtype">int</span> depth )<span class="keyword"> const </span>{
-<a name="l01312"></a>01312 Print( cfile, depth, 0 );
-<a name="l01313"></a>01313 }
-<a name="l01314"></a>01314
-<a name="l01315"></a>01315 <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="l01316"></a>01316
-<a name="l01317"></a><a class="code" href="classTiXmlDeclaration.html#1e085d3fefd1dbf5ccdbff729931a967">01317</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>* <a class="code" href="classTiXmlDeclaration.html#1e085d3fefd1dbf5ccdbff729931a967">ToDeclaration</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; }
-<a name="l01318"></a><a class="code" href="classTiXmlDeclaration.html#6bd3d1daddcaeb9543c24bfd090969ce">01318</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>* <a class="code" href="classTiXmlDeclaration.html#1e085d3fefd1dbf5ccdbff729931a967">ToDeclaration</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; }
-<a name="l01319"></a>01319
-<a name="l01322"></a>01322 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDeclaration.html#22315a535983b86535cdba3458669e3e">Accept</a>( <a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>* visitor ) <span class="keyword">const</span>;
-<a name="l01323"></a>01323
-<a name="l01324"></a>01324 <span class="keyword">protected</span>:
-<a name="l01325"></a>01325 <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>* target ) <span class="keyword">const</span>;
-<a name="l01326"></a>01326 <span class="comment">// used to be public</span>
-<a name="l01327"></a>01327 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l01328"></a>01328 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );
-<a name="l01329"></a>01329 <span class="preprocessor"> #endif</span>
-<a name="l01330"></a>01330 <span class="preprocessor"></span>
-<a name="l01331"></a>01331 <span class="keyword">private</span>:
-<a name="l01332"></a>01332
-<a name="l01333"></a>01333 TIXML_STRING version;
-<a name="l01334"></a>01334 TIXML_STRING encoding;
-<a name="l01335"></a>01335 TIXML_STRING standalone;
-<a name="l01336"></a>01336 };
-<a name="l01337"></a>01337
-<a name="l01338"></a>01338
-<a name="l01346"></a><a class="code" href="classTiXmlUnknown.html">01346</a> <span class="keyword">class </span><a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>
-<a name="l01347"></a>01347 {
-<a name="l01348"></a>01348 <span class="keyword">public</span>:
-<a name="l01349"></a>01349 <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>() : <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( TiXmlNode::UNKNOWN ) {}
-<a name="l01350"></a>01350 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>() {}
-<a name="l01351"></a>01351
-<a name="l01352"></a>01352 <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>&amp; copy ) : <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( TiXmlNode::UNKNOWN ) { copy.<a class="code" href="classTiXmlUnknown.html#08ca7b225a2bcb604d3c72e199d33408">CopyTo</a>( <span class="keyword">this</span> ); }
-<a name="l01353"></a>01353 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>&amp; copy ) { copy.<a class="code" href="classTiXmlUnknown.html#08ca7b225a2bcb604d3c72e199d33408">CopyTo</a>( <span class="keyword">this</span> ); }
-<a name="l01354"></a>01354
-<a name="l01356"></a>01356 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlUnknown.html#0960bb7428b3f341da46244229604d73">Clone</a>() <span class="keyword">const</span>;
-<a name="l01357"></a>01357 <span class="comment">// Print this Unknown to a FILE stream.</span>
-<a name="l01358"></a>01358 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlUnknown.html#31ba089a40fb5a1869750fce09b0bacb">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>;
-<a name="l01359"></a>01359
-<a name="l01360"></a>01360 <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="l01361"></a>01361
-<a name="l01362"></a><a class="code" href="classTiXmlUnknown.html#b0313e5fe77987d746ac1a97a254419d">01362</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>* <a class="code" href="classTiXmlUnknown.html#b0313e5fe77987d746ac1a97a254419d">ToUnknown</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; }
-<a name="l01363"></a><a class="code" href="classTiXmlUnknown.html#67c9fd22940e8c47f706a72cdd2e332c">01363</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>* <a class="code" href="classTiXmlUnknown.html#b0313e5fe77987d746ac1a97a254419d">ToUnknown</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; }
-<a name="l01364"></a>01364
-<a name="l01367"></a>01367 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlUnknown.html#d7122e5135581b3c832a1a3217760a93">Accept</a>( <a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>* content ) <span class="keyword">const</span>;
-<a name="l01368"></a>01368
-<a name="l01369"></a>01369 <span class="keyword">protected</span>:
-<a name="l01370"></a>01370 <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>* target ) <span class="keyword">const</span>;
-<a name="l01371"></a>01371
-<a name="l01372"></a>01372 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l01373"></a>01373 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );
-<a name="l01374"></a>01374 <span class="preprocessor"> #endif</span>
-<a name="l01375"></a>01375 <span class="preprocessor"></span>
-<a name="l01376"></a>01376 <span class="keyword">private</span>:
-<a name="l01377"></a>01377
-<a name="l01378"></a>01378 };
-<a name="l01379"></a>01379
-<a name="l01380"></a>01380
-<a name="l01385"></a><a class="code" href="classTiXmlDocument.html">01385</a> <span class="keyword">class </span><a class="code" href="classTiXmlDocument.html">TiXmlDocument</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>
-<a name="l01386"></a>01386 {
-<a name="l01387"></a>01387 <span class="keyword">public</span>:
-<a name="l01389"></a>01389 <a class="code" href="classTiXmlDocument.html#9f5e84335708fde98400230f9f12659c">TiXmlDocument</a>();
-<a name="l01391"></a>01391 <a class="code" href="classTiXmlDocument.html#9f5e84335708fde98400230f9f12659c">TiXmlDocument</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * documentName );
-<a name="l01392"></a>01392
-<a name="l01393"></a>01393 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l01395"></a>01395 <span class="preprocessor"> TiXmlDocument( const std::string&amp; documentName );</span>
-<a name="l01396"></a>01396 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
-<a name="l01397"></a>01397 <span class="preprocessor"></span>
-<a name="l01398"></a>01398 <a class="code" href="classTiXmlDocument.html#9f5e84335708fde98400230f9f12659c">TiXmlDocument</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>&amp; copy );
-<a name="l01399"></a>01399 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>&amp; copy );
-<a name="l01400"></a>01400
-<a name="l01401"></a>01401 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>() {}
-<a name="l01402"></a>01402
-<a name="l01407"></a>01407 <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#4c852a889c02cf251117fd1d9fe1845f">LoadFile</a>( TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
-<a name="l01409"></a>01409 <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#21c0aeb0d0a720169ad4ac89523ebe93">SaveFile</a>() <span class="keyword">const</span>;
-<a name="l01411"></a>01411 <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#4c852a889c02cf251117fd1d9fe1845f">LoadFile</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
-<a name="l01413"></a>01413 <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#21c0aeb0d0a720169ad4ac89523ebe93">SaveFile</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * filename ) <span class="keyword">const</span>;
-<a name="l01419"></a>01419 <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#4c852a889c02cf251117fd1d9fe1845f">LoadFile</a>( FILE*, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
-<a name="l01421"></a>01421 <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#21c0aeb0d0a720169ad4ac89523ebe93">SaveFile</a>( FILE* ) <span class="keyword">const</span>;
-<a name="l01422"></a>01422
-<a name="l01423"></a>01423 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l01424"></a><a class="code" href="classTiXmlDocument.html#18ae6ed34fed7991ebc220862dfac884">01424</a> <span class="preprocessor"></span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#4c852a889c02cf251117fd1d9fe1845f">LoadFile</a>( <span class="keyword">const</span> std::string&amp; filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING )
-<a name="l01425"></a>01425 {
-<a name="l01426"></a>01426 <span class="comment">// StringToBuffer f( filename );</span>
-<a name="l01427"></a>01427 <span class="comment">// return ( f.buffer &amp;&amp; LoadFile( f.buffer, encoding ));</span>
-<a name="l01428"></a>01428 <span class="keywordflow">return</span> <a class="code" href="classTiXmlDocument.html#4c852a889c02cf251117fd1d9fe1845f">LoadFile</a>( filename.c_str(), encoding );
-<a name="l01429"></a>01429 }
-<a name="l01430"></a><a class="code" href="classTiXmlDocument.html#3d4fae0463f3f03679ba0b7cf6f2df52">01430</a> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#21c0aeb0d0a720169ad4ac89523ebe93">SaveFile</a>( <span class="keyword">const</span> std::string&amp; filename ) <span class="keyword">const</span>
-<a name="l01431"></a>01431 {
-<a name="l01432"></a>01432 <span class="comment">// StringToBuffer f( filename );</span>
-<a name="l01433"></a>01433 <span class="comment">// return ( f.buffer &amp;&amp; SaveFile( f.buffer ));</span>
-<a name="l01434"></a>01434 <span class="keywordflow">return</span> <a class="code" href="classTiXmlDocument.html#21c0aeb0d0a720169ad4ac89523ebe93">SaveFile</a>( filename.c_str() );
-<a name="l01435"></a>01435 }
-<a name="l01436"></a>01436 <span class="preprocessor"> #endif</span>
-<a name="l01437"></a>01437 <span class="preprocessor"></span>
-<a name="l01442"></a>01442 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlDocument.html#17ebabe36926ef398e78dec0d0ad0378">Parse</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, TiXmlParsingData* data = 0, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
-<a name="l01443"></a>01443
-<a name="l01448"></a><a class="code" href="classTiXmlDocument.html#d09d17927f908f40efb406af2fb873be">01448</a> <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlDocument.html#d09d17927f908f40efb406af2fb873be">RootElement</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>(); }
-<a name="l01449"></a>01449 <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlDocument.html#d09d17927f908f40efb406af2fb873be">RootElement</a>() { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#f4fb652f6bd79ae0d5ce7d0f7d3c0fba">FirstChildElement</a>(); }
-<a name="l01450"></a>01450
-<a name="l01456"></a><a class="code" href="classTiXmlDocument.html#6dfc01a6e5d58e56acd537dfd3bdeb29">01456</a> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#6dfc01a6e5d58e56acd537dfd3bdeb29">Error</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> error; }
-<a name="l01457"></a>01457
-<a name="l01459"></a><a class="code" href="classTiXmlDocument.html#9d0f689f6e09ea494ea547be8d79c25e">01459</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classTiXmlDocument.html#9d0f689f6e09ea494ea547be8d79c25e">ErrorDesc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> errorDesc.c_str (); }
-<a name="l01460"></a>01460
-<a name="l01464"></a><a class="code" href="classTiXmlDocument.html#f96fc2f3f9ec6422782bfe916c9e778f">01464</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlDocument.html#f96fc2f3f9ec6422782bfe916c9e778f">ErrorId</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> errorId; }
-<a name="l01465"></a>01465
-<a name="l01473"></a><a class="code" href="classTiXmlDocument.html#f30efc75e804aa2e92fb8be3a8cb676e">01473</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlDocument.html#f30efc75e804aa2e92fb8be3a8cb676e">ErrorRow</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> errorLocation.row+1; }
-<a name="l01474"></a><a class="code" href="classTiXmlDocument.html#a90bc630ee5203c6109ca5fad3323649">01474</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlDocument.html#a90bc630ee5203c6109ca5fad3323649">ErrorCol</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> errorLocation.col+1; }
-<a name="l01475"></a>01475
-<a name="l01500"></a><a class="code" href="classTiXmlDocument.html#51dac56316f89b35bdb7d0d433ba988e">01500</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlDocument.html#51dac56316f89b35bdb7d0d433ba988e">SetTabSize</a>( <span class="keywordtype">int</span> _tabsize ) { tabsize = _tabsize; }
-<a name="l01501"></a>01501
-<a name="l01502"></a>01502 <span class="keywordtype">int</span> TabSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> tabsize; }
-<a name="l01503"></a>01503
-<a name="l01507"></a><a class="code" href="classTiXmlDocument.html#c66b8c28db86363315712a3574e87c35">01507</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlDocument.html#c66b8c28db86363315712a3574e87c35">ClearError</a>() { error = <span class="keyword">false</span>;
-<a name="l01508"></a>01508 errorId = 0;
-<a name="l01509"></a>01509 errorDesc = <span class="stringliteral">""</span>;
-<a name="l01510"></a>01510 errorLocation.row = errorLocation.col = 0;
-<a name="l01511"></a>01511 <span class="comment">//errorLocation.last = 0; </span>
-<a name="l01512"></a>01512 }
-<a name="l01513"></a>01513
-<a name="l01515"></a><a class="code" href="classTiXmlDocument.html#f08389ec70ee9b2de7f800e206a18510">01515</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlDocument.html#f08389ec70ee9b2de7f800e206a18510">Print</a>()<span class="keyword"> const </span>{ <a class="code" href="classTiXmlDocument.html#f08389ec70ee9b2de7f800e206a18510">Print</a>( stdout, 0 ); }
-<a name="l01516"></a>01516
-<a name="l01517"></a>01517 <span class="comment">/* Write the document to a string using formatted printing ("pretty print"). This</span>
-<a name="l01518"></a>01518 <span class="comment"> will allocate a character array (new char[]) and return it as a pointer. The</span>
-<a name="l01519"></a>01519 <span class="comment"> calling code pust call delete[] on the return char* to avoid a memory leak.</span>
-<a name="l01520"></a>01520 <span class="comment"> */</span>
-<a name="l01521"></a>01521 <span class="comment">//char* PrintToMemory() const; </span>
-<a name="l01522"></a>01522
-<a name="l01524"></a>01524 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlDocument.html#f08389ec70ee9b2de7f800e206a18510">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth = 0 ) <span class="keyword">const</span>;
-<a name="l01525"></a>01525 <span class="comment">// [internal use]</span>
-<a name="l01526"></a>01526 <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="l01527"></a>01527
-<a name="l01528"></a><a class="code" href="classTiXmlDocument.html#1dc977bde3e4fe85a8eb9d88a35ef5a4">01528</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* <a class="code" href="classTiXmlDocument.html#1dc977bde3e4fe85a8eb9d88a35ef5a4">ToDocument</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; }
-<a name="l01529"></a><a class="code" href="classTiXmlDocument.html#1025d942a1f328fd742d545e37efdd42">01529</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* <a class="code" href="classTiXmlDocument.html#1dc977bde3e4fe85a8eb9d88a35ef5a4">ToDocument</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; }
-<a name="l01530"></a>01530
-<a name="l01533"></a>01533 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a545aae325d9752ad64120bc4ecf939a">Accept</a>( <a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>* content ) <span class="keyword">const</span>;
-<a name="l01534"></a>01534
-<a name="l01535"></a>01535 <span class="keyword">protected</span> :
-<a name="l01536"></a>01536 <span class="comment">// [internal use]</span>
-<a name="l01537"></a>01537 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlDocument.html#4968661cab4a1f44a23329c6f8db1907">Clone</a>() <span class="keyword">const</span>;
-<a name="l01538"></a>01538 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l01539"></a>01539 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );
-<a name="l01540"></a>01540 <span class="preprocessor"> #endif</span>
-<a name="l01541"></a>01541 <span class="preprocessor"></span>
-<a name="l01542"></a>01542 <span class="keyword">private</span>:
-<a name="l01543"></a>01543 <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* target ) <span class="keyword">const</span>;
-<a name="l01544"></a>01544
-<a name="l01545"></a>01545 <span class="keywordtype">bool</span> error;
-<a name="l01546"></a>01546 <span class="keywordtype">int</span> errorId;
-<a name="l01547"></a>01547 TIXML_STRING errorDesc;
-<a name="l01548"></a>01548 <span class="keywordtype">int</span> tabsize;
-<a name="l01549"></a>01549 TiXmlCursor errorLocation;
-<a name="l01550"></a>01550 <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="l01551"></a>01551 };
-<a name="l01552"></a>01552
-<a name="l01553"></a>01553
-<a name="l01634"></a><a class="code" href="classTiXmlHandle.html">01634</a> <span class="keyword">class </span><a class="code" href="classTiXmlHandle.html">TiXmlHandle</a>
-<a name="l01635"></a>01635 {
-<a name="l01636"></a>01636 <span class="keyword">public</span>:
-<a name="l01638"></a><a class="code" href="classTiXmlHandle.html#ba18fd7bdefb942ecdea4bf4b8e29ec8">01638</a> <a class="code" href="classTiXmlHandle.html#ba18fd7bdefb942ecdea4bf4b8e29ec8">TiXmlHandle</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* _node ) { this-&gt;node = _node; }
-<a name="l01640"></a><a class="code" href="classTiXmlHandle.html#236d7855e1e56ccc7b980630c48c7fd7">01640</a> <a class="code" href="classTiXmlHandle.html#ba18fd7bdefb942ecdea4bf4b8e29ec8">TiXmlHandle</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a>&amp; ref ) { this-&gt;node = ref.<a class="code" href="classTiXmlHandle.html#c5429de14bb78b16288bac5bf33c6858">node</a>; }
-<a name="l01641"></a>01641 <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a>&amp; ref ) { this-&gt;node = ref.<a class="code" href="classTiXmlHandle.html#c5429de14bb78b16288bac5bf33c6858">node</a>; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l01642"></a>01642
-<a name="l01644"></a>01644 <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#cdb1faaf88a700b40ca2c8d9aee21139">FirstChild</a>() <span class="keyword">const</span>;
-<a name="l01646"></a>01646 <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#cdb1faaf88a700b40ca2c8d9aee21139">FirstChild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * value ) <span class="keyword">const</span>;
-<a name="l01648"></a>01648 <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#24d1112e995e937e4dddb202d4113d4a">FirstChildElement</a>() <span class="keyword">const</span>;
-<a name="l01650"></a>01650 <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#24d1112e995e937e4dddb202d4113d4a">FirstChildElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * value ) <span class="keyword">const</span>;
-<a name="l01651"></a>01651
-<a name="l01655"></a>01655 <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#072492b4be1acdb0db2d03cd8f71ccc4">Child</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* value, <span class="keywordtype">int</span> index ) <span class="keyword">const</span>;
-<a name="l01659"></a>01659 <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#072492b4be1acdb0db2d03cd8f71ccc4">Child</a>( <span class="keywordtype">int</span> index ) <span class="keyword">const</span>;
-<a name="l01664"></a>01664 <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#979a3f850984a176ee884e394c7eed2d">ChildElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* value, <span class="keywordtype">int</span> index ) <span class="keyword">const</span>;
-<a name="l01669"></a>01669 <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#979a3f850984a176ee884e394c7eed2d">ChildElement</a>( <span class="keywordtype">int</span> index ) <span class="keyword">const</span>;
-<a name="l01670"></a>01670
-<a name="l01671"></a>01671 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l01672"></a>01672 <span class="preprocessor"></span> <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#cdb1faaf88a700b40ca2c8d9aee21139">FirstChild</a>( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#cdb1faaf88a700b40ca2c8d9aee21139">FirstChild</a>( _value.c_str() ); }
-<a name="l01673"></a>01673 <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#24d1112e995e937e4dddb202d4113d4a">FirstChildElement</a>( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#24d1112e995e937e4dddb202d4113d4a">FirstChildElement</a>( _value.c_str() ); }
-<a name="l01674"></a>01674
-<a name="l01675"></a>01675 <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#072492b4be1acdb0db2d03cd8f71ccc4">Child</a>( <span class="keyword">const</span> std::string&amp; _value, <span class="keywordtype">int</span> index )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#072492b4be1acdb0db2d03cd8f71ccc4">Child</a>( _value.c_str(), index ); }
-<a name="l01676"></a>01676 <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#979a3f850984a176ee884e394c7eed2d">ChildElement</a>( <span class="keyword">const</span> std::string&amp; _value, <span class="keywordtype">int</span> index )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#979a3f850984a176ee884e394c7eed2d">ChildElement</a>( _value.c_str(), index ); }
-<a name="l01677"></a>01677 <span class="preprocessor"> #endif</span>
-<a name="l01678"></a>01678 <span class="preprocessor"></span>
-<a name="l01681"></a><a class="code" href="classTiXmlHandle.html#f678e5088e83be67baf76f699756f2c3">01681</a> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlHandle.html#f678e5088e83be67baf76f699756f2c3">ToNode</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> node; }
-<a name="l01684"></a><a class="code" href="classTiXmlHandle.html#bc6e7ed383a5fe1e52b0c0004b457b9e">01684</a> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlHandle.html#bc6e7ed383a5fe1e52b0c0004b457b9e">ToElement</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ( ( node &amp;&amp; node-&gt;<a class="code" href="classTiXmlNode.html#72abed96dc9667ab9e0a2a275301bb1c">ToElement</a>() ) ? node-&gt;<a class="code" href="classTiXmlNode.html#72abed96dc9667ab9e0a2a275301bb1c">ToElement</a>() : 0 ); }
-<a name="l01687"></a><a class="code" href="classTiXmlHandle.html#4ac53a652296203a5b5e13854d923586">01687</a> <a class="code" href="classTiXmlText.html">TiXmlText</a>* <a class="code" href="classTiXmlHandle.html#4ac53a652296203a5b5e13854d923586">ToText</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ( ( node &amp;&amp; node-&gt;<a class="code" href="classTiXmlNode.html#95a46a52c525992d6b4ee08beb14cd69">ToText</a>() ) ? node-&gt;<a class="code" href="classTiXmlNode.html#95a46a52c525992d6b4ee08beb14cd69">ToText</a>() : 0 ); }
-<a name="l01690"></a><a class="code" href="classTiXmlHandle.html#1381c17507a130767b1e23afc93b3674">01690</a> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>* <a class="code" href="classTiXmlHandle.html#1381c17507a130767b1e23afc93b3674">ToUnknown</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ( ( node &amp;&amp; node-&gt;<a class="code" href="classTiXmlNode.html#fd7205cf31d7a376929f8a36930627a2">ToUnknown</a>() ) ? node-&gt;<a class="code" href="classTiXmlNode.html#fd7205cf31d7a376929f8a36930627a2">ToUnknown</a>() : 0 ); }
-<a name="l01691"></a>01691
-<a name="l01695"></a><a class="code" href="classTiXmlHandle.html#b44b723a8dc9af72838a303c079d0376">01695</a> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlHandle.html#b44b723a8dc9af72838a303c079d0376">Node</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#f678e5088e83be67baf76f699756f2c3">ToNode</a>(); }
-<a name="l01699"></a><a class="code" href="classTiXmlHandle.html#cb5fe8388a526289ea65e817a51e05e7">01699</a> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlHandle.html#cb5fe8388a526289ea65e817a51e05e7">Element</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#bc6e7ed383a5fe1e52b0c0004b457b9e">ToElement</a>(); }
-<a name="l01703"></a><a class="code" href="classTiXmlHandle.html#9fc739c8a18d160006f82572fc143d13">01703</a> <a class="code" href="classTiXmlText.html">TiXmlText</a>* <a class="code" href="classTiXmlHandle.html#9fc739c8a18d160006f82572fc143d13">Text</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#4ac53a652296203a5b5e13854d923586">ToText</a>(); }
-<a name="l01707"></a><a class="code" href="classTiXmlHandle.html#49675b74357ba2aae124657a9a1ef465">01707</a> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>* <a class="code" href="classTiXmlHandle.html#49675b74357ba2aae124657a9a1ef465">Unknown</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#1381c17507a130767b1e23afc93b3674">ToUnknown</a>(); }
-<a name="l01708"></a>01708
-<a name="l01709"></a>01709 <span class="keyword">private</span>:
-<a name="l01710"></a>01710 <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* node;
-<a name="l01711"></a>01711 };
-<a name="l01712"></a>01712
-<a name="l01713"></a>01713
-<a name="l01733"></a><a class="code" href="classTiXmlPrinter.html">01733</a> <span class="keyword">class </span><a class="code" href="classTiXmlPrinter.html">TiXmlPrinter</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>
-<a name="l01734"></a>01734 {
-<a name="l01735"></a>01735 <span class="keyword">public</span>:
-<a name="l01736"></a>01736 <a class="code" href="classTiXmlPrinter.html">TiXmlPrinter</a>() : depth( 0 ), simpleTextPrint( <span class="keyword">false</span> ),
-<a name="l01737"></a>01737 buffer(), indent( <span class="stringliteral">" "</span> ), lineBreak( <span class="stringliteral">"\n"</span> ) {}
-<a name="l01738"></a>01738
-<a name="l01739"></a>01739 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#799f4f0388570cbb54c0d3c345fef7c1">VisitEnter</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>&amp; doc );
-<a name="l01740"></a>01740 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#66b33edd76c538b462f789b797a4fdf2">VisitExit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>&amp; doc );
-<a name="l01741"></a>01741
-<a name="l01742"></a>01742 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#799f4f0388570cbb54c0d3c345fef7c1">VisitEnter</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>&amp; element, <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* firstAttribute );
-<a name="l01743"></a>01743 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#66b33edd76c538b462f789b797a4fdf2">VisitExit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>&amp; element );
-<a name="l01744"></a>01744
-<a name="l01745"></a>01745 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#ce1b14d33eede2575c0743e2350f6a38">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>&amp; declaration );
-<a name="l01746"></a>01746 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#ce1b14d33eede2575c0743e2350f6a38">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlText.html">TiXmlText</a>&amp; text );
-<a name="l01747"></a>01747 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#ce1b14d33eede2575c0743e2350f6a38">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html">TiXmlComment</a>&amp; comment );
-<a name="l01748"></a>01748 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#ce1b14d33eede2575c0743e2350f6a38">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>&amp; unknown );
-<a name="l01749"></a>01749
-<a name="l01753"></a><a class="code" href="classTiXmlPrinter.html#213377a4070c7e625bae59716b089e5e">01753</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlPrinter.html#213377a4070c7e625bae59716b089e5e">SetIndent</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _indent ) { indent = _indent ? _indent : <span class="stringliteral">""</span> ; }
-<a name="l01755"></a><a class="code" href="classTiXmlPrinter.html#bb33ec7d4bad6aaeb57f4304394b133d">01755</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlPrinter.html#bb33ec7d4bad6aaeb57f4304394b133d">Indent</a>() { <span class="keywordflow">return</span> indent.c_str(); }
-<a name="l01760"></a><a class="code" href="classTiXmlPrinter.html#4be1e37e69e3858c59635aa947174fe6">01760</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlPrinter.html#4be1e37e69e3858c59635aa947174fe6">SetLineBreak</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _lineBreak ) { lineBreak = _lineBreak ? _lineBreak : <span class="stringliteral">""</span>; }
-<a name="l01762"></a><a class="code" href="classTiXmlPrinter.html#11f1b4804a460b175ec244eb5724d96d">01762</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlPrinter.html#11f1b4804a460b175ec244eb5724d96d">LineBreak</a>() { <span class="keywordflow">return</span> lineBreak.c_str(); }
-<a name="l01763"></a>01763
-<a name="l01767"></a><a class="code" href="classTiXmlPrinter.html#b23a90629e374cb1cadca090468bbd19">01767</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlPrinter.html#b23a90629e374cb1cadca090468bbd19">SetStreamPrinting</a>() { indent = <span class="stringliteral">""</span>;
-<a name="l01768"></a>01768 lineBreak = <span class="stringliteral">""</span>;
-<a name="l01769"></a>01769 }
-<a name="l01771"></a><a class="code" href="classTiXmlPrinter.html#859eede9597d3e0355b77757be48735e">01771</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlPrinter.html#859eede9597d3e0355b77757be48735e">CStr</a>() { <span class="keywordflow">return</span> buffer.c_str(); }
-<a name="l01773"></a><a class="code" href="classTiXmlPrinter.html#d01375ae9199bd2f48252eaddce3039d">01773</a> size_t <a class="code" href="classTiXmlPrinter.html#d01375ae9199bd2f48252eaddce3039d">Size</a>() { <span class="keywordflow">return</span> buffer.size(); }
-<a name="l01774"></a>01774
-<a name="l01775"></a>01775 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
-<a name="l01777"></a><a class="code" href="classTiXmlPrinter.html#3bd4daf44309b41f5813a833caa0d1c9">01777</a> <span class="preprocessor"> const std::string&amp; Str() { return buffer; }</span>
-<a name="l01778"></a>01778 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
-<a name="l01779"></a>01779 <span class="preprocessor"></span>
-<a name="l01780"></a>01780 <span class="keyword">private</span>:
-<a name="l01781"></a>01781 <span class="keywordtype">void</span> DoIndent() {
-<a name="l01782"></a>01782 <span class="keywordflow">for</span>( <span class="keywordtype">int</span> i=0; i&lt;depth; ++i )
-<a name="l01783"></a>01783 buffer += indent;
-<a name="l01784"></a>01784 }
-<a name="l01785"></a>01785 <span class="keywordtype">void</span> DoLineBreak() {
-<a name="l01786"></a>01786 buffer += lineBreak;
-<a name="l01787"></a>01787 }
-<a name="l01788"></a>01788
-<a name="l01789"></a>01789 <span class="keywordtype">int</span> depth;
-<a name="l01790"></a>01790 <span class="keywordtype">bool</span> simpleTextPrint;
-<a name="l01791"></a>01791 TIXML_STRING buffer;
-<a name="l01792"></a>01792 TIXML_STRING indent;
-<a name="l01793"></a>01793 TIXML_STRING lineBreak;
-<a name="l01794"></a>01794 };
-<a name="l01795"></a>01795
-<a name="l01796"></a>01796
-<a name="l01797"></a>01797 <span class="preprocessor">#ifdef _MSC_VER</span>
-<a name="l01798"></a>01798 <span class="preprocessor"></span><span class="preprocessor">#pragma warning( pop )</span>
-<a name="l01799"></a>01799 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l01800"></a>01800 <span class="preprocessor"></span>
-<a name="l01801"></a>01801 <span class="preprocessor">#endif</span>
-<a name="l01802"></a>01802 <span class="preprocessor"></span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
-</body>
-</html>
diff --git a/shared/tinyxml/docs/tinyxml_8h_source.html b/shared/tinyxml/docs/tinyxml_8h_source.html
new file mode 100644
index 00000000..e991e035
--- /dev/null
+++ b/shared/tinyxml/docs/tinyxml_8h_source.html
@@ -0,0 +1,1205 @@
+<!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"/>
+<title>TinyXml: tinyxml.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</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 class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ </ul>
+ </div>
+<h1>tinyxml.h</h1><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 &#39;as-is&#39;, 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 TINYXML_INCLUDED</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define TINYXML_INCLUDED</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span>
+<a name="l00029"></a>00029 <span class="preprocessor">#ifdef _MSC_VER</span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#pragma warning( push )</span>
+<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#pragma warning( disable : 4530 )</span>
+<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#pragma warning( disable : 4786 )</span>
+<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;ctype.h&gt;</span>
+<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
+<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
+<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;string.h&gt;</span>
+<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;assert.h&gt;</span>
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="comment">// Help out windows:</span>
+<a name="l00042"></a>00042 <span class="preprocessor">#if defined( _DEBUG ) &amp;&amp; !defined( DEBUG )</span>
+<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#define DEBUG</span>
+<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00045"></a>00045 <span class="preprocessor"></span>
+<a name="l00046"></a>00046 <span class="preprocessor">#ifdef TIXML_USE_STL</span>
+<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;string&gt;</span>
+<a name="l00048"></a>00048 <span class="preprocessor"> #include &lt;iostream&gt;</span>
+<a name="l00049"></a>00049 <span class="preprocessor"> #include &lt;sstream&gt;</span>
+<a name="l00050"></a>00050 <span class="preprocessor"> #define TIXML_STRING std::string</span>
+<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor"> #include &quot;tinystr.h&quot;</span>
+<a name="l00053"></a>00053 <span class="preprocessor"> #define TIXML_STRING TiXmlString</span>
+<a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00055"></a>00055 <span class="preprocessor"></span>
+<a name="l00056"></a>00056 <span class="comment">// Deprecated library function hell. Compilers want to use the</span>
+<a name="l00057"></a>00057 <span class="comment">// new safe versions. This probably doesn&#39;t fully address the problem,</span>
+<a name="l00058"></a>00058 <span class="comment">// but it gets closer. There are too many compilers for me to fully</span>
+<a name="l00059"></a>00059 <span class="comment">// test. If you get compilation troubles, undefine TIXML_SAFE</span>
+<a name="l00060"></a>00060 <span class="preprocessor">#define TIXML_SAFE</span>
+<a name="l00061"></a>00061 <span class="preprocessor"></span>
+<a name="l00062"></a>00062 <span class="preprocessor">#ifdef TIXML_SAFE</span>
+<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor"> #if defined(_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1400 )</span>
+<a name="l00064"></a>00064 <span class="preprocessor"></span> <span class="comment">// Microsoft visual studio, version 2005 and higher.</span>
+<a name="l00065"></a>00065 <span class="preprocessor"> #define TIXML_SNPRINTF _snprintf_s</span>
+<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor"> #define TIXML_SSCANF sscanf_s</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="preprocessor"> #elif defined(_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1200 )</span>
+<a name="l00068"></a>00068 <span class="preprocessor"></span> <span class="comment">// Microsoft visual studio, version 6 and higher.</span>
+<a name="l00069"></a>00069 <span class="comment">//#pragma message( &quot;Using _sn* functions.&quot; )</span>
+<a name="l00070"></a>00070 <span class="preprocessor"> #define TIXML_SNPRINTF _snprintf</span>
+<a name="l00071"></a>00071 <span class="preprocessor"></span><span class="preprocessor"> #define TIXML_SSCANF sscanf</span>
+<a name="l00072"></a>00072 <span class="preprocessor"></span><span class="preprocessor"> #elif defined(__GNUC__) &amp;&amp; (__GNUC__ &gt;= 3 )</span>
+<a name="l00073"></a>00073 <span class="preprocessor"></span> <span class="comment">// GCC version 3 and higher.s</span>
+<a name="l00074"></a>00074 <span class="comment">//#warning( &quot;Using sn* functions.&quot; )</span>
+<a name="l00075"></a>00075 <span class="preprocessor"> #define TIXML_SNPRINTF snprintf</span>
+<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="preprocessor"> #define TIXML_SSCANF sscanf</span>
+<a name="l00077"></a>00077 <span class="preprocessor"></span><span class="preprocessor"> #else</span>
+<a name="l00078"></a>00078 <span class="preprocessor"></span><span class="preprocessor"> #define TIXML_SNPRINTF snprintf</span>
+<a name="l00079"></a>00079 <span class="preprocessor"></span><span class="preprocessor"> #define TIXML_SSCANF sscanf</span>
+<a name="l00080"></a>00080 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
+<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#endif </span>
+<a name="l00082"></a>00082 <span class="preprocessor"></span>
+<a name="l00083"></a>00083 <span class="keyword">class </span><a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>;
+<a name="l00084"></a>00084 <span class="keyword">class </span><a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>;
+<a name="l00085"></a>00085 <span class="keyword">class </span><a class="code" href="classTiXmlComment.html" title="An XML comment.">TiXmlComment</a>;
+<a name="l00086"></a>00086 <span class="keyword">class </span><a class="code" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&amp;#39;t recognize is saved as an unknown.">TiXmlUnknown</a>;
+<a name="l00087"></a>00087 <span class="keyword">class </span><a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>;
+<a name="l00088"></a>00088 <span class="keyword">class </span><a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>;
+<a name="l00089"></a>00089 <span class="keyword">class </span><a class="code" href="classTiXmlDeclaration.html" title="In correct XML the declaration is the first entry in the file.">TiXmlDeclaration</a>;
+<a name="l00090"></a>00090 <span class="keyword">class </span>TiXmlParsingData;
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 <span class="keyword">const</span> <span class="keywordtype">int</span> TIXML_MAJOR_VERSION = 2;
+<a name="l00093"></a>00093 <span class="keyword">const</span> <span class="keywordtype">int</span> TIXML_MINOR_VERSION = 6;
+<a name="l00094"></a>00094 <span class="keyword">const</span> <span class="keywordtype">int</span> TIXML_PATCH_VERSION = 1;
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="comment">/* Internal structure for tracking location of items </span>
+<a name="l00097"></a>00097 <span class="comment"> in the XML file.</span>
+<a name="l00098"></a>00098 <span class="comment">*/</span>
+<a name="l00099"></a>00099 <span class="keyword">struct </span>TiXmlCursor
+<a name="l00100"></a>00100 {
+<a name="l00101"></a>00101 TiXmlCursor() { Clear(); }
+<a name="l00102"></a>00102 <span class="keywordtype">void</span> Clear() { row = col = -1; }
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="keywordtype">int</span> row; <span class="comment">// 0 based.</span>
+<a name="l00105"></a>00105 <span class="keywordtype">int</span> col; <span class="comment">// 0 based.</span>
+<a name="l00106"></a>00106 };
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108
+<a name="l00128"></a><a class="code" href="classTiXmlVisitor.html">00128</a> <span class="keyword">class </span><a class="code" href="classTiXmlVisitor.html" title="Implements the interface to the &amp;quot;Visitor pattern&amp;quot; (see the Accept() method...">TiXmlVisitor</a>
+<a name="l00129"></a>00129 {
+<a name="l00130"></a>00130 <span class="keyword">public</span>:
+<a name="l00131"></a>00131 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlVisitor.html" title="Implements the interface to the &amp;quot;Visitor pattern&amp;quot; (see the Accept() method...">TiXmlVisitor</a>() {}
+<a name="l00132"></a>00132
+<a name="l00134"></a><a class="code" href="classTiXmlVisitor.html#a07baecb52dd7d8716ae2a48ad0956ee0">00134</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a07baecb52dd7d8716ae2a48ad0956ee0" title="Visit a document.">VisitEnter</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>&amp; <span class="comment">/*doc*/</span> ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
+<a name="l00136"></a><a class="code" href="classTiXmlVisitor.html#aa0ade4f27087447e93974e975c3246ad">00136</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#aa0ade4f27087447e93974e975c3246ad" title="Visit a document.">VisitExit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>&amp; <span class="comment">/*doc*/</span> ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
+<a name="l00137"></a>00137
+<a name="l00139"></a><a class="code" href="classTiXmlVisitor.html#af6c6178ffa517bbdba95d70490875fff">00139</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#af6c6178ffa517bbdba95d70490875fff" title="Visit an element.">VisitEnter</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>&amp; <span class="comment">/*element*/</span>, <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* <span class="comment">/*firstAttribute*/</span> ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
+<a name="l00141"></a><a class="code" href="classTiXmlVisitor.html#aec2b1f8116226d52f3a1b95dafd3a32c">00141</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#aec2b1f8116226d52f3a1b95dafd3a32c" title="Visit an element.">VisitExit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>&amp; <span class="comment">/*element*/</span> ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
+<a name="l00142"></a>00142
+<a name="l00144"></a><a class="code" href="classTiXmlVisitor.html#afad71c71ce6473fb9b4b64cd92de4a19">00144</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#afad71c71ce6473fb9b4b64cd92de4a19" title="Visit a declaration.">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html" title="In correct XML the declaration is the first entry in the file.">TiXmlDeclaration</a>&amp; <span class="comment">/*declaration*/</span> ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
+<a name="l00146"></a><a class="code" href="classTiXmlVisitor.html#a399b8ebca5cd14664974a32d2ce029e5">00146</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a399b8ebca5cd14664974a32d2ce029e5" title="Visit a text node.">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>&amp; <span class="comment">/*text*/</span> ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
+<a name="l00148"></a><a class="code" href="classTiXmlVisitor.html#a53a60e7a528627b31af3161972cc7fa2">00148</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a53a60e7a528627b31af3161972cc7fa2" title="Visit a comment node.">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html" title="An XML comment.">TiXmlComment</a>&amp; <span class="comment">/*comment*/</span> ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
+<a name="l00150"></a><a class="code" href="classTiXmlVisitor.html#a7e284d607d275c51dac1adb58159ce28">00150</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a7e284d607d275c51dac1adb58159ce28" title="Visit an unknow node.">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&amp;#39;t recognize is saved as an unknown.">TiXmlUnknown</a>&amp; <span class="comment">/*unknown*/</span> ) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
+<a name="l00151"></a>00151 };
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 <span class="comment">// Only used by Attribute::Query functions</span>
+<a name="l00154"></a>00154 <span class="keyword">enum</span>
+<a name="l00155"></a>00155 {
+<a name="l00156"></a>00156 TIXML_SUCCESS,
+<a name="l00157"></a>00157 TIXML_NO_ATTRIBUTE,
+<a name="l00158"></a>00158 TIXML_WRONG_TYPE
+<a name="l00159"></a>00159 };
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 <span class="comment">// Used by the parsing routines.</span>
+<a name="l00163"></a>00163 <span class="keyword">enum</span> TiXmlEncoding
+<a name="l00164"></a>00164 {
+<a name="l00165"></a>00165 TIXML_ENCODING_UNKNOWN,
+<a name="l00166"></a>00166 TIXML_ENCODING_UTF8,
+<a name="l00167"></a>00167 TIXML_ENCODING_LEGACY
+<a name="l00168"></a>00168 };
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170 <span class="keyword">const</span> TiXmlEncoding TIXML_DEFAULT_ENCODING = TIXML_ENCODING_UNKNOWN;
+<a name="l00171"></a>00171
+<a name="l00194"></a><a class="code" href="classTiXmlBase.html">00194</a> <span class="keyword">class </span><a class="code" href="classTiXmlBase.html" title="TiXmlBase is a base class for every class in TinyXml.">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="The parent class for everything in the Document Object Model.">TiXmlNode</a>;
+<a name="l00197"></a>00197 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlElement.html" title="The element is a container 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="Always the 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="TiXmlBase is a base class for every class in TinyXml.">TiXmlBase</a>() : <a class="code" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c" title="Field containing a generic user pointer.">userData</a>(0) {}
+<a name="l00202"></a>00202 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlBase.html" title="TiXmlBase is a base class for every class in TinyXml.">TiXmlBase</a>() {}
+<a name="l00203"></a>00203
+<a name="l00213"></a>00213 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#a0de56b3f2ef14c65091a3b916437b512" title="All TinyXml classes can print themselves to a filestream or the string class (TiXmlString...">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span> = 0;
+<a name="l00214"></a>00214
+<a name="l00221"></a><a class="code" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1">00221</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1" title="The world does not agree on whether white space should be kept or not.">SetCondenseWhiteSpace</a>( <span class="keywordtype">bool</span> condense ) { condenseWhiteSpace = condense; }
+<a name="l00222"></a>00222
+<a name="l00224"></a><a class="code" href="classTiXmlBase.html#ad4b1472531c647a25b1840a87ae42438">00224</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlBase.html#ad4b1472531c647a25b1840a87ae42438" title="Return the current white space setting.">IsWhiteSpaceCondensed</a>() { <span class="keywordflow">return</span> condenseWhiteSpace; }
+<a name="l00225"></a>00225
+<a name="l00244"></a><a class="code" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853">00244</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853" title="Return the position, in the original source file, of this node or attribute.">Row</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> location.row + 1; }
+<a name="l00245"></a><a class="code" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003">00245</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003" title="See Row().">Column</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> location.col + 1; }
+<a name="l00246"></a>00246
+<a name="l00247"></a><a class="code" href="classTiXmlBase.html#ac6b3e0f790930d4970ec30764e937b5d">00247</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#ac6b3e0f790930d4970ec30764e937b5d" title="Set a pointer to arbitrary user data.">SetUserData</a>( <span class="keywordtype">void</span>* user ) { <a class="code" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c" title="Field containing a generic user pointer.">userData</a> = user; }
+<a name="l00248"></a><a class="code" href="classTiXmlBase.html#a6559a530ca6763fc301a14d77ed28c17">00248</a> <span class="keywordtype">void</span>* <a class="code" href="classTiXmlBase.html#a6559a530ca6763fc301a14d77ed28c17" title="Get a pointer to arbitrary user data.">GetUserData</a>() { <span class="keywordflow">return</span> <a class="code" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c" title="Field containing a generic user pointer.">userData</a>; }
+<a name="l00249"></a><a class="code" href="classTiXmlBase.html#ad0120210e4680ef2088601753ce0ede4">00249</a> <span class="keyword">const</span> <span class="keywordtype">void</span>* <a class="code" href="classTiXmlBase.html#ad0120210e4680ef2088601753ce0ede4" title="Get a pointer to arbitrary user data.">GetUserData</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c" title="Field containing a generic user pointer.">userData</a>; }
+<a name="l00250"></a>00250
+<a name="l00251"></a>00251 <span class="comment">// Table that returs, for a given lead byte, the total number of bytes</span>
+<a name="l00252"></a>00252 <span class="comment">// in the UTF-8 sequence.</span>
+<a name="l00253"></a>00253 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> utf8ByteTable[256];
+<a name="l00254"></a>00254
+<a name="l00255"></a>00255 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlDocument.html#a17ebabe36926ef398e78dec0d0ad0378" title="Parse the given null terminated block of xml data.">Parse</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* p,
+<a name="l00256"></a>00256 TiXmlParsingData* data,
+<a name="l00257"></a>00257 TiXmlEncoding encoding <span class="comment">/*= TIXML_ENCODING_UNKNOWN */</span> ) = 0;
+<a name="l00258"></a>00258
+<a name="l00262"></a>00262 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#a6bd8c315c1acb09e34107b8736505948" title="Expands entities in a string.">EncodeString</a>( <span class="keyword">const</span> TIXML_STRING&amp; str, TIXML_STRING* out );
+<a name="l00263"></a>00263
+<a name="l00264"></a>00264 <span class="keyword">enum</span>
+<a name="l00265"></a>00265 {
+<a name="l00266"></a>00266 TIXML_NO_ERROR = 0,
+<a name="l00267"></a>00267 TIXML_ERROR,
+<a name="l00268"></a>00268 TIXML_ERROR_OPENING_FILE,
+<a name="l00269"></a>00269 TIXML_ERROR_PARSING_ELEMENT,
+<a name="l00270"></a>00270 TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME,
+<a name="l00271"></a>00271 TIXML_ERROR_READING_ELEMENT_VALUE,
+<a name="l00272"></a>00272 TIXML_ERROR_READING_ATTRIBUTES,
+<a name="l00273"></a>00273 TIXML_ERROR_PARSING_EMPTY,
+<a name="l00274"></a>00274 TIXML_ERROR_READING_END_TAG,
+<a name="l00275"></a>00275 TIXML_ERROR_PARSING_UNKNOWN,
+<a name="l00276"></a>00276 TIXML_ERROR_PARSING_COMMENT,
+<a name="l00277"></a>00277 TIXML_ERROR_PARSING_DECLARATION,
+<a name="l00278"></a>00278 TIXML_ERROR_DOCUMENT_EMPTY,
+<a name="l00279"></a>00279 TIXML_ERROR_EMBEDDED_NULL,
+<a name="l00280"></a>00280 TIXML_ERROR_PARSING_CDATA,
+<a name="l00281"></a>00281 TIXML_ERROR_DOCUMENT_TOP_ONLY,
+<a name="l00282"></a>00282
+<a name="l00283"></a>00283 TIXML_ERROR_STRING_COUNT
+<a name="l00284"></a>00284 };
+<a name="l00285"></a>00285
+<a name="l00286"></a>00286 <span class="keyword">protected</span>:
+<a name="l00287"></a>00287
+<a name="l00288"></a>00288 <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="l00289"></a>00289
+<a name="l00290"></a>00290 <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> IsWhiteSpace( <span class="keywordtype">char</span> c )
+<a name="l00291"></a>00291 {
+<a name="l00292"></a>00292 <span class="keywordflow">return</span> ( isspace( (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>) c ) || c == <span class="charliteral">&#39;\n&#39;</span> || c == <span class="charliteral">&#39;\r&#39;</span> );
+<a name="l00293"></a>00293 }
+<a name="l00294"></a>00294 <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> IsWhiteSpace( <span class="keywordtype">int</span> c )
+<a name="l00295"></a>00295 {
+<a name="l00296"></a>00296 <span class="keywordflow">if</span> ( c &lt; 256 )
+<a name="l00297"></a>00297 <span class="keywordflow">return</span> IsWhiteSpace( (<span class="keywordtype">char</span>) c );
+<a name="l00298"></a>00298 <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="l00299"></a>00299 }
+<a name="l00300"></a>00300
+<a name="l00301"></a>00301 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l00302"></a>00302 <span class="preprocessor"></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> StreamWhiteSpace( std::istream * in, TIXML_STRING * tag );
+<a name="l00303"></a>00303 <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="l00304"></a>00304 <span class="preprocessor"> #endif</span>
+<a name="l00305"></a>00305 <span class="preprocessor"></span>
+<a name="l00306"></a>00306 <span class="comment">/* Reads an XML name into the string provided. Returns</span>
+<a name="l00307"></a>00307 <span class="comment"> a pointer just past the last character of the name,</span>
+<a name="l00308"></a>00308 <span class="comment"> or 0 if the function has an error.</span>
+<a name="l00309"></a>00309 <span class="comment"> */</span>
+<a name="l00310"></a>00310 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* ReadName( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, TIXML_STRING* name, TiXmlEncoding encoding );
+<a name="l00311"></a>00311
+<a name="l00312"></a>00312 <span class="comment">/* Reads text. Returns a pointer past the given end tag.</span>
+<a name="l00313"></a>00313 <span class="comment"> Wickedly complex options, but it keeps the (sensitive) code in one place.</span>
+<a name="l00314"></a>00314 <span class="comment"> */</span>
+<a name="l00315"></a>00315 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* ReadText( <span class="keyword">const</span> <span class="keywordtype">char</span>* in, <span class="comment">// where to start</span>
+<a name="l00316"></a>00316 TIXML_STRING* text, <span class="comment">// the string read</span>
+<a name="l00317"></a>00317 <span class="keywordtype">bool</span> ignoreWhiteSpace, <span class="comment">// whether to keep the white space</span>
+<a name="l00318"></a>00318 <span class="keyword">const</span> <span class="keywordtype">char</span>* endTag, <span class="comment">// what ends this text</span>
+<a name="l00319"></a>00319 <span class="keywordtype">bool</span> ignoreCase, <span class="comment">// whether to ignore case in the end tag</span>
+<a name="l00320"></a>00320 TiXmlEncoding encoding ); <span class="comment">// the current encoding</span>
+<a name="l00321"></a>00321
+<a name="l00322"></a>00322 <span class="comment">// If an entity has been found, transform it into a character.</span>
+<a name="l00323"></a>00323 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* GetEntity( <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="l00324"></a>00324
+<a name="l00325"></a>00325 <span class="comment">// Get a character, while interpreting entities.</span>
+<a name="l00326"></a>00326 <span class="comment">// The length can be from 0 to 4 bytes.</span>
+<a name="l00327"></a>00327 <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* GetChar( <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="l00328"></a>00328 {
+<a name="l00329"></a>00329 assert( p );
+<a name="l00330"></a>00330 <span class="keywordflow">if</span> ( encoding == TIXML_ENCODING_UTF8 )
+<a name="l00331"></a>00331 {
+<a name="l00332"></a>00332 *length = utf8ByteTable[ *((<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)p) ];
+<a name="l00333"></a>00333 assert( *length &gt;= 0 &amp;&amp; *length &lt; 5 );
+<a name="l00334"></a>00334 }
+<a name="l00335"></a>00335 <span class="keywordflow">else</span>
+<a name="l00336"></a>00336 {
+<a name="l00337"></a>00337 *length = 1;
+<a name="l00338"></a>00338 }
+<a name="l00339"></a>00339
+<a name="l00340"></a>00340 <span class="keywordflow">if</span> ( *length == 1 )
+<a name="l00341"></a>00341 {
+<a name="l00342"></a>00342 <span class="keywordflow">if</span> ( *p == <span class="charliteral">&#39;&amp;&#39;</span> )
+<a name="l00343"></a>00343 <span class="keywordflow">return</span> GetEntity( p, _value, length, encoding );
+<a name="l00344"></a>00344 *_value = *p;
+<a name="l00345"></a>00345 <span class="keywordflow">return</span> p+1;
+<a name="l00346"></a>00346 }
+<a name="l00347"></a>00347 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( *length )
+<a name="l00348"></a>00348 {
+<a name="l00349"></a>00349 <span class="comment">//strncpy( _value, p, *length ); // lots of compilers don&#39;t like this function (unsafe),</span>
+<a name="l00350"></a>00350 <span class="comment">// and the null terminator isn&#39;t needed</span>
+<a name="l00351"></a>00351 <span class="keywordflow">for</span>( <span class="keywordtype">int</span> i=0; p[i] &amp;&amp; i&lt;*length; ++i ) {
+<a name="l00352"></a>00352 _value[i] = p[i];
+<a name="l00353"></a>00353 }
+<a name="l00354"></a>00354 <span class="keywordflow">return</span> p + (*length);
+<a name="l00355"></a>00355 }
+<a name="l00356"></a>00356 <span class="keywordflow">else</span>
+<a name="l00357"></a>00357 {
+<a name="l00358"></a>00358 <span class="comment">// Not valid text.</span>
+<a name="l00359"></a>00359 <span class="keywordflow">return</span> 0;
+<a name="l00360"></a>00360 }
+<a name="l00361"></a>00361 }
+<a name="l00362"></a>00362
+<a name="l00363"></a>00363 <span class="comment">// Return true if the next characters in the stream are any of the endTag sequences.</span>
+<a name="l00364"></a>00364 <span class="comment">// Ignore case only works for english, and should only be relied on when comparing</span>
+<a name="l00365"></a>00365 <span class="comment">// to English words: StringEqual( p, &quot;version&quot;, true ) is fine.</span>
+<a name="l00366"></a>00366 <span class="keyword">static</span> <span class="keywordtype">bool</span> StringEqual( <span class="keyword">const</span> <span class="keywordtype">char</span>* p,
+<a name="l00367"></a>00367 <span class="keyword">const</span> <span class="keywordtype">char</span>* endTag,
+<a name="l00368"></a>00368 <span class="keywordtype">bool</span> ignoreCase,
+<a name="l00369"></a>00369 TiXmlEncoding encoding );
+<a name="l00370"></a>00370
+<a name="l00371"></a>00371 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* errorString[ TIXML_ERROR_STRING_COUNT ];
+<a name="l00372"></a>00372
+<a name="l00373"></a>00373 TiXmlCursor location;
+<a name="l00374"></a>00374
+<a name="l00376"></a><a class="code" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c">00376</a> <span class="keywordtype">void</span>* <a class="code" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c" title="Field containing a generic user pointer.">userData</a>;
+<a name="l00377"></a>00377
+<a name="l00378"></a>00378 <span class="comment">// None of these methods are reliable for any language except English.</span>
+<a name="l00379"></a>00379 <span class="comment">// Good for approximation, not great for accuracy.</span>
+<a name="l00380"></a>00380 <span class="keyword">static</span> <span class="keywordtype">int</span> IsAlpha( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> anyByte, TiXmlEncoding encoding );
+<a name="l00381"></a>00381 <span class="keyword">static</span> <span class="keywordtype">int</span> IsAlphaNum( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> anyByte, TiXmlEncoding encoding );
+<a name="l00382"></a>00382 <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">int</span> ToLower( <span class="keywordtype">int</span> v, TiXmlEncoding encoding )
+<a name="l00383"></a>00383 {
+<a name="l00384"></a>00384 <span class="keywordflow">if</span> ( encoding == TIXML_ENCODING_UTF8 )
+<a name="l00385"></a>00385 {
+<a name="l00386"></a>00386 <span class="keywordflow">if</span> ( v &lt; 128 ) <span class="keywordflow">return</span> tolower( v );
+<a name="l00387"></a>00387 <span class="keywordflow">return</span> v;
+<a name="l00388"></a>00388 }
+<a name="l00389"></a>00389 <span class="keywordflow">else</span>
+<a name="l00390"></a>00390 {
+<a name="l00391"></a>00391 <span class="keywordflow">return</span> tolower( v );
+<a name="l00392"></a>00392 }
+<a name="l00393"></a>00393 }
+<a name="l00394"></a>00394 <span class="keyword">static</span> <span class="keywordtype">void</span> ConvertUTF32ToUTF8( <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="l00395"></a>00395
+<a name="l00396"></a>00396 <span class="keyword">private</span>:
+<a name="l00397"></a>00397 <a class="code" href="classTiXmlBase.html" title="TiXmlBase is a base class for every class in TinyXml.">TiXmlBase</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlBase.html" title="TiXmlBase is a base class for every class in TinyXml.">TiXmlBase</a>&amp; ); <span class="comment">// not implemented.</span>
+<a name="l00398"></a>00398 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlBase.html" title="TiXmlBase is a base class for every class in TinyXml.">TiXmlBase</a>&amp; base ); <span class="comment">// not allowed.</span>
+<a name="l00399"></a>00399
+<a name="l00400"></a>00400 <span class="keyword">struct </span>Entity
+<a name="l00401"></a>00401 {
+<a name="l00402"></a>00402 <span class="keyword">const</span> <span class="keywordtype">char</span>* str;
+<a name="l00403"></a>00403 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> strLength;
+<a name="l00404"></a>00404 <span class="keywordtype">char</span> chr;
+<a name="l00405"></a>00405 };
+<a name="l00406"></a>00406 <span class="keyword">enum</span>
+<a name="l00407"></a>00407 {
+<a name="l00408"></a>00408 NUM_ENTITY = 5,
+<a name="l00409"></a>00409 MAX_ENTITY_LENGTH = 6
+<a name="l00410"></a>00410
+<a name="l00411"></a>00411 };
+<a name="l00412"></a>00412 <span class="keyword">static</span> Entity entity[ NUM_ENTITY ];
+<a name="l00413"></a>00413 <span class="keyword">static</span> <span class="keywordtype">bool</span> condenseWhiteSpace;
+<a name="l00414"></a>00414 };
+<a name="l00415"></a>00415
+<a name="l00416"></a>00416
+<a name="l00423"></a><a class="code" href="classTiXmlNode.html">00423</a> <span class="keyword">class </span><a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlBase.html" title="TiXmlBase is a base class for every class in TinyXml.">TiXmlBase</a>
+<a name="l00424"></a>00424 {
+<a name="l00425"></a>00425 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>;
+<a name="l00426"></a>00426 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>;
+<a name="l00427"></a>00427
+<a name="l00428"></a>00428 <span class="keyword">public</span>:
+<a name="l00429"></a>00429 <span class="preprocessor"> #ifdef TIXML_USE_STL </span>
+<a name="l00430"></a>00430 <span class="preprocessor"></span>
+<a name="l00434"></a>00434 <span class="keyword">friend</span> std::istream&amp; <a class="code" href="classTiXmlNode.html#ab57bd426563c926844f65a78412e18b9" title="An input stream operator, for every class.">operator &gt;&gt; </a>(std::istream&amp; in, <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>&amp; base);
+<a name="l00435"></a>00435
+<a name="l00452"></a>00452 <span class="keyword">friend</span> std::ostream&amp; <a class="code" href="classTiXmlNode.html#a86cd49cfb17a844c0010b3136ac966c7" title="An output stream operator, for every class.">operator&lt;&lt; </a>(std::ostream&amp; out, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>&amp; base);
+<a name="l00453"></a>00453
+<a name="l00455"></a>00455 <span class="keyword">friend</span> std::string&amp; <a class="code" href="classTiXmlNode.html#a86cd49cfb17a844c0010b3136ac966c7" title="An output stream operator, for every class.">operator&lt;&lt; </a>(std::string&amp; out, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>&amp; base );
+<a name="l00456"></a>00456
+<a name="l00457"></a>00457 <span class="preprocessor"> #endif</span>
+<a name="l00458"></a>00458 <span class="preprocessor"></span>
+<a name="l00462"></a><a class="code" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2">00462</a> <span class="keyword">enum</span> <a class="code" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2" title="The types of XML nodes supported by TinyXml.">NodeType</a>
+<a name="l00463"></a>00463 {
+<a name="l00464"></a>00464 TINYXML_DOCUMENT,
+<a name="l00465"></a>00465 TINYXML_ELEMENT,
+<a name="l00466"></a>00466 TINYXML_COMMENT,
+<a name="l00467"></a>00467 TINYXML_UNKNOWN,
+<a name="l00468"></a>00468 TINYXML_TEXT,
+<a name="l00469"></a>00469 TINYXML_DECLARATION,
+<a name="l00470"></a>00470 TINYXML_TYPECOUNT
+<a name="l00471"></a>00471 };
+<a name="l00472"></a>00472
+<a name="l00473"></a>00473 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>();
+<a name="l00474"></a>00474
+<a name="l00487"></a><a class="code" href="classTiXmlNode.html#a77943eb90d12c2892b1337a9f5918b41">00487</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTiXmlNode.html#a77943eb90d12c2892b1337a9f5918b41" title="The meaning of &amp;#39;value&amp;#39; changes for the specific type of TiXmlNode.">Value</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value.c_str (); }
+<a name="l00488"></a>00488
+<a name="l00489"></a>00489 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l00490"></a>00490 <span class="preprocessor"></span>
+<a name="l00494"></a><a class="code" href="classTiXmlNode.html#a6d9e505619d39bf50bfd9609c9169ea5">00494</a> <span class="keyword">const</span> std::string&amp; <a class="code" href="classTiXmlNode.html#a6d9e505619d39bf50bfd9609c9169ea5" title="Return Value() as a std::string.">ValueStr</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value; }
+<a name="l00495"></a>00495 <span class="preprocessor"> #endif</span>
+<a name="l00496"></a>00496 <span class="preprocessor"></span>
+<a name="l00497"></a>00497 <span class="keyword">const</span> TIXML_STRING&amp; ValueTStr()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value; }
+<a name="l00498"></a>00498
+<a name="l00508"></a><a class="code" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90">00508</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90" title="Changes the value of the node.">SetValue</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * _value) { value = _value;}
+<a name="l00509"></a>00509
+<a name="l00510"></a>00510 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l00512"></a><a class="code" href="classTiXmlNode.html#a2598d5f448042c1abbeae4503dd45ff2">00512</a> <span class="preprocessor"> void SetValue( const std::string&amp; _value ) { value = _value; }</span>
+<a name="l00513"></a>00513 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
+<a name="l00514"></a>00514 <span class="preprocessor"></span>
+<a name="l00516"></a>00516 <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#a708e7f953df61d4d2d12f73171550a4b" title="Delete all the children of this node. Does not affect &amp;#39;this&amp;#39;.">Clear</a>();
+<a name="l00517"></a>00517
+<a name="l00519"></a><a class="code" href="classTiXmlNode.html#ab643043132ffd794f8602685d34a982e">00519</a> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#ab643043132ffd794f8602685d34a982e" title="One step up the DOM.">Parent</a>() { <span class="keywordflow">return</span> parent; }
+<a name="l00520"></a>00520 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#ab643043132ffd794f8602685d34a982e" title="One step up the DOM.">Parent</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> parent; }
+<a name="l00521"></a>00521
+<a name="l00522"></a><a class="code" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0">00522</a> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0" title="The first child of this node. Will be null if there are no children.">FirstChild</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> firstChild; }
+<a name="l00523"></a>00523 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0" title="The first child of this node. Will be null if there are no children.">FirstChild</a>() { <span class="keywordflow">return</span> firstChild; }
+<a name="l00524"></a>00524 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0" title="The first child of this node. Will be null if there are no children.">FirstChild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * value ) <span class="keyword">const</span>;
+<a name="l00525"></a>00525
+<a name="l00526"></a><a class="code" href="classTiXmlNode.html#abc8bf32be6419ec453a731868de19554">00526</a> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#abc8bf32be6419ec453a731868de19554" title="The first child of this node with the matching &amp;#39;value&amp;#39;. Will be null if none...">FirstChild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) {
+<a name="l00527"></a>00527 <span class="comment">// Call through to the const version - safe since nothing is changed. Exiting syntax: cast this to a const (always safe)</span>
+<a name="l00528"></a>00528 <span class="comment">// call the method, cast the return back to non-const.</span>
+<a name="l00529"></a>00529 <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <span class="keyword">&gt;</span> ((<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;FirstChild( _value ));
+<a name="l00530"></a>00530 }
+<a name="l00531"></a>00531 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* LastChild()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> lastChild; }
+<a name="l00532"></a><a class="code" href="classTiXmlNode.html#a6432d2b2495f6caf9cb4278df706a031">00532</a> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a6432d2b2495f6caf9cb4278df706a031" title="The last child of this node. Will be null if there are no children.">LastChild</a>() { <span class="keywordflow">return</span> lastChild; }
+<a name="l00533"></a>00533
+<a name="l00534"></a>00534 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* LastChild( <span class="keyword">const</span> <span class="keywordtype">char</span> * value ) <span class="keyword">const</span>;
+<a name="l00535"></a><a class="code" href="classTiXmlNode.html#abad5bf1059c48127b958711ef89e8e5d">00535</a> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#abad5bf1059c48127b958711ef89e8e5d" title="The last child of this node matching &amp;#39;value&amp;#39;. Will be null if there are no...">LastChild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) {
+<a name="l00536"></a>00536 <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <span class="keyword">&gt;</span> ((<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;LastChild( _value ));
+<a name="l00537"></a>00537 }
+<a name="l00538"></a>00538
+<a name="l00539"></a>00539 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l00540"></a><a class="code" href="classTiXmlNode.html#a07f6200a5956c723c5b52d70f29c46f6">00540</a> <span class="preprocessor"></span> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a07f6200a5956c723c5b52d70f29c46f6" title="STL std::string form.">FirstChild</a>( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a07f6200a5956c723c5b52d70f29c46f6" title="STL std::string form.">FirstChild</a> (_value.c_str ()); }
+<a name="l00541"></a><a class="code" href="classTiXmlNode.html#a10d2669ccb5e29e02fcb0e4408685ef6">00541</a> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a10d2669ccb5e29e02fcb0e4408685ef6" title="STL std::string form.">FirstChild</a>( <span class="keyword">const</span> std::string&amp; _value ) { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a10d2669ccb5e29e02fcb0e4408685ef6" title="STL std::string form.">FirstChild</a> (_value.c_str ()); }
+<a name="l00542"></a><a class="code" href="classTiXmlNode.html#a256d0cdbfcfeccae83f3a1c9747a8b63">00542</a> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a256d0cdbfcfeccae83f3a1c9747a8b63" title="STL std::string form.">LastChild</a>( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a256d0cdbfcfeccae83f3a1c9747a8b63" title="STL std::string form.">LastChild</a> (_value.c_str ()); }
+<a name="l00543"></a><a class="code" href="classTiXmlNode.html#a69772c9202f70553f940b15c06b07be3">00543</a> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a69772c9202f70553f940b15c06b07be3" title="STL std::string form.">LastChild</a>( <span class="keyword">const</span> std::string&amp; _value ) { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a69772c9202f70553f940b15c06b07be3" title="STL std::string form.">LastChild</a> (_value.c_str ()); }
+<a name="l00544"></a>00544 <span class="preprocessor"> #endif</span>
+<a name="l00545"></a>00545 <span class="preprocessor"></span>
+<a name="l00562"></a>00562 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a8621196ba3705fa226bef4a761cc51b6" title="An alternate way to walk the children of a node.">IterateChildren</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* previous ) <span class="keyword">const</span>;
+<a name="l00563"></a>00563 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a8621196ba3705fa226bef4a761cc51b6" title="An alternate way to walk the children of a node.">IterateChildren</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* previous ) {
+<a name="l00564"></a>00564 <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;IterateChildren( previous ) );
+<a name="l00565"></a>00565 }
+<a name="l00566"></a>00566
+<a name="l00568"></a>00568 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a8621196ba3705fa226bef4a761cc51b6" title="An alternate way to walk the children of a node.">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="The parent class for everything in the Document Object Model.">TiXmlNode</a>* previous ) <span class="keyword">const</span>;
+<a name="l00569"></a>00569 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a8621196ba3705fa226bef4a761cc51b6" title="An alternate way to walk the children of a node.">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="The parent class for everything in the Document Object Model.">TiXmlNode</a>* previous ) {
+<a name="l00570"></a>00570 <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;IterateChildren( _value, previous ) );
+<a name="l00571"></a>00571 }
+<a name="l00572"></a>00572
+<a name="l00573"></a>00573 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l00574"></a><a class="code" href="classTiXmlNode.html#a1cbaaf8e82c09ad763d52616d75724df">00574</a> <span class="preprocessor"></span> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a1cbaaf8e82c09ad763d52616d75724df" title="STL std::string form.">IterateChildren</a>( <span class="keyword">const</span> std::string&amp; _value, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* previous )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a1cbaaf8e82c09ad763d52616d75724df" title="STL std::string form.">IterateChildren</a> (_value.c_str (), previous); }
+<a name="l00575"></a><a class="code" href="classTiXmlNode.html#a16e9ad53e2f5445b14bf325c90aa862c">00575</a> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a16e9ad53e2f5445b14bf325c90aa862c" title="STL std::string form.">IterateChildren</a>( <span class="keyword">const</span> std::string&amp; _value, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* previous ) { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a16e9ad53e2f5445b14bf325c90aa862c" title="STL std::string form.">IterateChildren</a> (_value.c_str (), previous); }
+<a name="l00576"></a>00576 <span class="preprocessor"> #endif</span>
+<a name="l00577"></a>00577 <span class="preprocessor"></span>
+<a name="l00581"></a>00581 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#ad7d4630e1a2a916edda16be22448a8ba" title="Add a new node related to this.">InsertEndChild</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>&amp; addThis );
+<a name="l00582"></a>00582
+<a name="l00583"></a>00583
+<a name="l00593"></a>00593 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a5d29442ae46de6d0168429156197bfc6" title="Add a new node related to this.">LinkEndChild</a>( <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* addThis );
+<a name="l00594"></a>00594
+<a name="l00598"></a>00598 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a0c146fa2fff0157b681594102f48cbc7" title="Add a new node related to this.">InsertBeforeChild</a>( <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* beforeThis, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>&amp; addThis );
+<a name="l00599"></a>00599
+<a name="l00603"></a>00603 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#ad9b75e54ec19301c8b4d5ff583d0b3d5" title="Add a new node related to this.">InsertAfterChild</a>( <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* afterThis, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>&amp; addThis );
+<a name="l00604"></a>00604
+<a name="l00608"></a>00608 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a0c49e739a17b9938050c22cd89617fbd" title="Replace a child of this node.">ReplaceChild</a>( <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* replaceThis, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>&amp; withThis );
+<a name="l00609"></a>00609
+<a name="l00611"></a>00611 <span class="keywordtype">bool</span> <a class="code" href="classTiXmlNode.html#ae19d8510efc90596552f4feeac9a8fbf" title="Delete a child of this node.">RemoveChild</a>( <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* removeThis );
+<a name="l00612"></a>00612
+<a name="l00614"></a><a class="code" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10">00614</a> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10" title="Navigate to a sibling node.">PreviousSibling</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> prev; }
+<a name="l00615"></a>00615 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10" title="Navigate to a sibling node.">PreviousSibling</a>() { <span class="keywordflow">return</span> prev; }
+<a name="l00616"></a>00616
+<a name="l00618"></a>00618 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10" title="Navigate to a sibling node.">PreviousSibling</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * ) <span class="keyword">const</span>;
+<a name="l00619"></a>00619 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10" title="Navigate to a sibling node.">PreviousSibling</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *_prev ) {
+<a name="l00620"></a>00620 <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;PreviousSibling( _prev ) );
+<a name="l00621"></a>00621 }
+<a name="l00622"></a>00622
+<a name="l00623"></a>00623 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l00624"></a><a class="code" href="classTiXmlNode.html#a658276f57d35d5d4256d1dc1a2c398ab">00624</a> <span class="preprocessor"></span> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a658276f57d35d5d4256d1dc1a2c398ab" title="STL std::string form.">PreviousSibling</a>( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a658276f57d35d5d4256d1dc1a2c398ab" title="STL std::string form.">PreviousSibling</a> (_value.c_str ()); }
+<a name="l00625"></a><a class="code" href="classTiXmlNode.html#acc8a0434c7f401d4a3b6dee77c1a5912">00625</a> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#acc8a0434c7f401d4a3b6dee77c1a5912" title="STL std::string form.">PreviousSibling</a>( <span class="keyword">const</span> std::string&amp; _value ) { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#acc8a0434c7f401d4a3b6dee77c1a5912" title="STL std::string form.">PreviousSibling</a> (_value.c_str ()); }
+<a name="l00626"></a><a class="code" href="classTiXmlNode.html#a1b94d2f7fa7ab25a5a8e8d4340c449c9">00626</a> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a1b94d2f7fa7ab25a5a8e8d4340c449c9" title="STL std::string form.">NextSibling</a>( <span class="keyword">const</span> std::string&amp; _value)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a1b94d2f7fa7ab25a5a8e8d4340c449c9" title="STL std::string form.">NextSibling</a> (_value.c_str ()); }
+<a name="l00627"></a><a class="code" href="classTiXmlNode.html#a1757c1f4d01e8c9596ffdbd561c76aea">00627</a> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a1757c1f4d01e8c9596ffdbd561c76aea" title="STL std::string form.">NextSibling</a>( <span class="keyword">const</span> std::string&amp; _value) { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a1757c1f4d01e8c9596ffdbd561c76aea" title="STL std::string form.">NextSibling</a> (_value.c_str ()); }
+<a name="l00628"></a>00628 <span class="preprocessor"> #endif</span>
+<a name="l00629"></a>00629 <span class="preprocessor"></span>
+<a name="l00631"></a><a class="code" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e">00631</a> <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e" title="Navigate to a sibling node.">NextSibling</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> next; }
+<a name="l00632"></a>00632 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e" title="Navigate to a sibling node.">NextSibling</a>() { <span class="keywordflow">return</span> next; }
+<a name="l00633"></a>00633
+<a name="l00635"></a>00635 <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e" title="Navigate to a sibling node.">NextSibling</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * ) <span class="keyword">const</span>;
+<a name="l00636"></a>00636 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e" title="Navigate to a sibling node.">NextSibling</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _next ) {
+<a name="l00637"></a>00637 <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;NextSibling( _next ) );
+<a name="l00638"></a>00638 }
+<a name="l00639"></a>00639
+<a name="l00644"></a>00644 <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a73acf929d49d10bd0e5fb3d31b0372d1" title="Convenience function to get through elements.">NextSiblingElement</a>() <span class="keyword">const</span>;
+<a name="l00645"></a>00645 <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a73acf929d49d10bd0e5fb3d31b0372d1" title="Convenience function to get through elements.">NextSiblingElement</a>() {
+<a name="l00646"></a>00646 <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;NextSiblingElement() );
+<a name="l00647"></a>00647 }
+<a name="l00648"></a>00648
+<a name="l00653"></a>00653 <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a73acf929d49d10bd0e5fb3d31b0372d1" title="Convenience function to get through elements.">NextSiblingElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * ) <span class="keyword">const</span>;
+<a name="l00654"></a>00654 <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a73acf929d49d10bd0e5fb3d31b0372d1" title="Convenience function to get through elements.">NextSiblingElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *_next ) {
+<a name="l00655"></a>00655 <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;NextSiblingElement( _next ) );
+<a name="l00656"></a>00656 }
+<a name="l00657"></a>00657
+<a name="l00658"></a>00658 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l00659"></a><a class="code" href="classTiXmlNode.html#a7572d0af9d1e696ee3f05d8bb5ebb463">00659</a> <span class="preprocessor"></span> <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a7572d0af9d1e696ee3f05d8bb5ebb463" title="STL std::string form.">NextSiblingElement</a>( <span class="keyword">const</span> std::string&amp; _value)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a7572d0af9d1e696ee3f05d8bb5ebb463" title="STL std::string form.">NextSiblingElement</a> (_value.c_str ()); }
+<a name="l00660"></a><a class="code" href="classTiXmlNode.html#a506958e34406729a4e4c5326ea39d081">00660</a> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a506958e34406729a4e4c5326ea39d081" title="STL std::string form.">NextSiblingElement</a>( <span class="keyword">const</span> std::string&amp; _value) { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a506958e34406729a4e4c5326ea39d081" title="STL std::string form.">NextSiblingElement</a> (_value.c_str ()); }
+<a name="l00661"></a>00661 <span class="preprocessor"> #endif</span>
+<a name="l00662"></a>00662 <span class="preprocessor"></span>
+<a name="l00664"></a>00664 <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#af4fb652f6bd79ae0d5ce7d0f7d3c0fba" title="Convenience function to get through elements.">FirstChildElement</a>() <span class="keyword">const</span>;
+<a name="l00665"></a>00665 <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#af4fb652f6bd79ae0d5ce7d0f7d3c0fba" title="Convenience function to get through elements.">FirstChildElement</a>() {
+<a name="l00666"></a>00666 <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;FirstChildElement() );
+<a name="l00667"></a>00667 }
+<a name="l00668"></a>00668
+<a name="l00670"></a>00670 <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#af4fb652f6bd79ae0d5ce7d0f7d3c0fba" title="Convenience function to get through elements.">FirstChildElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) <span class="keyword">const</span>;
+<a name="l00671"></a>00671 <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#af4fb652f6bd79ae0d5ce7d0f7d3c0fba" title="Convenience function to get through elements.">FirstChildElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) {
+<a name="l00672"></a>00672 <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;FirstChildElement( _value ) );
+<a name="l00673"></a>00673 }
+<a name="l00674"></a>00674
+<a name="l00675"></a>00675 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l00676"></a><a class="code" href="classTiXmlNode.html#a327ad4bbd90073c5dfc931b07314f5f7">00676</a> <span class="preprocessor"></span> <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a327ad4bbd90073c5dfc931b07314f5f7" title="STL std::string form.">FirstChildElement</a>( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a327ad4bbd90073c5dfc931b07314f5f7" title="STL std::string form.">FirstChildElement</a> (_value.c_str ()); }
+<a name="l00677"></a><a class="code" href="classTiXmlNode.html#a7f1d7291880534c1e5cdeb392d8c1f45">00677</a> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a7f1d7291880534c1e5cdeb392d8c1f45" title="STL std::string form.">FirstChildElement</a>( <span class="keyword">const</span> std::string&amp; _value ) { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a7f1d7291880534c1e5cdeb392d8c1f45" title="STL std::string form.">FirstChildElement</a> (_value.c_str ()); }
+<a name="l00678"></a>00678 <span class="preprocessor"> #endif</span>
+<a name="l00679"></a>00679 <span class="preprocessor"></span>
+<a name="l00684"></a><a class="code" href="classTiXmlNode.html#a57b99d5c97d67a42b9752f5210a1ba5e">00684</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlNode.html#a57b99d5c97d67a42b9752f5210a1ba5e" title="Query the type (as an enumerated value, above) of this node.">Type</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> type; }
+<a name="l00685"></a>00685
+<a name="l00689"></a>00689 <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>* <a class="code" href="classTiXmlNode.html#a80e397fa973cf5323e33b07154b024f3" title="Return a pointer to the Document this node lives in.">GetDocument</a>() <span class="keyword">const</span>;
+<a name="l00690"></a>00690 <a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>* <a class="code" href="classTiXmlNode.html#a80e397fa973cf5323e33b07154b024f3" title="Return a pointer to the Document this node lives in.">GetDocument</a>() {
+<a name="l00691"></a>00691 <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;GetDocument() );
+<a name="l00692"></a>00692 }
+<a name="l00693"></a>00693
+<a name="l00695"></a><a class="code" href="classTiXmlNode.html#aeed21ad30630ef6e7faf096127edc9f3">00695</a> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlNode.html#aeed21ad30630ef6e7faf096127edc9f3" title="Returns true if this node has no children.">NoChildren</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !firstChild; }
+<a name="l00696"></a>00696
+<a name="l00697"></a><a class="code" href="classTiXmlNode.html#a8a4cda4b15c29f64cff419309aebed08">00697</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>* <a class="code" href="classTiXmlNode.html#a8a4cda4b15c29f64cff419309aebed08" title="Cast to a more defined type. Will return null if not of the requested type.">ToDocument</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; }
+<a name="l00698"></a><a class="code" href="classTiXmlNode.html#a72abed96dc9667ab9e0a2a275301bb1c">00698</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a72abed96dc9667ab9e0a2a275301bb1c" title="Cast to a more defined type. Will return null if not of the requested type.">ToElement</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; }
+<a name="l00699"></a><a class="code" href="classTiXmlNode.html#aa0a5086f9eaee910bbfdc7f975e26574">00699</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html" title="An XML comment.">TiXmlComment</a>* <a class="code" href="classTiXmlNode.html#aa0a5086f9eaee910bbfdc7f975e26574" title="Cast to a more defined type. Will return null if not of the requested type.">ToComment</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; }
+<a name="l00700"></a><a class="code" href="classTiXmlNode.html#afd7205cf31d7a376929f8a36930627a2">00700</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&amp;#39;t recognize is saved as an unknown.">TiXmlUnknown</a>* <a class="code" href="classTiXmlNode.html#afd7205cf31d7a376929f8a36930627a2" title="Cast to a more defined type. Will return null if not of the requested type.">ToUnknown</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; }
+<a name="l00701"></a><a class="code" href="classTiXmlNode.html#a95a46a52c525992d6b4ee08beb14cd69">00701</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#a95a46a52c525992d6b4ee08beb14cd69" title="Cast to a more defined type. Will return null if not of the requested type.">ToText</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; }
+<a name="l00702"></a><a class="code" href="classTiXmlNode.html#a9f43e6984fc7d4afd6eb32714c6b7b72">00702</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html" title="In correct XML the declaration is the first entry in the file.">TiXmlDeclaration</a>* <a class="code" href="classTiXmlNode.html#a9f43e6984fc7d4afd6eb32714c6b7b72" title="Cast to a more defined type. Will return null if not of the requested type.">ToDeclaration</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; }
+<a name="l00703"></a>00703
+<a name="l00704"></a><a class="code" href="classTiXmlNode.html#a6a4c8ac28ee7a745d059db6691e03bae">00704</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>* <a class="code" href="classTiXmlNode.html#a6a4c8ac28ee7a745d059db6691e03bae" title="Cast to a more defined type. Will return null if not of the requested type.">ToDocument</a>() { <span class="keywordflow">return</span> 0; }
+<a name="l00705"></a><a class="code" href="classTiXmlNode.html#aa65d000223187d22a4dcebd7479e9ebc">00705</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#aa65d000223187d22a4dcebd7479e9ebc" title="Cast to a more defined type. Will return null if not of the requested type.">ToElement</a>() { <span class="keywordflow">return</span> 0; }
+<a name="l00706"></a><a class="code" href="classTiXmlNode.html#a383e06a0787f7063953934867990f849">00706</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlComment.html" title="An XML comment.">TiXmlComment</a>* <a class="code" href="classTiXmlNode.html#a383e06a0787f7063953934867990f849" title="Cast to a more defined type. Will return null if not of the requested type.">ToComment</a>() { <span class="keywordflow">return</span> 0; }
+<a name="l00707"></a><a class="code" href="classTiXmlNode.html#a06de5af852668c7e4af0d09c205f0b0d">00707</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&amp;#39;t recognize is saved as an unknown.">TiXmlUnknown</a>* <a class="code" href="classTiXmlNode.html#a06de5af852668c7e4af0d09c205f0b0d" title="Cast to a more defined type. Will return null if not of the requested type.">ToUnknown</a>() { <span class="keywordflow">return</span> 0; }
+<a name="l00708"></a><a class="code" href="classTiXmlNode.html#a3ddfbcac78fbea041fad57e5c6d60a03">00708</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>* <a class="code" href="classTiXmlNode.html#a3ddfbcac78fbea041fad57e5c6d60a03" title="Cast to a more defined type. Will return null if not of the requested type.">ToText</a>() { <span class="keywordflow">return</span> 0; }
+<a name="l00709"></a><a class="code" href="classTiXmlNode.html#a4027136ca820ff4a636b607231b6a6df">00709</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlDeclaration.html" title="In correct XML the declaration is the first entry in the file.">TiXmlDeclaration</a>* <a class="code" href="classTiXmlNode.html#a4027136ca820ff4a636b607231b6a6df" title="Cast to a more defined type. Will return null if not of the requested type.">ToDeclaration</a>() { <span class="keywordflow">return</span> 0; }
+<a name="l00710"></a>00710
+<a name="l00714"></a>00714 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a4508cc3a2d7a98e96a54cc09c37a78a4" title="Create an exact duplicate of this node and return it.">Clone</a>() <span class="keyword">const</span> = 0;
+<a name="l00715"></a>00715
+<a name="l00738"></a>00738 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlNode.html#acc0f88b7462c6cb73809d410a4f5bb86" title="Accept a hierchical visit the nodes in the TinyXML DOM.">Accept</a>( <a class="code" href="classTiXmlVisitor.html" title="Implements the interface to the &amp;quot;Visitor pattern&amp;quot; (see the Accept() method...">TiXmlVisitor</a>* visitor ) <span class="keyword">const</span> = 0;
+<a name="l00739"></a>00739
+<a name="l00740"></a>00740 <span class="keyword">protected</span>:
+<a name="l00741"></a>00741 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2" title="The types of XML nodes supported by TinyXml.">NodeType</a> _type );
+<a name="l00742"></a>00742
+<a name="l00743"></a>00743 <span class="comment">// Copy to the allocated object. Shared functionality between Clone, Copy constructor,</span>
+<a name="l00744"></a>00744 <span class="comment">// and the assignment operator.</span>
+<a name="l00745"></a>00745 <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* target ) <span class="keyword">const</span>;
+<a name="l00746"></a>00746
+<a name="l00747"></a>00747 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l00748"></a>00748 <span class="preprocessor"></span> <span class="comment">// The real work of the input operator.</span>
+<a name="l00749"></a>00749 <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream* in, TIXML_STRING* tag ) = 0;
+<a name="l00750"></a>00750 <span class="preprocessor"> #endif</span>
+<a name="l00751"></a>00751 <span class="preprocessor"></span>
+<a name="l00752"></a>00752 <span class="comment">// Figure out what is at *p, and parse it. Returns null if it is not an xml node.</span>
+<a name="l00753"></a>00753 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* Identify( <span class="keyword">const</span> <span class="keywordtype">char</span>* start, TiXmlEncoding encoding );
+<a name="l00754"></a>00754
+<a name="l00755"></a>00755 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* parent;
+<a name="l00756"></a>00756 <a class="code" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2" title="The types of XML nodes supported by TinyXml.">NodeType</a> type;
+<a name="l00757"></a>00757
+<a name="l00758"></a>00758 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* firstChild;
+<a name="l00759"></a>00759 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* lastChild;
+<a name="l00760"></a>00760
+<a name="l00761"></a>00761 TIXML_STRING value;
+<a name="l00762"></a>00762
+<a name="l00763"></a>00763 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* prev;
+<a name="l00764"></a>00764 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* next;
+<a name="l00765"></a>00765
+<a name="l00766"></a>00766 <span class="keyword">private</span>:
+<a name="l00767"></a>00767 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>&amp; ); <span class="comment">// not implemented.</span>
+<a name="l00768"></a>00768 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>&amp; base ); <span class="comment">// not allowed.</span>
+<a name="l00769"></a>00769 };
+<a name="l00770"></a>00770
+<a name="l00771"></a>00771
+<a name="l00779"></a><a class="code" href="classTiXmlAttribute.html">00779</a> <span class="keyword">class </span><a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlBase.html" title="TiXmlBase is a base class for every class in TinyXml.">TiXmlBase</a>
+<a name="l00780"></a>00780 {
+<a name="l00781"></a>00781 <span class="keyword">friend</span> <span class="keyword">class </span>TiXmlAttributeSet;
+<a name="l00782"></a>00782
+<a name="l00783"></a>00783 <span class="keyword">public</span>:
+<a name="l00785"></a><a class="code" href="classTiXmlAttribute.html#a9cfa3c8179873fd485d83003b114f8e1">00785</a> <a class="code" href="classTiXmlAttribute.html#a9cfa3c8179873fd485d83003b114f8e1" title="Construct an empty attribute.">TiXmlAttribute</a>() : <a class="code" href="classTiXmlBase.html" title="TiXmlBase is a base class for every class in TinyXml.">TiXmlBase</a>()
+<a name="l00786"></a>00786 {
+<a name="l00787"></a>00787 document = 0;
+<a name="l00788"></a>00788 prev = next = 0;
+<a name="l00789"></a>00789 }
+<a name="l00790"></a>00790
+<a name="l00791"></a>00791 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l00793"></a><a class="code" href="classTiXmlAttribute.html#a052213522caac3979960e0714063861d">00793</a> <span class="preprocessor"> TiXmlAttribute( const std::string&amp; _name, const std::string&amp; _value )</span>
+<a name="l00794"></a>00794 <span class="preprocessor"></span> {
+<a name="l00795"></a>00795 name = _name;
+<a name="l00796"></a>00796 value = _value;
+<a name="l00797"></a>00797 document = 0;
+<a name="l00798"></a>00798 prev = next = 0;
+<a name="l00799"></a>00799 }
+<a name="l00800"></a>00800 <span class="preprocessor"> #endif</span>
+<a name="l00801"></a>00801 <span class="preprocessor"></span>
+<a name="l00803"></a><a class="code" href="classTiXmlAttribute.html#a759d0b76fb8fcf765ecab243bc14f05e">00803</a> <a class="code" href="classTiXmlAttribute.html#a9cfa3c8179873fd485d83003b114f8e1" title="Construct an empty attribute.">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="l00804"></a>00804 {
+<a name="l00805"></a>00805 name = _name;
+<a name="l00806"></a>00806 value = _value;
+<a name="l00807"></a>00807 document = 0;
+<a name="l00808"></a>00808 prev = next = 0;
+<a name="l00809"></a>00809 }
+<a name="l00810"></a>00810
+<a name="l00811"></a><a class="code" href="classTiXmlAttribute.html#a298a57287d305904ba6bd96ae6f78d3d">00811</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlAttribute.html#a298a57287d305904ba6bd96ae6f78d3d" title="Return the name of this attribute.">Name</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name.c_str(); }
+<a name="l00812"></a><a class="code" href="classTiXmlAttribute.html#a0f874490eac8ca00ee0070765d0e97e3">00812</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlAttribute.html#a0f874490eac8ca00ee0070765d0e97e3" title="Return the value of this attribute.">Value</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value.c_str(); }
+<a name="l00813"></a>00813 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l00814"></a><a class="code" href="classTiXmlAttribute.html#a87705c3ccf9ee9417beb4f7cbacd4d33">00814</a> <span class="preprocessor"></span> <span class="keyword">const</span> std::string&amp; <a class="code" href="classTiXmlAttribute.html#a87705c3ccf9ee9417beb4f7cbacd4d33" title="Return the value of this attribute.">ValueStr</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value; }
+<a name="l00815"></a>00815 <span class="preprocessor"> #endif</span>
+<a name="l00816"></a>00816 <span class="preprocessor"></span> <span class="keywordtype">int</span> <a class="code" href="classTiXmlAttribute.html#aa1a20ad59dc7e89a0ab265396360d50f" title="Return the value of this attribute, converted to an integer.">IntValue</a>() <span class="keyword">const</span>;
+<a name="l00817"></a>00817 <span class="keywordtype">double</span> <a class="code" href="classTiXmlAttribute.html#a2880ddef53fc7522c99535273954d230" title="Return the value of this attribute, converted to a double.">DoubleValue</a>() <span class="keyword">const</span>;
+<a name="l00818"></a>00818
+<a name="l00819"></a>00819 <span class="comment">// Get the tinyxml string representation</span>
+<a name="l00820"></a>00820 <span class="keyword">const</span> TIXML_STRING&amp; NameTStr()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name; }
+<a name="l00821"></a>00821
+<a name="l00831"></a>00831 <span class="keywordtype">int</span> <a class="code" href="classTiXmlAttribute.html#ad6c93088ee21af41a107931223339344" title="QueryIntValue examines the value string.">QueryIntValue</a>( <span class="keywordtype">int</span>* _value ) <span class="keyword">const</span>;
+<a name="l00833"></a>00833 <span class="keywordtype">int</span> <a class="code" href="classTiXmlAttribute.html#ac87b2a8489906a5d7aa2875f20be3513" title="QueryDoubleValue examines the value string. See QueryIntValue().">QueryDoubleValue</a>( <span class="keywordtype">double</span>* _value ) <span class="keyword">const</span>;
+<a name="l00834"></a>00834
+<a name="l00835"></a><a class="code" href="classTiXmlAttribute.html#ab7fa3d21ff8d7c5764cf9af15b667a99">00835</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#ab7fa3d21ff8d7c5764cf9af15b667a99" title="Set the name of this attribute.">SetName</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _name ) { name = _name; }
+<a name="l00836"></a><a class="code" href="classTiXmlAttribute.html#a2dae44178f668b3cb48101be4f2236a0">00836</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#a2dae44178f668b3cb48101be4f2236a0" title="Set the value.">SetValue</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _value ) { value = _value; }
+<a name="l00837"></a>00837
+<a name="l00838"></a>00838 <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#a7e065df640116a62ea4f4b7da5449cc8" title="Set the value from an integer.">SetIntValue</a>( <span class="keywordtype">int</span> _value );
+<a name="l00839"></a>00839 <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#a0316da31373496c4368ad549bf711394" title="Set the value from a double.">SetDoubleValue</a>( <span class="keywordtype">double</span> _value );
+<a name="l00840"></a>00840
+<a name="l00841"></a>00841 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l00843"></a><a class="code" href="classTiXmlAttribute.html#ab296ff0c9a8c701055cd257a8a976e57">00843</a> <span class="preprocessor"> void SetName( const std::string&amp; _name ) { name = _name; } </span>
+<a name="l00845"></a><a class="code" href="classTiXmlAttribute.html#ab43f67a0cc3ec1d80e62606500f0925f">00845</a> <span class="preprocessor"> void SetValue( const std::string&amp; _value ) { value = _value; }</span>
+<a name="l00846"></a>00846 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
+<a name="l00847"></a>00847 <span class="preprocessor"></span>
+<a name="l00849"></a>00849 <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* <a class="code" href="classTiXmlAttribute.html#a1c78e92e223a40843f644ba48ef69f67" title="Get the next sibling attribute in the DOM. Returns null at end.">Next</a>() <span class="keyword">const</span>;
+<a name="l00850"></a>00850 <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* <a class="code" href="classTiXmlAttribute.html#a1c78e92e223a40843f644ba48ef69f67" title="Get the next sibling attribute in the DOM. Returns null at end.">Next</a>() {
+<a name="l00851"></a>00851 <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;Next() );
+<a name="l00852"></a>00852 }
+<a name="l00853"></a>00853
+<a name="l00855"></a>00855 <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* <a class="code" href="classTiXmlAttribute.html#a6ebbfe333fe76cd834bd6cbcca3130cf" title="Get the previous sibling attribute in the DOM. Returns null at beginning.">Previous</a>() <span class="keyword">const</span>;
+<a name="l00856"></a>00856 <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* <a class="code" href="classTiXmlAttribute.html#a6ebbfe333fe76cd834bd6cbcca3130cf" title="Get the previous sibling attribute in the DOM. Returns null at beginning.">Previous</a>() {
+<a name="l00857"></a>00857 <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;Previous() );
+<a name="l00858"></a>00858 }
+<a name="l00859"></a>00859
+<a name="l00860"></a>00860 <span class="keywordtype">bool</span> operator==( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>&amp; rhs )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rhs.name == name; }
+<a name="l00861"></a>00861 <span class="keywordtype">bool</span> operator&lt;( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>&amp; rhs )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name &lt; rhs.name; }
+<a name="l00862"></a>00862 <span class="keywordtype">bool</span> operator&gt;( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>&amp; rhs )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name &gt; rhs.name; }
+<a name="l00863"></a>00863
+<a name="l00864"></a>00864 <span class="comment">/* Attribute parsing starts: first letter of the name</span>
+<a name="l00865"></a>00865 <span class="comment"> returns: the next char after the value end quote</span>
+<a name="l00866"></a>00866 <span class="comment"> */</span>
+<a name="l00867"></a>00867 <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="l00868"></a>00868
+<a name="l00869"></a>00869 <span class="comment">// Prints this Attribute to a FILE stream.</span>
+<a name="l00870"></a><a class="code" href="classTiXmlAttribute.html#acc04956c1d5c4c31fe74f7a7528d109a">00870</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#acc04956c1d5c4c31fe74f7a7528d109a" title="All TinyXml classes can print themselves to a filestream or the string class (TiXmlString...">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth )<span class="keyword"> const </span>{
+<a name="l00871"></a>00871 <a class="code" href="classTiXmlAttribute.html#acc04956c1d5c4c31fe74f7a7528d109a" title="All TinyXml classes can print themselves to a filestream or the string class (TiXmlString...">Print</a>( cfile, depth, 0 );
+<a name="l00872"></a>00872 }
+<a name="l00873"></a>00873 <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#acc04956c1d5c4c31fe74f7a7528d109a" title="All TinyXml classes can print themselves to a filestream or the string class (TiXmlString...">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth, TIXML_STRING* str ) <span class="keyword">const</span>;
+<a name="l00874"></a>00874
+<a name="l00875"></a>00875 <span class="comment">// [internal use]</span>
+<a name="l00876"></a>00876 <span class="comment">// Set the document pointer so the attribute can report errors.</span>
+<a name="l00877"></a>00877 <span class="keywordtype">void</span> SetDocument( <a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>* doc ) { document = doc; }
+<a name="l00878"></a>00878
+<a name="l00879"></a>00879 <span class="keyword">private</span>:
+<a name="l00880"></a>00880 <a class="code" href="classTiXmlAttribute.html#a9cfa3c8179873fd485d83003b114f8e1" title="Construct an empty attribute.">TiXmlAttribute</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>&amp; ); <span class="comment">// not implemented.</span>
+<a name="l00881"></a>00881 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>&amp; base ); <span class="comment">// not allowed.</span>
+<a name="l00882"></a>00882
+<a name="l00883"></a>00883 <a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>* document; <span class="comment">// A pointer back to a document, for error reporting.</span>
+<a name="l00884"></a>00884 TIXML_STRING name;
+<a name="l00885"></a>00885 TIXML_STRING value;
+<a name="l00886"></a>00886 <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* prev;
+<a name="l00887"></a>00887 <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* next;
+<a name="l00888"></a>00888 };
+<a name="l00889"></a>00889
+<a name="l00890"></a>00890
+<a name="l00891"></a>00891 <span class="comment">/* A class used to manage a group of attributes.</span>
+<a name="l00892"></a>00892 <span class="comment"> It is only used internally, both by the ELEMENT and the DECLARATION.</span>
+<a name="l00893"></a>00893 <span class="comment"> </span>
+<a name="l00894"></a>00894 <span class="comment"> The set can be changed transparent to the Element and Declaration</span>
+<a name="l00895"></a>00895 <span class="comment"> classes that use it, but NOT transparent to the Attribute</span>
+<a name="l00896"></a>00896 <span class="comment"> which has to implement a next() and previous() method. Which makes</span>
+<a name="l00897"></a>00897 <span class="comment"> it a bit problematic and prevents the use of STL.</span>
+<a name="l00898"></a>00898 <span class="comment"></span>
+<a name="l00899"></a>00899 <span class="comment"> This version is implemented with circular lists because:</span>
+<a name="l00900"></a>00900 <span class="comment"> - I like circular lists</span>
+<a name="l00901"></a>00901 <span class="comment"> - it demonstrates some independence from the (typical) doubly linked list.</span>
+<a name="l00902"></a>00902 <span class="comment">*/</span>
+<a name="l00903"></a>00903 <span class="keyword">class </span>TiXmlAttributeSet
+<a name="l00904"></a>00904 {
+<a name="l00905"></a>00905 <span class="keyword">public</span>:
+<a name="l00906"></a>00906 TiXmlAttributeSet();
+<a name="l00907"></a>00907 ~TiXmlAttributeSet();
+<a name="l00908"></a>00908
+<a name="l00909"></a>00909 <span class="keywordtype">void</span> Add( <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* attribute );
+<a name="l00910"></a>00910 <span class="keywordtype">void</span> Remove( <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* attribute );
+<a name="l00911"></a>00911
+<a name="l00912"></a>00912 <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* First()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ( sentinel.next == &amp;sentinel ) ? 0 : sentinel.next; }
+<a name="l00913"></a>00913 <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* First() { <span class="keywordflow">return</span> ( sentinel.next == &amp;sentinel ) ? 0 : sentinel.next; }
+<a name="l00914"></a>00914 <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* Last()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ( sentinel.prev == &amp;sentinel ) ? 0 : sentinel.prev; }
+<a name="l00915"></a>00915 <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* Last() { <span class="keywordflow">return</span> ( sentinel.prev == &amp;sentinel ) ? 0 : sentinel.prev; }
+<a name="l00916"></a>00916
+<a name="l00917"></a>00917 <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* Find( <span class="keyword">const</span> <span class="keywordtype">char</span>* _name ) <span class="keyword">const</span>;
+<a name="l00918"></a>00918 <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* FindOrCreate( <span class="keyword">const</span> <span class="keywordtype">char</span>* _name );
+<a name="l00919"></a>00919
+<a name="l00920"></a>00920 <span class="preprocessor"># ifdef TIXML_USE_STL</span>
+<a name="l00921"></a>00921 <span class="preprocessor"></span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* Find( <span class="keyword">const</span> std::string&amp; _name ) <span class="keyword">const</span>;
+<a name="l00922"></a>00922 <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* FindOrCreate( <span class="keyword">const</span> std::string&amp; _name );
+<a name="l00923"></a>00923 <span class="preprocessor"># endif</span>
+<a name="l00924"></a>00924 <span class="preprocessor"></span>
+<a name="l00925"></a>00925
+<a name="l00926"></a>00926 <span class="keyword">private</span>:
+<a name="l00927"></a>00927 <span class="comment">//*ME: Because of hidden/disabled copy-construktor in TiXmlAttribute (sentinel-element),</span>
+<a name="l00928"></a>00928 <span class="comment">//*ME: this class must be also use a hidden/disabled copy-constructor !!!</span>
+<a name="l00929"></a>00929 TiXmlAttributeSet( <span class="keyword">const</span> TiXmlAttributeSet&amp; ); <span class="comment">// not allowed</span>
+<a name="l00930"></a>00930 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> TiXmlAttributeSet&amp; ); <span class="comment">// not allowed (as TiXmlAttribute)</span>
+<a name="l00931"></a>00931
+<a name="l00932"></a>00932 <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a> sentinel;
+<a name="l00933"></a>00933 };
+<a name="l00934"></a>00934
+<a name="l00935"></a>00935
+<a name="l00940"></a><a class="code" href="classTiXmlElement.html">00940</a> <span class="keyword">class </span><a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>
+<a name="l00941"></a>00941 {
+<a name="l00942"></a>00942 <span class="keyword">public</span>:
+<a name="l00944"></a>00944 <a class="code" href="classTiXmlElement.html#a01bc3ab372d35da08efcbbe65ad90c60" title="Construct an element.">TiXmlElement</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * in_value);
+<a name="l00945"></a>00945
+<a name="l00946"></a>00946 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l00948"></a>00948 <span class="preprocessor"> TiXmlElement( const std::string&amp; _value );</span>
+<a name="l00949"></a>00949 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
+<a name="l00950"></a>00950 <span class="preprocessor"></span>
+<a name="l00951"></a>00951 <a class="code" href="classTiXmlElement.html#a01bc3ab372d35da08efcbbe65ad90c60" title="Construct an element.">TiXmlElement</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>&amp; );
+<a name="l00952"></a>00952
+<a name="l00953"></a>00953 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>&amp; base );
+<a name="l00954"></a>00954
+<a name="l00955"></a>00955 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>();
+<a name="l00956"></a>00956
+<a name="l00960"></a>00960 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#ae419a442a9701a62b0c3d8fd1cbdd12d" title="Given an attribute name, Attribute() returns the value for the attribute of that...">Attribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name ) <span class="keyword">const</span>;
+<a name="l00961"></a>00961
+<a name="l00968"></a>00968 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#ae419a442a9701a62b0c3d8fd1cbdd12d" title="Given an attribute name, Attribute() returns the value for the attribute of that...">Attribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">int</span>* i ) <span class="keyword">const</span>;
+<a name="l00969"></a>00969
+<a name="l00976"></a>00976 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#ae419a442a9701a62b0c3d8fd1cbdd12d" title="Given an attribute name, Attribute() returns the value for the attribute of that...">Attribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">double</span>* d ) <span class="keyword">const</span>;
+<a name="l00977"></a>00977
+<a name="l00985"></a>00985 <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#aea0bfe471380f281c5945770ddbf52b9" title="QueryIntAttribute examines the attribute - it is an alternative to the Attribute()...">QueryIntAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">int</span>* _value ) <span class="keyword">const</span>;
+<a name="l00987"></a>00987 <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#a898d7730ecc341f0bffc7a9dadbf1ce7" title="QueryDoubleAttribute examines the attribute - see QueryIntAttribute().">QueryDoubleAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">double</span>* _value ) <span class="keyword">const</span>;
+<a name="l00989"></a><a class="code" href="classTiXmlElement.html#aa04d3af11601ef5a5f88295203a843be">00989</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#aa04d3af11601ef5a5f88295203a843be" title="QueryFloatAttribute examines the attribute - see QueryIntAttribute().">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="l00990"></a>00990 <span class="keywordtype">double</span> d;
+<a name="l00991"></a>00991 <span class="keywordtype">int</span> result = <a class="code" href="classTiXmlElement.html#a898d7730ecc341f0bffc7a9dadbf1ce7" title="QueryDoubleAttribute examines the attribute - see QueryIntAttribute().">QueryDoubleAttribute</a>( name, &amp;d );
+<a name="l00992"></a>00992 <span class="keywordflow">if</span> ( result == TIXML_SUCCESS ) {
+<a name="l00993"></a>00993 *_value = (float)d;
+<a name="l00994"></a>00994 }
+<a name="l00995"></a>00995 <span class="keywordflow">return</span> result;
+<a name="l00996"></a>00996 }
+<a name="l00997"></a>00997
+<a name="l00998"></a>00998 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l01000"></a><a class="code" href="classTiXmlElement.html#a14321ac360efe906ed449d9db3fd9961">01000</a> <span class="preprocessor"> int QueryStringAttribute( const char* name, std::string* _value ) const {</span>
+<a name="l01001"></a>01001 <span class="preprocessor"></span> <span class="keyword">const</span> <span class="keywordtype">char</span>* cstr = <a class="code" href="classTiXmlElement.html#ae419a442a9701a62b0c3d8fd1cbdd12d" title="Given an attribute name, Attribute() returns the value for the attribute of that...">Attribute</a>( name );
+<a name="l01002"></a>01002 <span class="keywordflow">if</span> ( cstr ) {
+<a name="l01003"></a>01003 *_value = std::string( cstr );
+<a name="l01004"></a>01004 <span class="keywordflow">return</span> TIXML_SUCCESS;
+<a name="l01005"></a>01005 }
+<a name="l01006"></a>01006 <span class="keywordflow">return</span> TIXML_NO_ATTRIBUTE;
+<a name="l01007"></a>01007 }
+<a name="l01008"></a>01008
+<a name="l01017"></a><a class="code" href="classTiXmlElement.html#ae3b9a03b0a56663a40801c7256683576">01017</a> <span class="keyword">template</span>&lt; <span class="keyword">typename</span> T &gt; <span class="keywordtype">int</span> QueryValueAttribute( <span class="keyword">const</span> std::string&amp; name, T* outValue )<span class="keyword"> const</span>
+<a name="l01018"></a>01018 <span class="keyword"> </span>{
+<a name="l01019"></a>01019 <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* node = attributeSet.Find( name );
+<a name="l01020"></a>01020 <span class="keywordflow">if</span> ( !node )
+<a name="l01021"></a>01021 <span class="keywordflow">return</span> TIXML_NO_ATTRIBUTE;
+<a name="l01022"></a>01022
+<a name="l01023"></a>01023 std::stringstream sstream( node-&gt;<a class="code" href="classTiXmlAttribute.html#a87705c3ccf9ee9417beb4f7cbacd4d33" title="Return the value of this attribute.">ValueStr</a>() );
+<a name="l01024"></a>01024 sstream &gt;&gt; *outValue;
+<a name="l01025"></a>01025 <span class="keywordflow">if</span> ( !sstream.fail() )
+<a name="l01026"></a>01026 <span class="keywordflow">return</span> TIXML_SUCCESS;
+<a name="l01027"></a>01027 <span class="keywordflow">return</span> TIXML_WRONG_TYPE;
+<a name="l01028"></a>01028 }
+<a name="l01029"></a>01029
+<a name="l01030"></a>01030 <span class="keywordtype">int</span> QueryValueAttribute( <span class="keyword">const</span> std::string&amp; name, std::string* outValue )<span class="keyword"> const</span>
+<a name="l01031"></a>01031 <span class="keyword"> </span>{
+<a name="l01032"></a>01032 <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* node = attributeSet.Find( name );
+<a name="l01033"></a>01033 <span class="keywordflow">if</span> ( !node )
+<a name="l01034"></a>01034 <span class="keywordflow">return</span> TIXML_NO_ATTRIBUTE;
+<a name="l01035"></a>01035 *outValue = node-&gt;<a class="code" href="classTiXmlAttribute.html#a87705c3ccf9ee9417beb4f7cbacd4d33" title="Return the value of this attribute.">ValueStr</a>();
+<a name="l01036"></a>01036 <span class="keywordflow">return</span> TIXML_SUCCESS;
+<a name="l01037"></a>01037 }
+<a name="l01038"></a>01038 <span class="preprocessor"> #endif</span>
+<a name="l01039"></a>01039 <span class="preprocessor"></span>
+<a name="l01043"></a>01043 <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="l01044"></a>01044
+<a name="l01045"></a>01045 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l01046"></a>01046 <span class="preprocessor"></span> <span class="keyword">const</span> std::string* Attribute( <span class="keyword">const</span> std::string&amp; name ) <span class="keyword">const</span>;
+<a name="l01047"></a>01047 <span class="keyword">const</span> std::string* Attribute( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">int</span>* i ) <span class="keyword">const</span>;
+<a name="l01048"></a>01048 <span class="keyword">const</span> std::string* Attribute( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">double</span>* d ) <span class="keyword">const</span>;
+<a name="l01049"></a>01049 <span class="keywordtype">int</span> QueryIntAttribute( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">int</span>* _value ) <span class="keyword">const</span>;
+<a name="l01050"></a>01050 <span class="keywordtype">int</span> QueryDoubleAttribute( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">double</span>* _value ) <span class="keyword">const</span>;
+<a name="l01051"></a>01051
+<a name="l01053"></a>01053 <span class="keywordtype">void</span> SetAttribute( <span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> std::string&amp; _value );
+<a name="l01055"></a>01055 <span class="keywordtype">void</span> SetAttribute( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">int</span> _value );
+<a name="l01057"></a>01057 <span class="keywordtype">void</span> SetDoubleAttribute( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">double</span> value );
+<a name="l01058"></a>01058 <span class="preprocessor"> #endif</span>
+<a name="l01059"></a>01059 <span class="preprocessor"></span>
+<a name="l01063"></a>01063 <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="l01064"></a>01064
+<a name="l01068"></a>01068 <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="l01069"></a>01069
+<a name="l01072"></a>01072 <span class="keywordtype">void</span> RemoveAttribute( <span class="keyword">const</span> <span class="keywordtype">char</span> * name );
+<a name="l01073"></a>01073 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l01074"></a><a class="code" href="classTiXmlElement.html#a1afa6aea716511326a608e4c05df4f3a">01074</a> <span class="preprocessor"></span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a1afa6aea716511326a608e4c05df4f3a" title="STL std::string form.">RemoveAttribute</a>( <span class="keyword">const</span> std::string&amp; name ) { <a class="code" href="classTiXmlElement.html#a1afa6aea716511326a608e4c05df4f3a" title="STL std::string form.">RemoveAttribute</a> (name.c_str ()); }
+<a name="l01075"></a>01075 <span class="preprocessor"> #endif</span>
+<a name="l01076"></a>01076 <span class="preprocessor"></span>
+<a name="l01077"></a><a class="code" href="classTiXmlElement.html#a516054c9073647d6cb29b6abe9fa0592">01077</a> <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#a516054c9073647d6cb29b6abe9fa0592" title="Access the first attribute in this element.">FirstAttribute</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> attributeSet.First(); }
+<a name="l01078"></a>01078 <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* FirstAttribute() { <span class="keywordflow">return</span> attributeSet.First(); }
+<a name="l01079"></a><a class="code" href="classTiXmlElement.html#a86191b49f9177be132b85b14655f1381">01079</a> <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#a86191b49f9177be132b85b14655f1381" title="Access the last attribute in this element.">LastAttribute</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> attributeSet.Last(); }
+<a name="l01080"></a>01080 <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* LastAttribute() { <span class="keywordflow">return</span> attributeSet.Last(); }
+<a name="l01081"></a>01081
+<a name="l01114"></a>01114 <span class="keyword">const</span> <span class="keywordtype">char</span>* GetText() <span class="keyword">const</span>;
+<a name="l01115"></a>01115
+<a name="l01117"></a>01117 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* Clone() <span class="keyword">const</span>;
+<a name="l01118"></a>01118 <span class="comment">// Print the Element to a FILE stream.</span>
+<a name="l01119"></a>01119 <span class="keyword">virtual</span> <span class="keywordtype">void</span> Print( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>;
+<a name="l01120"></a>01120
+<a name="l01121"></a>01121 <span class="comment">/* Attribtue parsing starts: next char past &#39;&lt;&#39;</span>
+<a name="l01122"></a>01122 <span class="comment"> returns: next char past &#39;&gt;&#39;</span>
+<a name="l01123"></a>01123 <span class="comment"> */</span>
+<a name="l01124"></a>01124 <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="l01125"></a>01125
+<a name="l01126"></a><a class="code" href="classTiXmlElement.html#ac5b8d0e25fa23fd9acbb6d146082901c">01126</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlElement.html#ac5b8d0e25fa23fd9acbb6d146082901c" title="Cast to a more defined type. Will return null not of the requested type.">ToElement</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; }
+<a name="l01127"></a><a class="code" href="classTiXmlElement.html#a9def86337ea7a755eb41cac980f60c7a">01127</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlElement.html#a9def86337ea7a755eb41cac980f60c7a" title="Cast to a more defined type. Will return null not of the requested type.">ToElement</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; }
+<a name="l01128"></a>01128
+<a name="l01131"></a>01131 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> Accept( <a class="code" href="classTiXmlVisitor.html" title="Implements the interface to the &amp;quot;Visitor pattern&amp;quot; (see the Accept() method...">TiXmlVisitor</a>* visitor ) <span class="keyword">const</span>;
+<a name="l01132"></a>01132
+<a name="l01133"></a>01133 <span class="keyword">protected</span>:
+<a name="l01134"></a>01134
+<a name="l01135"></a>01135 <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* target ) <span class="keyword">const</span>;
+<a name="l01136"></a>01136 <span class="keywordtype">void</span> ClearThis(); <span class="comment">// like clear, but initializes &#39;this&#39; object as well</span>
+<a name="l01137"></a>01137
+<a name="l01138"></a>01138 <span class="comment">// Used to be public [internal use]</span>
+<a name="l01139"></a>01139 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l01140"></a>01140 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );
+<a name="l01141"></a>01141 <span class="preprocessor"> #endif</span>
+<a name="l01142"></a>01142 <span class="preprocessor"></span> <span class="comment">/* [internal use]</span>
+<a name="l01143"></a>01143 <span class="comment"> Reads the &quot;value&quot; of the element -- another element, or text.</span>
+<a name="l01144"></a>01144 <span class="comment"> This should terminate with the current end tag.</span>
+<a name="l01145"></a>01145 <span class="comment"> */</span>
+<a name="l01146"></a>01146 <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="l01147"></a>01147
+<a name="l01148"></a>01148 <span class="keyword">private</span>:
+<a name="l01149"></a>01149 TiXmlAttributeSet attributeSet;
+<a name="l01150"></a>01150 };
+<a name="l01151"></a>01151
+<a name="l01152"></a>01152
+<a name="l01155"></a><a class="code" href="classTiXmlComment.html">01155</a> <span class="keyword">class </span><a class="code" href="classTiXmlComment.html" title="An XML comment.">TiXmlComment</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>
+<a name="l01156"></a>01156 {
+<a name="l01157"></a>01157 <span class="keyword">public</span>:
+<a name="l01159"></a><a class="code" href="classTiXmlComment.html#aaa3252031d3e8bd3a2bf51a1c61201b7">01159</a> <a class="code" href="classTiXmlComment.html#aaa3252031d3e8bd3a2bf51a1c61201b7" title="Constructs an empty comment.">TiXmlComment</a>() : <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>::TINYXML_COMMENT ) {}
+<a name="l01161"></a><a class="code" href="classTiXmlComment.html#a37e7802ef17bc03ebe5ae79bf0713d47">01161</a> <a class="code" href="classTiXmlComment.html#a37e7802ef17bc03ebe5ae79bf0713d47" title="Construct a comment from text.">TiXmlComment</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _value ) : <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>::TINYXML_COMMENT ) {
+<a name="l01162"></a>01162 <a class="code" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90" title="Changes the value of the node.">SetValue</a>( _value );
+<a name="l01163"></a>01163 }
+<a name="l01164"></a>01164 <a class="code" href="classTiXmlComment.html#aaa3252031d3e8bd3a2bf51a1c61201b7" title="Constructs an empty comment.">TiXmlComment</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html" title="An XML comment.">TiXmlComment</a>&amp; );
+<a name="l01165"></a>01165 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html" title="An XML comment.">TiXmlComment</a>&amp; base );
+<a name="l01166"></a>01166
+<a name="l01167"></a>01167 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlComment.html" title="An XML comment.">TiXmlComment</a>() {}
+<a name="l01168"></a>01168
+<a name="l01170"></a>01170 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlComment.html#a0d6662bdc52488b9e12b3c7a0453d028" title="Returns a copy of this Comment.">Clone</a>() <span class="keyword">const</span>;
+<a name="l01171"></a>01171 <span class="comment">// Write this Comment to a FILE stream.</span>
+<a name="l01172"></a>01172 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlComment.html#a6b316527aaa8da0370cd68c22a5a0f5f" title="All TinyXml classes can print themselves to a filestream or the string class (TiXmlString...">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>;
+<a name="l01173"></a>01173
+<a name="l01174"></a>01174 <span class="comment">/* Attribtue parsing starts: at the ! of the !--</span>
+<a name="l01175"></a>01175 <span class="comment"> returns: next char past &#39;&gt;&#39;</span>
+<a name="l01176"></a>01176 <span class="comment"> */</span>
+<a name="l01177"></a>01177 <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="l01178"></a>01178
+<a name="l01179"></a><a class="code" href="classTiXmlComment.html#a00fb4215c20a2399ea05ac9b9e7e68a0">01179</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html" title="An XML comment.">TiXmlComment</a>* <a class="code" href="classTiXmlComment.html#a00fb4215c20a2399ea05ac9b9e7e68a0" title="Cast to a more defined type. Will return null not of the requested type.">ToComment</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; }
+<a name="l01180"></a><a class="code" href="classTiXmlComment.html#acc7c7e07e13c23f17797d642981511df">01180</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlComment.html" title="An XML comment.">TiXmlComment</a>* <a class="code" href="classTiXmlComment.html#acc7c7e07e13c23f17797d642981511df" title="Cast to a more defined type. Will return null not of the requested type.">ToComment</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; }
+<a name="l01181"></a>01181
+<a name="l01184"></a>01184 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlComment.html#af3ac1b99fbbe9ea4fb6e14146156e43e" title="Walk the XML tree visiting this node and all of its children.">Accept</a>( <a class="code" href="classTiXmlVisitor.html" title="Implements the interface to the &amp;quot;Visitor pattern&amp;quot; (see the Accept() method...">TiXmlVisitor</a>* visitor ) <span class="keyword">const</span>;
+<a name="l01185"></a>01185
+<a name="l01186"></a>01186 <span class="keyword">protected</span>:
+<a name="l01187"></a>01187 <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlComment.html" title="An XML comment.">TiXmlComment</a>* target ) <span class="keyword">const</span>;
+<a name="l01188"></a>01188
+<a name="l01189"></a>01189 <span class="comment">// used to be public</span>
+<a name="l01190"></a>01190 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l01191"></a>01191 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );
+<a name="l01192"></a>01192 <span class="preprocessor"> #endif</span>
+<a name="l01193"></a>01193 <span class="preprocessor"></span><span class="comment">// virtual void StreamOut( TIXML_OSTREAM * out ) const;</span>
+<a name="l01194"></a>01194
+<a name="l01195"></a>01195 <span class="keyword">private</span>:
+<a name="l01196"></a>01196
+<a name="l01197"></a>01197 };
+<a name="l01198"></a>01198
+<a name="l01199"></a>01199
+<a name="l01205"></a><a class="code" href="classTiXmlText.html">01205</a> <span class="keyword">class </span><a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>
+<a name="l01206"></a>01206 {
+<a name="l01207"></a>01207 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>;
+<a name="l01208"></a>01208 <span class="keyword">public</span>:
+<a name="l01213"></a><a class="code" href="classTiXmlText.html#af659e77c6b87d684827f35a8f4895960">01213</a> <a class="code" href="classTiXmlText.html#af659e77c6b87d684827f35a8f4895960" title="Constructor for text element.">TiXmlText</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * initValue ) : <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a> (<a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>::TINYXML_TEXT)
+<a name="l01214"></a>01214 {
+<a name="l01215"></a>01215 <a class="code" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90" title="Changes the value of the node.">SetValue</a>( initValue );
+<a name="l01216"></a>01216 cdata = <span class="keyword">false</span>;
+<a name="l01217"></a>01217 }
+<a name="l01218"></a>01218 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>() {}
+<a name="l01219"></a>01219
+<a name="l01220"></a>01220 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l01222"></a><a class="code" href="classTiXmlText.html#a439792f6183a3d3fb6f2bc2b16fa5691">01222</a> <span class="preprocessor"> TiXmlText( const std::string&amp; initValue ) : TiXmlNode (TiXmlNode::TINYXML_TEXT)</span>
+<a name="l01223"></a>01223 <span class="preprocessor"></span> {
+<a name="l01224"></a>01224 <a class="code" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90" title="Changes the value of the node.">SetValue</a>( initValue );
+<a name="l01225"></a>01225 cdata = <span class="keyword">false</span>;
+<a name="l01226"></a>01226 }
+<a name="l01227"></a>01227 <span class="preprocessor"> #endif</span>
+<a name="l01228"></a>01228 <span class="preprocessor"></span>
+<a name="l01229"></a>01229 <a class="code" href="classTiXmlText.html#af659e77c6b87d684827f35a8f4895960" title="Constructor for text element.">TiXmlText</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>&amp; copy ) : <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>::TINYXML_TEXT ) { copy.CopyTo( <span class="keyword">this</span> ); }
+<a name="l01230"></a>01230 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>&amp; base ) { base.CopyTo( <span class="keyword">this</span> ); }
+<a name="l01231"></a>01231
+<a name="l01232"></a>01232 <span class="comment">// Write this text object to a FILE stream.</span>
+<a name="l01233"></a>01233 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlText.html#a0cafbf6f236c7f02d12b2bffc2b7976b" title="All TinyXml classes can print themselves to a filestream or the string class (TiXmlString...">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>;
+<a name="l01234"></a>01234
+<a name="l01236"></a><a class="code" href="classTiXmlText.html#ad1a6a6b83fa2271022dd97c072a2b586">01236</a> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlText.html#ad1a6a6b83fa2271022dd97c072a2b586" title="Queries whether this represents text using a CDATA section.">CDATA</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> cdata; }
+<a name="l01238"></a><a class="code" href="classTiXmlText.html#acb17ff7c5d09b2c839393445a3de5ea9">01238</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlText.html#acb17ff7c5d09b2c839393445a3de5ea9" title="Turns on or off a CDATA representation of text.">SetCDATA</a>( <span class="keywordtype">bool</span> _cdata ) { cdata = _cdata; }
+<a name="l01239"></a>01239
+<a name="l01240"></a>01240 <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="l01241"></a>01241
+<a name="l01242"></a><a class="code" href="classTiXmlText.html#a895bf34ffad17f7439ab2a52b9651648">01242</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#a895bf34ffad17f7439ab2a52b9651648" title="Cast to a more defined type. Will return null not of the requested type.">ToText</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; }
+<a name="l01243"></a><a class="code" href="classTiXmlText.html#ae7c3a8fd3e4dbf6c0c4363a943d72f5b">01243</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>* <a class="code" href="classTiXmlText.html#ae7c3a8fd3e4dbf6c0c4363a943d72f5b" title="Cast to a more defined type. Will return null not of the requested type.">ToText</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; }
+<a name="l01244"></a>01244
+<a name="l01247"></a>01247 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlText.html#a8483d4415ce9de6c4fa8f63d067d5de6" title="Walk the XML tree visiting this node and all of its children.">Accept</a>( <a class="code" href="classTiXmlVisitor.html" title="Implements the interface to the &amp;quot;Visitor pattern&amp;quot; (see the Accept() method...">TiXmlVisitor</a>* content ) <span class="keyword">const</span>;
+<a name="l01248"></a>01248
+<a name="l01249"></a>01249 <span class="keyword">protected</span> :
+<a name="l01251"></a>01251 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlText.html#a0c411e93a27537369479d034cc82da3b" title="[internal use] Creates a new Element and returns it.">Clone</a>() <span class="keyword">const</span>;
+<a name="l01252"></a>01252 <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>* target ) <span class="keyword">const</span>;
+<a name="l01253"></a>01253
+<a name="l01254"></a>01254 <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="l01255"></a>01255 <span class="comment">// [internal use]</span>
+<a name="l01256"></a>01256 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l01257"></a>01257 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );
+<a name="l01258"></a>01258 <span class="preprocessor"> #endif</span>
+<a name="l01259"></a>01259 <span class="preprocessor"></span>
+<a name="l01260"></a>01260 <span class="keyword">private</span>:
+<a name="l01261"></a>01261 <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="l01262"></a>01262 };
+<a name="l01263"></a>01263
+<a name="l01264"></a>01264
+<a name="l01278"></a><a class="code" href="classTiXmlDeclaration.html">01278</a> <span class="keyword">class </span><a class="code" href="classTiXmlDeclaration.html" title="In correct XML the declaration is the first entry in the file.">TiXmlDeclaration</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>
+<a name="l01279"></a>01279 {
+<a name="l01280"></a>01280 <span class="keyword">public</span>:
+<a name="l01282"></a><a class="code" href="classTiXmlDeclaration.html#aa0484d059bea0ea1acb47c9094382d79">01282</a> <a class="code" href="classTiXmlDeclaration.html#aa0484d059bea0ea1acb47c9094382d79" title="Construct an empty declaration.">TiXmlDeclaration</a>() : <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>::TINYXML_DECLARATION ) {}
+<a name="l01283"></a>01283
+<a name="l01284"></a>01284 <span class="preprocessor">#ifdef TIXML_USE_STL</span>
+<a name="l01286"></a>01286 <span class="preprocessor"> TiXmlDeclaration( const std::string&amp; _version,</span>
+<a name="l01287"></a>01287 <span class="preprocessor"></span> <span class="keyword">const</span> std::string&amp; _encoding,
+<a name="l01288"></a>01288 <span class="keyword">const</span> std::string&amp; _standalone );
+<a name="l01289"></a>01289 <span class="preprocessor">#endif</span>
+<a name="l01290"></a>01290 <span class="preprocessor"></span>
+<a name="l01292"></a>01292 <a class="code" href="classTiXmlDeclaration.html#aa0484d059bea0ea1acb47c9094382d79" title="Construct an empty declaration.">TiXmlDeclaration</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _version,
+<a name="l01293"></a>01293 <span class="keyword">const</span> <span class="keywordtype">char</span>* _encoding,
+<a name="l01294"></a>01294 <span class="keyword">const</span> <span class="keywordtype">char</span>* _standalone );
+<a name="l01295"></a>01295
+<a name="l01296"></a>01296 <a class="code" href="classTiXmlDeclaration.html#aa0484d059bea0ea1acb47c9094382d79" title="Construct an empty declaration.">TiXmlDeclaration</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html" title="In correct XML the declaration is the first entry in the file.">TiXmlDeclaration</a>&amp; copy );
+<a name="l01297"></a>01297 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html" title="In correct XML the declaration is the first entry in the file.">TiXmlDeclaration</a>&amp; copy );
+<a name="l01298"></a>01298
+<a name="l01299"></a>01299 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlDeclaration.html" title="In correct XML the declaration is the first entry in the file.">TiXmlDeclaration</a>() {}
+<a name="l01300"></a>01300
+<a name="l01302"></a><a class="code" href="classTiXmlDeclaration.html#a02ee557b1a4545c3219ed377c103ec76">01302</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTiXmlDeclaration.html#a02ee557b1a4545c3219ed377c103ec76" title="Version. Will return an empty string if none was found.">Version</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> version.c_str (); }
+<a name="l01304"></a><a class="code" href="classTiXmlDeclaration.html#a5d974231f9e9a2f0542f15f3a46cdb76">01304</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTiXmlDeclaration.html#a5d974231f9e9a2f0542f15f3a46cdb76" title="Encoding. Will return an empty string if none was found.">Encoding</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> encoding.c_str (); }
+<a name="l01306"></a><a class="code" href="classTiXmlDeclaration.html#a9ff06afc033d7ef730ec7c6825b97ad9">01306</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTiXmlDeclaration.html#a9ff06afc033d7ef730ec7c6825b97ad9" title="Is this a standalone document?">Standalone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> standalone.c_str (); }
+<a name="l01307"></a>01307
+<a name="l01309"></a>01309 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlDeclaration.html#a7cf459186040141cda7a180a6585ce2e" title="Creates a copy of this Declaration and returns it.">Clone</a>() <span class="keyword">const</span>;
+<a name="l01310"></a>01310 <span class="comment">// Print this declaration to a FILE stream.</span>
+<a name="l01311"></a>01311 <span class="keyword">virtual</span> <span class="keywordtype">void</span> Print( FILE* cfile, <span class="keywordtype">int</span> depth, TIXML_STRING* str ) <span class="keyword">const</span>;
+<a name="l01312"></a><a class="code" href="classTiXmlDeclaration.html#abf6303db4bd05b5be554036817ff1cb4">01312</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlDeclaration.html#abf6303db4bd05b5be554036817ff1cb4" title="All TinyXml classes can print themselves to a filestream or the string class (TiXmlString...">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth )<span class="keyword"> const </span>{
+<a name="l01313"></a>01313 Print( cfile, depth, 0 );
+<a name="l01314"></a>01314 }
+<a name="l01315"></a>01315
+<a name="l01316"></a>01316 <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="l01317"></a>01317
+<a name="l01318"></a><a class="code" href="classTiXmlDeclaration.html#a1e085d3fefd1dbf5ccdbff729931a967">01318</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html" title="In correct XML the declaration is the first entry in the file.">TiXmlDeclaration</a>* <a class="code" href="classTiXmlDeclaration.html#a1e085d3fefd1dbf5ccdbff729931a967" title="Cast to a more defined type. Will return null not of the requested type.">ToDeclaration</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; }
+<a name="l01319"></a><a class="code" href="classTiXmlDeclaration.html#a6bd3d1daddcaeb9543c24bfd090969ce">01319</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlDeclaration.html" title="In correct XML the declaration is the first entry in the file.">TiXmlDeclaration</a>* <a class="code" href="classTiXmlDeclaration.html#a6bd3d1daddcaeb9543c24bfd090969ce" title="Cast to a more defined type. Will return null not of the requested type.">ToDeclaration</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; }
+<a name="l01320"></a>01320
+<a name="l01323"></a>01323 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDeclaration.html#a22315a535983b86535cdba3458669e3e" title="Walk the XML tree visiting this node and all of its children.">Accept</a>( <a class="code" href="classTiXmlVisitor.html" title="Implements the interface to the &amp;quot;Visitor pattern&amp;quot; (see the Accept() method...">TiXmlVisitor</a>* visitor ) <span class="keyword">const</span>;
+<a name="l01324"></a>01324
+<a name="l01325"></a>01325 <span class="keyword">protected</span>:
+<a name="l01326"></a>01326 <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlDeclaration.html" title="In correct XML the declaration is the first entry in the file.">TiXmlDeclaration</a>* target ) <span class="keyword">const</span>;
+<a name="l01327"></a>01327 <span class="comment">// used to be public</span>
+<a name="l01328"></a>01328 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l01329"></a>01329 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );
+<a name="l01330"></a>01330 <span class="preprocessor"> #endif</span>
+<a name="l01331"></a>01331 <span class="preprocessor"></span>
+<a name="l01332"></a>01332 <span class="keyword">private</span>:
+<a name="l01333"></a>01333
+<a name="l01334"></a>01334 TIXML_STRING version;
+<a name="l01335"></a>01335 TIXML_STRING encoding;
+<a name="l01336"></a>01336 TIXML_STRING standalone;
+<a name="l01337"></a>01337 };
+<a name="l01338"></a>01338
+<a name="l01339"></a>01339
+<a name="l01347"></a><a class="code" href="classTiXmlUnknown.html">01347</a> <span class="keyword">class </span><a class="code" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&amp;#39;t recognize is saved as an unknown.">TiXmlUnknown</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>
+<a name="l01348"></a>01348 {
+<a name="l01349"></a>01349 <span class="keyword">public</span>:
+<a name="l01350"></a>01350 <a class="code" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&amp;#39;t recognize is saved as an unknown.">TiXmlUnknown</a>() : <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>( TiXmlNode::TINYXML_UNKNOWN ) {}
+<a name="l01351"></a>01351 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&amp;#39;t recognize is saved as an unknown.">TiXmlUnknown</a>() {}
+<a name="l01352"></a>01352
+<a name="l01353"></a>01353 <a class="code" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&amp;#39;t recognize is saved as an unknown.">TiXmlUnknown</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&amp;#39;t recognize is saved as an unknown.">TiXmlUnknown</a>&amp; copy ) : <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>( TiXmlNode::TINYXML_UNKNOWN ) { copy.CopyTo( <span class="keyword">this</span> ); }
+<a name="l01354"></a>01354 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&amp;#39;t recognize is saved as an unknown.">TiXmlUnknown</a>&amp; copy ) { copy.CopyTo( <span class="keyword">this</span> ); }
+<a name="l01355"></a>01355
+<a name="l01357"></a>01357 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlUnknown.html#a0960bb7428b3f341da46244229604d73" title="Creates a copy of this Unknown and returns it.">Clone</a>() <span class="keyword">const</span>;
+<a name="l01358"></a>01358 <span class="comment">// Print this Unknown to a FILE stream.</span>
+<a name="l01359"></a>01359 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlUnknown.html#a31ba089a40fb5a1869750fce09b0bacb" title="All TinyXml classes can print themselves to a filestream or the string class (TiXmlString...">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>;
+<a name="l01360"></a>01360
+<a name="l01361"></a>01361 <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="l01362"></a>01362
+<a name="l01363"></a><a class="code" href="classTiXmlUnknown.html#ab0313e5fe77987d746ac1a97a254419d">01363</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&amp;#39;t recognize is saved as an unknown.">TiXmlUnknown</a>* <a class="code" href="classTiXmlUnknown.html#ab0313e5fe77987d746ac1a97a254419d" title="Cast to a more defined type. Will return null not of the requested type.">ToUnknown</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; }
+<a name="l01364"></a><a class="code" href="classTiXmlUnknown.html#a67c9fd22940e8c47f706a72cdd2e332c">01364</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&amp;#39;t recognize is saved as an unknown.">TiXmlUnknown</a>* <a class="code" href="classTiXmlUnknown.html#a67c9fd22940e8c47f706a72cdd2e332c" title="Cast to a more defined type. Will return null not of the requested type.">ToUnknown</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; }
+<a name="l01365"></a>01365
+<a name="l01368"></a>01368 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlUnknown.html#ad7122e5135581b3c832a1a3217760a93" title="Walk the XML tree visiting this node and all of its children.">Accept</a>( <a class="code" href="classTiXmlVisitor.html" title="Implements the interface to the &amp;quot;Visitor pattern&amp;quot; (see the Accept() method...">TiXmlVisitor</a>* content ) <span class="keyword">const</span>;
+<a name="l01369"></a>01369
+<a name="l01370"></a>01370 <span class="keyword">protected</span>:
+<a name="l01371"></a>01371 <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&amp;#39;t recognize is saved as an unknown.">TiXmlUnknown</a>* target ) <span class="keyword">const</span>;
+<a name="l01372"></a>01372
+<a name="l01373"></a>01373 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l01374"></a>01374 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );
+<a name="l01375"></a>01375 <span class="preprocessor"> #endif</span>
+<a name="l01376"></a>01376 <span class="preprocessor"></span>
+<a name="l01377"></a>01377 <span class="keyword">private</span>:
+<a name="l01378"></a>01378
+<a name="l01379"></a>01379 };
+<a name="l01380"></a>01380
+<a name="l01381"></a>01381
+<a name="l01386"></a><a class="code" href="classTiXmlDocument.html">01386</a> <span class="keyword">class </span><a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>
+<a name="l01387"></a>01387 {
+<a name="l01388"></a>01388 <span class="keyword">public</span>:
+<a name="l01390"></a>01390 <a class="code" href="classTiXmlDocument.html#a9f5e84335708fde98400230f9f12659c" title="Create an empty document, that has no name.">TiXmlDocument</a>();
+<a name="l01392"></a>01392 <a class="code" href="classTiXmlDocument.html#a9f5e84335708fde98400230f9f12659c" title="Create an empty document, that has no name.">TiXmlDocument</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * documentName );
+<a name="l01393"></a>01393
+<a name="l01394"></a>01394 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l01396"></a>01396 <span class="preprocessor"> TiXmlDocument( const std::string&amp; documentName );</span>
+<a name="l01397"></a>01397 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
+<a name="l01398"></a>01398 <span class="preprocessor"></span>
+<a name="l01399"></a>01399 <a class="code" href="classTiXmlDocument.html#a9f5e84335708fde98400230f9f12659c" title="Create an empty document, that has no name.">TiXmlDocument</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>&amp; copy );
+<a name="l01400"></a>01400 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>&amp; copy );
+<a name="l01401"></a>01401
+<a name="l01402"></a>01402 <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>() {}
+<a name="l01403"></a>01403
+<a name="l01408"></a>01408 <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a4c852a889c02cf251117fd1d9fe1845f" title="Load a file using the current document value.">LoadFile</a>( TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
+<a name="l01410"></a>01410 <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a21c0aeb0d0a720169ad4ac89523ebe93" title="Save a file using the current document value. Returns true if successful.">SaveFile</a>() <span class="keyword">const</span>;
+<a name="l01412"></a>01412 <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a4c852a889c02cf251117fd1d9fe1845f" title="Load a file using the current document value.">LoadFile</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
+<a name="l01414"></a>01414 <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a21c0aeb0d0a720169ad4ac89523ebe93" title="Save a file using the current document value. Returns true if successful.">SaveFile</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * filename ) <span class="keyword">const</span>;
+<a name="l01420"></a>01420 <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a4c852a889c02cf251117fd1d9fe1845f" title="Load a file using the current document value.">LoadFile</a>( FILE*, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
+<a name="l01422"></a>01422 <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a21c0aeb0d0a720169ad4ac89523ebe93" title="Save a file using the current document value. Returns true if successful.">SaveFile</a>( FILE* ) <span class="keyword">const</span>;
+<a name="l01423"></a>01423
+<a name="l01424"></a>01424 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l01425"></a><a class="code" href="classTiXmlDocument.html#a18ae6ed34fed7991ebc220862dfac884">01425</a> <span class="preprocessor"></span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a4c852a889c02cf251117fd1d9fe1845f" title="Load a file using the current document value.">LoadFile</a>( <span class="keyword">const</span> std::string&amp; filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING )
+<a name="l01426"></a>01426 {
+<a name="l01427"></a>01427 <span class="keywordflow">return</span> <a class="code" href="classTiXmlDocument.html#a4c852a889c02cf251117fd1d9fe1845f" title="Load a file using the current document value.">LoadFile</a>( filename.c_str(), encoding );
+<a name="l01428"></a>01428 }
+<a name="l01429"></a><a class="code" href="classTiXmlDocument.html#a3d4fae0463f3f03679ba0b7cf6f2df52">01429</a> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a21c0aeb0d0a720169ad4ac89523ebe93" title="Save a file using the current document value. Returns true if successful.">SaveFile</a>( <span class="keyword">const</span> std::string&amp; filename ) <span class="keyword">const</span>
+<a name="l01430"></a>01430 {
+<a name="l01431"></a>01431 <span class="keywordflow">return</span> <a class="code" href="classTiXmlDocument.html#a21c0aeb0d0a720169ad4ac89523ebe93" title="Save a file using the current document value. Returns true if successful.">SaveFile</a>( filename.c_str() );
+<a name="l01432"></a>01432 }
+<a name="l01433"></a>01433 <span class="preprocessor"> #endif</span>
+<a name="l01434"></a>01434 <span class="preprocessor"></span>
+<a name="l01439"></a>01439 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlDocument.html#a17ebabe36926ef398e78dec0d0ad0378" title="Parse the given null terminated block of xml data.">Parse</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, TiXmlParsingData* data = 0, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
+<a name="l01440"></a>01440
+<a name="l01445"></a><a class="code" href="classTiXmlDocument.html#ad09d17927f908f40efb406af2fb873be">01445</a> <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlDocument.html#ad09d17927f908f40efb406af2fb873be" title="Get the root element -- the only top level element -- of the document.">RootElement</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#af4fb652f6bd79ae0d5ce7d0f7d3c0fba" title="Convenience function to get through elements.">FirstChildElement</a>(); }
+<a name="l01446"></a>01446 <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlDocument.html#ad09d17927f908f40efb406af2fb873be" title="Get the root element -- the only top level element -- of the document.">RootElement</a>() { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#af4fb652f6bd79ae0d5ce7d0f7d3c0fba" title="Convenience function to get through elements.">FirstChildElement</a>(); }
+<a name="l01447"></a>01447
+<a name="l01453"></a><a class="code" href="classTiXmlDocument.html#a6dfc01a6e5d58e56acd537dfd3bdeb29">01453</a> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a6dfc01a6e5d58e56acd537dfd3bdeb29" title="If an error occurs, Error will be set to true.">Error</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> error; }
+<a name="l01454"></a>01454
+<a name="l01456"></a><a class="code" href="classTiXmlDocument.html#a9d0f689f6e09ea494ea547be8d79c25e">01456</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classTiXmlDocument.html#a9d0f689f6e09ea494ea547be8d79c25e" title="Contains a textual (english) description of the error if one occurs.">ErrorDesc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> errorDesc.c_str (); }
+<a name="l01457"></a>01457
+<a name="l01461"></a><a class="code" href="classTiXmlDocument.html#af96fc2f3f9ec6422782bfe916c9e778f">01461</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlDocument.html#af96fc2f3f9ec6422782bfe916c9e778f" title="Generally, you probably want the error string ( ErrorDesc() ).">ErrorId</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> errorId; }
+<a name="l01462"></a>01462
+<a name="l01470"></a><a class="code" href="classTiXmlDocument.html#af30efc75e804aa2e92fb8be3a8cb676e">01470</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlDocument.html#af30efc75e804aa2e92fb8be3a8cb676e" title="Returns the location (if known) of the error.">ErrorRow</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> errorLocation.row+1; }
+<a name="l01471"></a><a class="code" href="classTiXmlDocument.html#aa90bc630ee5203c6109ca5fad3323649">01471</a> <span class="keywordtype">int</span> <a class="code" href="classTiXmlDocument.html#aa90bc630ee5203c6109ca5fad3323649" title="The column where the error occured. See ErrorRow().">ErrorCol</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> errorLocation.col+1; }
+<a name="l01472"></a>01472
+<a name="l01497"></a><a class="code" href="classTiXmlDocument.html#a51dac56316f89b35bdb7d0d433ba988e">01497</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlDocument.html#a51dac56316f89b35bdb7d0d433ba988e" title="SetTabSize() allows the error reporting functions (ErrorRow() and ErrorCol()) to...">SetTabSize</a>( <span class="keywordtype">int</span> _tabsize ) { tabsize = _tabsize; }
+<a name="l01498"></a>01498
+<a name="l01499"></a>01499 <span class="keywordtype">int</span> TabSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> tabsize; }
+<a name="l01500"></a>01500
+<a name="l01504"></a><a class="code" href="classTiXmlDocument.html#ac66b8c28db86363315712a3574e87c35">01504</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlDocument.html#ac66b8c28db86363315712a3574e87c35" title="If you have handled the error, it can be reset with this call.">ClearError</a>() { error = <span class="keyword">false</span>;
+<a name="l01505"></a>01505 errorId = 0;
+<a name="l01506"></a>01506 errorDesc = <span class="stringliteral">&quot;&quot;</span>;
+<a name="l01507"></a>01507 errorLocation.row = errorLocation.col = 0;
+<a name="l01508"></a>01508 <span class="comment">//errorLocation.last = 0; </span>
+<a name="l01509"></a>01509 }
+<a name="l01510"></a>01510
+<a name="l01512"></a><a class="code" href="classTiXmlDocument.html#af08389ec70ee9b2de7f800e206a18510">01512</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlDocument.html#af08389ec70ee9b2de7f800e206a18510" title="Write the document to standard out using formatted printing (&amp;quot;pretty print&amp;quot;)...">Print</a>()<span class="keyword"> const </span>{ <a class="code" href="classTiXmlDocument.html#af08389ec70ee9b2de7f800e206a18510" title="Write the document to standard out using formatted printing (&amp;quot;pretty print&amp;quot;)...">Print</a>( stdout, 0 ); }
+<a name="l01513"></a>01513
+<a name="l01514"></a>01514 <span class="comment">/* Write the document to a string using formatted printing (&quot;pretty print&quot;). This</span>
+<a name="l01515"></a>01515 <span class="comment"> will allocate a character array (new char[]) and return it as a pointer. The</span>
+<a name="l01516"></a>01516 <span class="comment"> calling code pust call delete[] on the return char* to avoid a memory leak.</span>
+<a name="l01517"></a>01517 <span class="comment"> */</span>
+<a name="l01518"></a>01518 <span class="comment">//char* PrintToMemory() const; </span>
+<a name="l01519"></a>01519
+<a name="l01521"></a>01521 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlDocument.html#af08389ec70ee9b2de7f800e206a18510" title="Write the document to standard out using formatted printing (&amp;quot;pretty print&amp;quot;)...">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth = 0 ) <span class="keyword">const</span>;
+<a name="l01522"></a>01522 <span class="comment">// [internal use]</span>
+<a name="l01523"></a>01523 <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="l01524"></a>01524
+<a name="l01525"></a><a class="code" href="classTiXmlDocument.html#a1dc977bde3e4fe85a8eb9d88a35ef5a4">01525</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>* <a class="code" href="classTiXmlDocument.html#a1dc977bde3e4fe85a8eb9d88a35ef5a4" title="Cast to a more defined type. Will return null not of the requested type.">ToDocument</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; }
+<a name="l01526"></a><a class="code" href="classTiXmlDocument.html#a1025d942a1f328fd742d545e37efdd42">01526</a> <span class="keyword">virtual</span> <a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>* <a class="code" href="classTiXmlDocument.html#a1025d942a1f328fd742d545e37efdd42" title="Cast to a more defined type. Will return null not of the requested type.">ToDocument</a>() { <span class="keywordflow">return</span> <span class="keyword">this</span>; }
+<a name="l01527"></a>01527
+<a name="l01530"></a>01530 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#aa545aae325d9752ad64120bc4ecf939a" title="Walk the XML tree visiting this node and all of its children.">Accept</a>( <a class="code" href="classTiXmlVisitor.html" title="Implements the interface to the &amp;quot;Visitor pattern&amp;quot; (see the Accept() method...">TiXmlVisitor</a>* content ) <span class="keyword">const</span>;
+<a name="l01531"></a>01531
+<a name="l01532"></a>01532 <span class="keyword">protected</span> :
+<a name="l01533"></a>01533 <span class="comment">// [internal use]</span>
+<a name="l01534"></a>01534 <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlDocument.html#a4968661cab4a1f44a23329c6f8db1907" title="Create an exact duplicate of this node and return it.">Clone</a>() <span class="keyword">const</span>;
+<a name="l01535"></a>01535 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l01536"></a>01536 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );
+<a name="l01537"></a>01537 <span class="preprocessor"> #endif</span>
+<a name="l01538"></a>01538 <span class="preprocessor"></span>
+<a name="l01539"></a>01539 <span class="keyword">private</span>:
+<a name="l01540"></a>01540 <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>* target ) <span class="keyword">const</span>;
+<a name="l01541"></a>01541
+<a name="l01542"></a>01542 <span class="keywordtype">bool</span> error;
+<a name="l01543"></a>01543 <span class="keywordtype">int</span> errorId;
+<a name="l01544"></a>01544 TIXML_STRING errorDesc;
+<a name="l01545"></a>01545 <span class="keywordtype">int</span> tabsize;
+<a name="l01546"></a>01546 TiXmlCursor errorLocation;
+<a name="l01547"></a>01547 <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="l01548"></a>01548 };
+<a name="l01549"></a>01549
+<a name="l01550"></a>01550
+<a name="l01631"></a><a class="code" href="classTiXmlHandle.html">01631</a> <span class="keyword">class </span><a class="code" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a>
+<a name="l01632"></a>01632 {
+<a name="l01633"></a>01633 <span class="keyword">public</span>:
+<a name="l01635"></a><a class="code" href="classTiXmlHandle.html#aba18fd7bdefb942ecdea4bf4b8e29ec8">01635</a> <a class="code" href="classTiXmlHandle.html#aba18fd7bdefb942ecdea4bf4b8e29ec8" title="Create a handle from any node (at any depth of the tree.) This can be a null pointer...">TiXmlHandle</a>( <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* _node ) { this-&gt;node = _node; }
+<a name="l01637"></a><a class="code" href="classTiXmlHandle.html#a236d7855e1e56ccc7b980630c48c7fd7">01637</a> <a class="code" href="classTiXmlHandle.html#a236d7855e1e56ccc7b980630c48c7fd7" title="Copy constructor.">TiXmlHandle</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a>&amp; ref ) { this-&gt;node = ref.node; }
+<a name="l01638"></a>01638 <a class="code" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a>&amp; ref ) { this-&gt;node = ref.node; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l01639"></a>01639
+<a name="l01641"></a>01641 <a class="code" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#acdb1faaf88a700b40ca2c8d9aee21139" title="Return a handle to the first child node.">FirstChild</a>() <span class="keyword">const</span>;
+<a name="l01643"></a>01643 <a class="code" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#acdb1faaf88a700b40ca2c8d9aee21139" title="Return a handle to the first child node.">FirstChild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * value ) <span class="keyword">const</span>;
+<a name="l01645"></a>01645 <a class="code" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a24d1112e995e937e4dddb202d4113d4a" title="Return a handle to the first child element.">FirstChildElement</a>() <span class="keyword">const</span>;
+<a name="l01647"></a>01647 <a class="code" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a24d1112e995e937e4dddb202d4113d4a" title="Return a handle to the first child element.">FirstChildElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * value ) <span class="keyword">const</span>;
+<a name="l01648"></a>01648
+<a name="l01652"></a>01652 <a class="code" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a072492b4be1acdb0db2d03cd8f71ccc4" title="Return a handle to the &amp;quot;index&amp;quot; child with the given name.">Child</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* value, <span class="keywordtype">int</span> index ) <span class="keyword">const</span>;
+<a name="l01656"></a>01656 <a class="code" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a072492b4be1acdb0db2d03cd8f71ccc4" title="Return a handle to the &amp;quot;index&amp;quot; child with the given name.">Child</a>( <span class="keywordtype">int</span> index ) <span class="keyword">const</span>;
+<a name="l01661"></a>01661 <a class="code" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a979a3f850984a176ee884e394c7eed2d" title="Return a handle to the &amp;quot;index&amp;quot; child element with the given name.">ChildElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* value, <span class="keywordtype">int</span> index ) <span class="keyword">const</span>;
+<a name="l01666"></a>01666 <a class="code" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a979a3f850984a176ee884e394c7eed2d" title="Return a handle to the &amp;quot;index&amp;quot; child element with the given name.">ChildElement</a>( <span class="keywordtype">int</span> index ) <span class="keyword">const</span>;
+<a name="l01667"></a>01667
+<a name="l01668"></a>01668 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l01669"></a>01669 <span class="preprocessor"></span> <a class="code" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#acdb1faaf88a700b40ca2c8d9aee21139" title="Return a handle to the first child node.">FirstChild</a>( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#acdb1faaf88a700b40ca2c8d9aee21139" title="Return a handle to the first child node.">FirstChild</a>( _value.c_str() ); }
+<a name="l01670"></a>01670 <a class="code" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a24d1112e995e937e4dddb202d4113d4a" title="Return a handle to the first child element.">FirstChildElement</a>( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#a24d1112e995e937e4dddb202d4113d4a" title="Return a handle to the first child element.">FirstChildElement</a>( _value.c_str() ); }
+<a name="l01671"></a>01671
+<a name="l01672"></a>01672 <a class="code" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a072492b4be1acdb0db2d03cd8f71ccc4" title="Return a handle to the &amp;quot;index&amp;quot; child with the given name.">Child</a>( <span class="keyword">const</span> std::string&amp; _value, <span class="keywordtype">int</span> index )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#a072492b4be1acdb0db2d03cd8f71ccc4" title="Return a handle to the &amp;quot;index&amp;quot; child with the given name.">Child</a>( _value.c_str(), index ); }
+<a name="l01673"></a>01673 <a class="code" href="classTiXmlHandle.html" title="A TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly...">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a979a3f850984a176ee884e394c7eed2d" title="Return a handle to the &amp;quot;index&amp;quot; child element with the given name.">ChildElement</a>( <span class="keyword">const</span> std::string&amp; _value, <span class="keywordtype">int</span> index )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#a979a3f850984a176ee884e394c7eed2d" title="Return a handle to the &amp;quot;index&amp;quot; child element with the given name.">ChildElement</a>( _value.c_str(), index ); }
+<a name="l01674"></a>01674 <span class="preprocessor"> #endif</span>
+<a name="l01675"></a>01675 <span class="preprocessor"></span>
+<a name="l01678"></a><a class="code" href="classTiXmlHandle.html#af678e5088e83be67baf76f699756f2c3">01678</a> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlHandle.html#af678e5088e83be67baf76f699756f2c3" title="Return the handle as a TiXmlNode.">ToNode</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> node; }
+<a name="l01681"></a><a class="code" href="classTiXmlHandle.html#abc6e7ed383a5fe1e52b0c0004b457b9e">01681</a> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlHandle.html#abc6e7ed383a5fe1e52b0c0004b457b9e" title="Return the handle as a TiXmlElement.">ToElement</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ( ( node &amp;&amp; node-&gt;ToElement() ) ? node-&gt;ToElement() : 0 ); }
+<a name="l01684"></a><a class="code" href="classTiXmlHandle.html#a4ac53a652296203a5b5e13854d923586">01684</a> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>* <a class="code" href="classTiXmlHandle.html#a4ac53a652296203a5b5e13854d923586" title="Return the handle as a TiXmlText.">ToText</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ( ( node &amp;&amp; node-&gt;ToText() ) ? node-&gt;ToText() : 0 ); }
+<a name="l01687"></a><a class="code" href="classTiXmlHandle.html#a1381c17507a130767b1e23afc93b3674">01687</a> <a class="code" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&amp;#39;t recognize is saved as an unknown.">TiXmlUnknown</a>* <a class="code" href="classTiXmlHandle.html#a1381c17507a130767b1e23afc93b3674" title="Return the handle as a TiXmlUnknown.">ToUnknown</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ( ( node &amp;&amp; node-&gt;ToUnknown() ) ? node-&gt;ToUnknown() : 0 ); }
+<a name="l01688"></a>01688
+<a name="l01692"></a><a class="code" href="classTiXmlHandle.html#ab44b723a8dc9af72838a303c079d0376">01692</a> <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* <a class="code" href="classTiXmlHandle.html#ab44b723a8dc9af72838a303c079d0376">Node</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#af678e5088e83be67baf76f699756f2c3" title="Return the handle as a TiXmlNode.">ToNode</a>(); }
+<a name="l01696"></a><a class="code" href="classTiXmlHandle.html#acb5fe8388a526289ea65e817a51e05e7">01696</a> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>* <a class="code" href="classTiXmlHandle.html#acb5fe8388a526289ea65e817a51e05e7">Element</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#abc6e7ed383a5fe1e52b0c0004b457b9e" title="Return the handle as a TiXmlElement.">ToElement</a>(); }
+<a name="l01700"></a><a class="code" href="classTiXmlHandle.html#a9fc739c8a18d160006f82572fc143d13">01700</a> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>* <a class="code" href="classTiXmlHandle.html#a9fc739c8a18d160006f82572fc143d13">Text</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#a4ac53a652296203a5b5e13854d923586" title="Return the handle as a TiXmlText.">ToText</a>(); }
+<a name="l01704"></a><a class="code" href="classTiXmlHandle.html#a49675b74357ba2aae124657a9a1ef465">01704</a> <a class="code" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&amp;#39;t recognize is saved as an unknown.">TiXmlUnknown</a>* <a class="code" href="classTiXmlHandle.html#a49675b74357ba2aae124657a9a1ef465">Unknown</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#a1381c17507a130767b1e23afc93b3674" title="Return the handle as a TiXmlUnknown.">ToUnknown</a>(); }
+<a name="l01705"></a>01705
+<a name="l01706"></a>01706 <span class="keyword">private</span>:
+<a name="l01707"></a>01707 <a class="code" href="classTiXmlNode.html" title="The parent class for everything in the Document Object Model.">TiXmlNode</a>* node;
+<a name="l01708"></a>01708 };
+<a name="l01709"></a>01709
+<a name="l01710"></a>01710
+<a name="l01730"></a><a class="code" href="classTiXmlPrinter.html">01730</a> <span class="keyword">class </span><a class="code" href="classTiXmlPrinter.html" title="Print to memory functionality.">TiXmlPrinter</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlVisitor.html" title="Implements the interface to the &amp;quot;Visitor pattern&amp;quot; (see the Accept() method...">TiXmlVisitor</a>
+<a name="l01731"></a>01731 {
+<a name="l01732"></a>01732 <span class="keyword">public</span>:
+<a name="l01733"></a>01733 <a class="code" href="classTiXmlPrinter.html" title="Print to memory functionality.">TiXmlPrinter</a>() : depth( 0 ), simpleTextPrint( <span class="keyword">false</span> ),
+<a name="l01734"></a>01734 buffer(), indent( <span class="stringliteral">&quot; &quot;</span> ), lineBreak( <span class="stringliteral">&quot;\n&quot;</span> ) {}
+<a name="l01735"></a>01735
+<a name="l01736"></a>01736 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#a799f4f0388570cbb54c0d3c345fef7c1" title="Visit a document.">VisitEnter</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>&amp; doc );
+<a name="l01737"></a>01737 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#a66b33edd76c538b462f789b797a4fdf2" title="Visit a document.">VisitExit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html" title="Always the top level node.">TiXmlDocument</a>&amp; doc );
+<a name="l01738"></a>01738
+<a name="l01739"></a>01739 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#a799f4f0388570cbb54c0d3c345fef7c1" title="Visit a document.">VisitEnter</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>&amp; element, <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a>* firstAttribute );
+<a name="l01740"></a>01740 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#a66b33edd76c538b462f789b797a4fdf2" title="Visit a document.">VisitExit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html" title="The element is a container class.">TiXmlElement</a>&amp; element );
+<a name="l01741"></a>01741
+<a name="l01742"></a>01742 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#ace1b14d33eede2575c0743e2350f6a38" title="Visit a declaration.">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html" title="In correct XML the declaration is the first entry in the file.">TiXmlDeclaration</a>&amp; declaration );
+<a name="l01743"></a>01743 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#ace1b14d33eede2575c0743e2350f6a38" title="Visit a declaration.">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlText.html" title="XML text.">TiXmlText</a>&amp; text );
+<a name="l01744"></a>01744 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#ace1b14d33eede2575c0743e2350f6a38" title="Visit a declaration.">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html" title="An XML comment.">TiXmlComment</a>&amp; comment );
+<a name="l01745"></a>01745 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#ace1b14d33eede2575c0743e2350f6a38" title="Visit a declaration.">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html" title="Any tag that tinyXml doesn&amp;#39;t recognize is saved as an unknown.">TiXmlUnknown</a>&amp; unknown );
+<a name="l01746"></a>01746
+<a name="l01750"></a><a class="code" href="classTiXmlPrinter.html#a213377a4070c7e625bae59716b089e5e">01750</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlPrinter.html#a213377a4070c7e625bae59716b089e5e" title="Set the indent characters for printing.">SetIndent</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _indent ) { indent = _indent ? _indent : <span class="stringliteral">&quot;&quot;</span> ; }
+<a name="l01752"></a><a class="code" href="classTiXmlPrinter.html#abb33ec7d4bad6aaeb57f4304394b133d">01752</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlPrinter.html#abb33ec7d4bad6aaeb57f4304394b133d" title="Query the indention string.">Indent</a>() { <span class="keywordflow">return</span> indent.c_str(); }
+<a name="l01757"></a><a class="code" href="classTiXmlPrinter.html#a4be1e37e69e3858c59635aa947174fe6">01757</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlPrinter.html#a4be1e37e69e3858c59635aa947174fe6" title="Set the line breaking string.">SetLineBreak</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _lineBreak ) { lineBreak = _lineBreak ? _lineBreak : <span class="stringliteral">&quot;&quot;</span>; }
+<a name="l01759"></a><a class="code" href="classTiXmlPrinter.html#a11f1b4804a460b175ec244eb5724d96d">01759</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlPrinter.html#a11f1b4804a460b175ec244eb5724d96d" title="Query the current line breaking string.">LineBreak</a>() { <span class="keywordflow">return</span> lineBreak.c_str(); }
+<a name="l01760"></a>01760
+<a name="l01764"></a><a class="code" href="classTiXmlPrinter.html#ab23a90629e374cb1cadca090468bbd19">01764</a> <span class="keywordtype">void</span> <a class="code" href="classTiXmlPrinter.html#ab23a90629e374cb1cadca090468bbd19" title="Switch over to &amp;quot;stream printing&amp;quot; which is the most dense formatting without...">SetStreamPrinting</a>() { indent = <span class="stringliteral">&quot;&quot;</span>;
+<a name="l01765"></a>01765 lineBreak = <span class="stringliteral">&quot;&quot;</span>;
+<a name="l01766"></a>01766 }
+<a name="l01768"></a><a class="code" href="classTiXmlPrinter.html#a859eede9597d3e0355b77757be48735e">01768</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlPrinter.html#a859eede9597d3e0355b77757be48735e" title="Return the result.">CStr</a>() { <span class="keywordflow">return</span> buffer.c_str(); }
+<a name="l01770"></a><a class="code" href="classTiXmlPrinter.html#ad01375ae9199bd2f48252eaddce3039d">01770</a> <span class="keywordtype">size_t</span> <a class="code" href="classTiXmlPrinter.html#ad01375ae9199bd2f48252eaddce3039d" title="Return the length of the result string.">Size</a>() { <span class="keywordflow">return</span> buffer.size(); }
+<a name="l01771"></a>01771
+<a name="l01772"></a>01772 <span class="preprocessor"> #ifdef TIXML_USE_STL</span>
+<a name="l01774"></a><a class="code" href="classTiXmlPrinter.html#a3bd4daf44309b41f5813a833caa0d1c9">01774</a> <span class="preprocessor"> const std::string&amp; Str() { return buffer; }</span>
+<a name="l01775"></a>01775 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
+<a name="l01776"></a>01776 <span class="preprocessor"></span>
+<a name="l01777"></a>01777 <span class="keyword">private</span>:
+<a name="l01778"></a>01778 <span class="keywordtype">void</span> DoIndent() {
+<a name="l01779"></a>01779 <span class="keywordflow">for</span>( <span class="keywordtype">int</span> i=0; i&lt;depth; ++i )
+<a name="l01780"></a>01780 buffer += indent;
+<a name="l01781"></a>01781 }
+<a name="l01782"></a>01782 <span class="keywordtype">void</span> DoLineBreak() {
+<a name="l01783"></a>01783 buffer += lineBreak;
+<a name="l01784"></a>01784 }
+<a name="l01785"></a>01785
+<a name="l01786"></a>01786 <span class="keywordtype">int</span> depth;
+<a name="l01787"></a>01787 <span class="keywordtype">bool</span> simpleTextPrint;
+<a name="l01788"></a>01788 TIXML_STRING buffer;
+<a name="l01789"></a>01789 TIXML_STRING indent;
+<a name="l01790"></a>01790 TIXML_STRING lineBreak;
+<a name="l01791"></a>01791 };
+<a name="l01792"></a>01792
+<a name="l01793"></a>01793
+<a name="l01794"></a>01794 <span class="preprocessor">#ifdef _MSC_VER</span>
+<a name="l01795"></a>01795 <span class="preprocessor"></span><span class="preprocessor">#pragma warning( pop )</span>
+<a name="l01796"></a>01796 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l01797"></a>01797 <span class="preprocessor"></span>
+<a name="l01798"></a>01798 <span class="preprocessor">#endif</span>
+<a name="l01799"></a>01799 <span class="preprocessor"></span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
+</body>
+</html>
diff --git a/shared/tinyxml/docs/tutorial0.html b/shared/tinyxml/docs/tutorial0.html
index d5d19cab..f974f859 100644
--- a/shared/tinyxml/docs/tutorial0.html
+++ b/shared/tinyxml/docs/tutorial0.html
@@ -1,33 +1,41 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!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"/>
<title>TinyXml: TinyXML Tutorial</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="nav">
-<a class="el" href="index.html">index</a></div>
-<h1><a class="anchor" name="tutorial0">TinyXML Tutorial</a></h1><h1>What is this? </h1>
-<p>
-This tutorial has a few tips and suggestions on how to use TinyXML effectively.<p>
-I've also tried to include some C++ tips like how to convert strings to integers and vice versa. This isn't anything to do with TinyXML itself, but it may helpful for your project so I've put it in anyway.<p>
-If you don't know basic C++ concepts this tutorial won't be useful. Likewise if you don't know what a DOM is, look elsewhere first.<p>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.2 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="index.html">index</a>
+ </div>
+</div>
+<div class="contents">
+
+
+<h1><a class="anchor" id="tutorial0">TinyXML Tutorial </a></h1><h1>What is this? </h1>
+<p>This tutorial has a few tips and suggestions on how to use TinyXML effectively.</p>
+<p>I've also tried to include some C++ tips like how to convert strings to integers and vice versa. This isn't anything to do with TinyXML itself, but it may helpful for your project so I've put it in anyway.</p>
+<p>If you don't know basic C++ concepts this tutorial won't be useful. Likewise if you don't know what a DOM is, look elsewhere first.</p>
<h1>Before we start </h1>
-<p>
-Some example XML datasets/files will be used.<p>
-example1.xml:<p>
-<div class="fragment"><pre class="fragment">&lt;?xml version="1.0" ?&gt;
+<p>Some example XML datasets/files will be used.</p>
+<p>example1.xml:</p>
+<div class="fragment"><pre class="fragment">
+&lt;?xml version="1.0" ?&gt;
&lt;Hello&gt;World&lt;/Hello&gt;
-</pre></div><p>
-example2.xml:<p>
-<div class="fragment"><pre class="fragment">&lt;?xml version="1.0" ?&gt;
+</pre></div><p>example2.xml:</p>
+<div class="fragment"><pre class="fragment">
+&lt;?xml version="1.0" ?&gt;
&lt;poetry&gt;
&lt;verse&gt;
Alas
@@ -35,16 +43,16 @@ example2.xml:<p>
Alas (again)
&lt;/verse&gt;
&lt;/poetry&gt;
-</pre></div><p>
-example3.xml:<p>
-<div class="fragment"><pre class="fragment">&lt;?xml version="1.0" ?&gt;
+</pre></div><p>example3.xml:</p>
+<div class="fragment"><pre class="fragment">
+&lt;?xml version="1.0" ?&gt;
&lt;shapes&gt;
&lt;circle name="int-based" x="20" y="30" r="50" /&gt;
&lt;point name="float-based" x="3.5" y="52.1" /&gt;
&lt;/shapes&gt;
-</pre></div><p>
-example4.xml<p>
-<div class="fragment"><pre class="fragment">&lt;?xml version="1.0" ?&gt;
+</pre></div><p>example4.xml</p>
+<div class="fragment"><pre class="fragment">
+&lt;?xml version="1.0" ?&gt;
&lt;MyApp&gt;
&lt;!-- Settings for MyApp --&gt;
&lt;Messages&gt;
@@ -56,17 +64,15 @@ example4.xml<p>
&lt;/Windows&gt;
&lt;Connection ip="192.168.0.1" timeout="123.456000" /&gt;
&lt;/MyApp&gt;
-</pre></div><p>
-<h1>Getting Started </h1>
-<p>
+</pre></div><h1>Getting Started </h1>
<h2>Load XML from a file </h2>
-<p>
-The simplest way to load a file into a TinyXML DOM is:<p>
-<div class="fragment"><pre class="fragment">TiXmlDocument doc( "demo.xml" );
+<p>The simplest way to load a file into a TinyXML DOM is:</p>
+<div class="fragment"><pre class="fragment">
+TiXmlDocument doc( "demo.xml" );
doc.LoadFile();
-</pre></div><p>
-A more real-world usage is shown below. This will load the file and display the contents to STDOUT:<p>
-<div class="fragment"><pre class="fragment">// load the named file and dump its structure to STDOUT
+</pre></div><p>A more real-world usage is shown below. This will load the file and display the contents to STDOUT:</p>
+<div class="fragment"><pre class="fragment">
+// load the named file and dump its structure to STDOUT
void dump_to_stdout(const char* pFilename)
{
TiXmlDocument doc(pFilename);
@@ -81,29 +87,28 @@ void dump_to_stdout(const char* pFilename)
printf("Failed to load file \"%s\"\n", pFilename);
}
}
-</pre></div><p>
-A simple demonstration of this function is to use a main like this:<p>
-<div class="fragment"><pre class="fragment">int main(void)
+</pre></div><p>A simple demonstration of this function is to use a main like this:</p>
+<div class="fragment"><pre class="fragment">
+int main(void)
{
dump_to_stdout("example1.xml");
return 0;
}
-</pre></div><p>
-Recall that Example 1 XML is:<p>
-<div class="fragment"><pre class="fragment">&lt;?xml version="1.0" ?&gt;
+</pre></div><p>Recall that Example 1 XML is:</p>
+<div class="fragment"><pre class="fragment">
+&lt;?xml version="1.0" ?&gt;
&lt;Hello&gt;World&lt;/Hello&gt;
-</pre></div><p>
-Running the program with this XML will display this in the console/DOS window:<p>
-<div class="fragment"><pre class="fragment">DOCUMENT
+</pre></div><p>Running the program with this XML will display this in the console/DOS window:</p>
+<div class="fragment"><pre class="fragment">
+DOCUMENT
+ DECLARATION
+ ELEMENT Hello
+ TEXT[World]
-</pre></div><p>
-The ``dump_to_stdout`` function is defined later in this tutorial and is useful if you want to understand recursive traversal of a DOM.<p>
+</pre></div><p>The ``dump_to_stdout`` function is defined later in this tutorial and is useful if you want to understand recursive traversal of a DOM.</p>
<h2>Building Documents Programatically </h2>
-<p>
-This is how to build Example 1 pragmatically:<p>
-<div class="fragment"><pre class="fragment">void build_simple_doc( )
+<p>This is how to build Example 1 pragmatically:</p>
+<div class="fragment"><pre class="fragment">
+void build_simple_doc( )
{
// Make xml: &lt;?xml ..&gt;&lt;Hello&gt;World&lt;/Hello&gt;
TiXmlDocument doc;
@@ -115,19 +120,19 @@ This is how to build Example 1 pragmatically:<p>
doc.LinkEndChild( element );
doc.SaveFile( "madeByHand.xml" );
}
-</pre></div><p>
-This can be loaded and displayed on the console with:<p>
-<div class="fragment"><pre class="fragment">dump_to_stdout("madeByHand.xml"); // this func defined later in the tutorial
-</pre></div><p>
-and you'll see it is identical to Example 1:<p>
-<div class="fragment"><pre class="fragment">madeByHand.xml:
+</pre></div><p>This can be loaded and displayed on the console with:</p>
+<div class="fragment"><pre class="fragment">
+dump_to_stdout("madeByHand.xml"); // this func defined later in the tutorial
+</pre></div><p>and you'll see it is identical to Example 1:</p>
+<div class="fragment"><pre class="fragment">
+madeByHand.xml:
Document
+ Declaration
+ Element [Hello]
+ Text: [World]
-</pre></div><p>
-This code produces exactly the same XML DOM but it shows a different ordering to node creation and linking:<p>
-<div class="fragment"><pre class="fragment">void write_simple_doc2( )
+</pre></div><p>This code produces exactly the same XML DOM but it shows a different ordering to node creation and linking:</p>
+<div class="fragment"><pre class="fragment">
+void write_simple_doc2( )
{
// same as write_simple_doc1 but add each node
// as early as possible into the tree.
@@ -144,29 +149,28 @@ This code produces exactly the same XML DOM but it shows a different ordering to
doc.SaveFile( "madeByHand2.xml" );
}
-</pre></div><p>
-Both of these produce the same XML, namely:<p>
-<div class="fragment"><pre class="fragment">&lt;?xml version="1.0" ?&gt;
+</pre></div><p>Both of these produce the same XML, namely:</p>
+<div class="fragment"><pre class="fragment">
+&lt;?xml version="1.0" ?&gt;
&lt;Hello&gt;World&lt;/Hello&gt;
-</pre></div><p>
-Or in structure form:<p>
-<div class="fragment"><pre class="fragment">DOCUMENT
+</pre></div><p>Or in structure form:</p>
+<div class="fragment"><pre class="fragment">
+DOCUMENT
+ DECLARATION
+ ELEMENT Hello
+ TEXT[World]
-</pre></div><p>
-<h2>Attributes </h2>
-<p>
-Given an existing node, settings attributes is easy:<p>
-<div class="fragment"><pre class="fragment">window = new TiXmlElement( "Demo" );
+</pre></div><h2>Attributes </h2>
+<p>Given an existing node, settings attributes is easy:</p>
+<div class="fragment"><pre class="fragment">
+window = new TiXmlElement( "Demo" );
window-&gt;SetAttribute("name", "Circle");
window-&gt;SetAttribute("x", 5);
window-&gt;SetAttribute("y", 15);
window-&gt;SetDoubleAttribute("radius", 3.14159);
-</pre></div><p>
-You can it also work with the <a class="el" href="classTiXmlAttribute.html">TiXmlAttribute</a> objects if you want.<p>
-The following code shows one way (not the only way) to get all attributes of an element, print the name and string value, and if the value can be converted to an integer or double, print that value too:<p>
-<div class="fragment"><pre class="fragment">// print all attributes of pElement.
+</pre></div><p>You can it also work with the <a class="el" href="classTiXmlAttribute.html" title="An attribute is a name-value pair.">TiXmlAttribute</a> objects if you want.</p>
+<p>The following code shows one way (not the only way) to get all attributes of an element, print the name and string value, and if the value can be converted to an integer or double, print that value too:</p>
+<div class="fragment"><pre class="fragment">
+// print all attributes of pElement.
// returns the number of attributes printed
int dump_attribs_to_stdout(TiXmlElement* pElement, unsigned int indent)
{
@@ -190,14 +194,13 @@ int dump_attribs_to_stdout(TiXmlElement* pElement, unsigned int indent)
}
return i;
}
-</pre></div><p>
-<h2>Writing a document to a file </h2>
-<p>
-Writing a pre-built DOM to a file is trivial:<p>
-<div class="fragment"><pre class="fragment">doc.SaveFile( saveFilename );
-</pre></div><p>
-Recall, for example, example 4:<p>
-<div class="fragment"><pre class="fragment">&lt;?xml version="1.0" ?&gt;
+</pre></div><h2>Writing a document to a file </h2>
+<p>Writing a pre-built DOM to a file is trivial:</p>
+<div class="fragment"><pre class="fragment">
+doc.SaveFile( saveFilename );
+</pre></div><p>Recall, for example, example 4:</p>
+<div class="fragment"><pre class="fragment">
+&lt;?xml version="1.0" ?&gt;
&lt;MyApp&gt;
&lt;!-- Settings for MyApp --&gt;
&lt;Messages&gt;
@@ -209,9 +212,9 @@ Recall, for example, example 4:<p>
&lt;/Windows&gt;
&lt;Connection ip="192.168.0.1" timeout="123.456000" /&gt;
&lt;/MyApp&gt;
-</pre></div><p>
-The following function builds this DOM and writes the file "appsettings.xml":<p>
-<div class="fragment"><pre class="fragment">void write_app_settings_doc( )
+</pre></div><p>The following function builds this DOM and writes the file "appsettings.xml":</p>
+<div class="fragment"><pre class="fragment">
+void write_app_settings_doc( )
{
TiXmlDocument doc;
TiXmlElement* msg;
@@ -256,9 +259,9 @@ The following function builds this DOM and writes the file "appsettings.xml":<p>
dump_to_stdout( &amp;doc );
doc.SaveFile( "appsettings.xml" );
}
-</pre></div><p>
-The dump_to_stdout function will show this structure:<p>
-<div class="fragment"><pre class="fragment">Document
+</pre></div><p>The dump_to_stdout function will show this structure:</p>
+<div class="fragment"><pre class="fragment">
+Document
+ Declaration
+ Element [MyApp]
(No attributes)
@@ -284,21 +287,18 @@ The dump_to_stdout function will show this structure:<p>
+ ip: value=[192.168.0.1] int=192 d=192.2
+ timeout: value=[123.456000] int=123 d=123.5
2 attributes
-</pre></div><p>
-I was surprised that TinyXml, by default, writes the XML in what other APIs call a "pretty" format - it modifies the whitespace of text of elements that contain other nodes so that writing the tree includes an indication of nesting level.<p>
-I haven't looked yet to see if there is a way to turn off indenting when writing a file - its bound to be easy.<p>
-[Lee: It's easy in STL mode, just use cout &lt;&lt; myDoc. Non-STL mode is always in "pretty" format. Adding a switch would be a nice feature and has been requested.]<p>
+</pre></div><p>I was surprised that TinyXml, by default, writes the XML in what other APIs call a "pretty" format - it modifies the whitespace of text of elements that contain other nodes so that writing the tree includes an indication of nesting level.</p>
+<p>I haven't looked yet to see if there is a way to turn off indenting when writing a file - its bound to be easy.</p>
+<p>[Lee: It's easy in STL mode, just use cout &lt;&lt; myDoc. Non-STL mode is always in "pretty" format. Adding a switch would be a nice feature and has been requested.]</p>
<h1>XML to/from C++ objects </h1>
-<p>
<h2>Intro </h2>
-<p>
-This example assumes you're loading and saving your app settings in an XML file, e.g. something like example4.xml.<p>
-There are a number of ways to do this. For example, look into the TinyBind project at <a href="http://sourceforge.net/projects/tinybind">http://sourceforge.net/projects/tinybind</a><p>
-This section shows a plain-old approach to loading and saving a basic object structure using XML.<p>
+<p>This example assumes you're loading and saving your app settings in an XML file, e.g. something like example4.xml.</p>
+<p>There are a number of ways to do this. For example, look into the TinyBind project at <a href="http://sourceforge.net/projects/tinybind">http://sourceforge.net/projects/tinybind</a></p>
+<p>This section shows a plain-old approach to loading and saving a basic object structure using XML.</p>
<h2>Set up your object classes </h2>
-<p>
-Start off with some basic classes like these:<p>
-<div class="fragment"><pre class="fragment">#include &lt;string&gt;
+<p>Start off with some basic classes like these:</p>
+<div class="fragment"><pre class="fragment">
+#include &lt;string&gt;
#include &lt;map&gt;
using namespace std;
@@ -359,9 +359,9 @@ public:
m_connection.timeout=123.456;
}
};
-</pre></div><p>
-This is a basic main() that shows how to create a default settings object tree, save it and load it again:<p>
-<div class="fragment"><pre class="fragment">int main(void)
+</pre></div><p>This is a basic main() that shows how to create a default settings object tree, save it and load it again:</p>
+<div class="fragment"><pre class="fragment">
+int main(void)
{
AppSettings settings;
@@ -369,9 +369,9 @@ This is a basic main() that shows how to create a default settings object tree,
settings.load("appsettings2.xml");
return 0;
}
-</pre></div><p>
-The following main() shows creation, modification, saving and then loading of a settings structure:<p>
-<div class="fragment"><pre class="fragment">int main(void)
+</pre></div><p>The following main() shows creation, modification, saving and then loading of a settings structure:</p>
+<div class="fragment"><pre class="fragment">
+int main(void)
{
// block: customise and save settings
{
@@ -399,16 +399,15 @@ The following main() shows creation, modification, saving and then loading of a
}
return 0;
}
-</pre></div><p>
-When the save() and load() are completed (see below), running this main() displays on the console:<p>
-<div class="fragment"><pre class="fragment">HitchHikerApp: Don't Panic
+</pre></div><p>When the save() and load() are completed (see below), running this main() displays on the console:</p>
+<div class="fragment"><pre class="fragment">
+HitchHikerApp: Don't Panic
HitchHikerApp: Show window 'BookFrame' at 15,25 (300 x 100)
HitchHikerApp: Thanks for all the fish
-</pre></div><p>
-<h2>Encode C++ state as XML </h2>
-<p>
-There are lots of different ways to approach saving this to a file. Here's one:<p>
-<div class="fragment"><pre class="fragment">void AppSettings::save(const char* pFilename)
+</pre></div><h2>Encode C++ state as XML </h2>
+<p>There are lots of different ways to approach saving this to a file. Here's one:</p>
+<div class="fragment"><pre class="fragment">
+void AppSettings::save(const char* pFilename)
{
TiXmlDocument doc;
TiXmlElement* msg;
@@ -474,9 +473,9 @@ There are lots of different ways to approach saving this to a file. Here's one:<
doc.SaveFile(pFilename);
}
-</pre></div><p>
-Running this with the modified main produces this file:<p>
-<div class="fragment"><pre class="fragment">&lt;?xml version="1.0" ?&gt;
+</pre></div><p>Running this with the modified main produces this file:</p>
+<div class="fragment"><pre class="fragment">
+&lt;?xml version="1.0" ?&gt;
&lt;HitchHikerApp&gt;
&lt;!-- Settings for HitchHikerApp --&gt;
&lt;Messages&gt;
@@ -488,11 +487,10 @@ Running this with the modified main produces this file:<p>
&lt;/Windows&gt;
&lt;Connection ip="192.168.0.77" timeout="42.000000" /&gt;
&lt;/HitchHikerApp&gt;
-</pre></div><p>
-<h2>Decoding state from XML </h2>
-<p>
-As with encoding objects, there are a number of approaches to decoding XML into your own C++ object structure. The following approach uses TiXmlHandles.<p>
-<div class="fragment"><pre class="fragment">void AppSettings::load(const char* pFilename)
+</pre></div><h2>Decoding state from XML </h2>
+<p>As with encoding objects, there are a number of approaches to decoding XML into your own C++ object structure. The following approach uses TiXmlHandles.</p>
+<div class="fragment"><pre class="fragment">
+void AppSettings::load(const char* pFilename)
{
TiXmlDocument doc(pFilename);
if (!doc.LoadFile()) return;
@@ -558,11 +556,10 @@ As with encoding objects, there are a number of approaches to decoding XML into
}
}
}
-</pre></div><p>
-<h1>Full listing for dump_to_stdout </h1>
-<p>
-Below is a copy-and-paste demo program for loading arbitrary XML files and dumping the structure to STDOUT using the recursive traversal listed above.<p>
-<div class="fragment"><pre class="fragment">// tutorial demo program
+</pre></div><h1>Full listing for dump_to_stdout </h1>
+<p>Below is a copy-and-paste demo program for loading arbitrary XML files and dumping the structure to STDOUT using the recursive traversal listed above.</p>
+<div class="fragment"><pre class="fragment">
+// tutorial demo program
#include "stdafx.h"
#include "tinyxml.h"
@@ -627,11 +624,11 @@ void dump_to_stdout( TiXmlNode* pParent, unsigned int indent = 0 )
switch ( t )
{
- case TiXmlNode::DOCUMENT:
+ case TiXmlNode::TINYXML_DOCUMENT:
printf( "Document" );
break;
- case TiXmlNode::ELEMENT:
+ case TiXmlNode::TINYXML_ELEMENT:
printf( "Element [%s]", pParent-&gt;Value() );
num=dump_attribs_to_stdout(pParent-&gt;ToElement(), indent+1);
switch(num)
@@ -642,20 +639,20 @@ void dump_to_stdout( TiXmlNode* pParent, unsigned int indent = 0 )
}
break;
- case TiXmlNode::COMMENT:
+ case TiXmlNode::TINYXML_COMMENT:
printf( "Comment: [%s]", pParent-&gt;Value());
break;
- case TiXmlNode::UNKNOWN:
+ case TiXmlNode::TINYXML_UNKNOWN:
printf( "Unknown" );
break;
- case TiXmlNode::TEXT:
+ case TiXmlNode::TINYXML_TEXT:
pText = pParent-&gt;ToText();
printf( "Text: [%s]", pText-&gt;Value() );
break;
- case TiXmlNode::DECLARATION:
+ case TiXmlNode::TINYXML_DECLARATION:
printf( "Declaration" );
break;
default:
@@ -695,9 +692,9 @@ int main(int argc, char* argv[])
}
return 0;
}
-</pre></div><p>
-Run this from the command line or a DOS window, e.g.:<p>
-<div class="fragment"><pre class="fragment">C:\dev\tinyxml&gt; Debug\tinyxml_1.exe example1.xml
+</pre></div><p>Run this from the command line or a DOS window, e.g.:</p>
+<div class="fragment"><pre class="fragment">
+C:\dev\tinyxml&gt; Debug\tinyxml_1.exe example1.xml
example1.xml:
Document
@@ -705,8 +702,8 @@ Document
+ Element [Hello]
(No attributes)
+ Text: [World]
-</pre></div><p>
-<em> Authors and Changes <ul>
+</pre></div><p><em> Authors and Changes </p>
+<ul>
<li>
Written by Ellers, April, May, June 2005 </li>
<li>
@@ -714,8 +711,10 @@ Minor edits and integration into doc system, Lee Thomason September 2005 </li>
<li>
Updated by Ellers, October 2005 </li>
</ul>
-</em> <hr size="1"><address style="align: right;"><small>Generated on Sun May 6 15:41:23 2007 for TinyXml by&nbsp;
+<p></em> </p>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>
diff --git a/shared/tinyxml/readme.txt b/shared/tinyxml/readme.txt
index 14ec3d2e..89d9e8d3 100644
--- a/shared/tinyxml/readme.txt
+++ b/shared/tinyxml/readme.txt
@@ -413,7 +413,7 @@ relate to the DOM.
TiXmlDeclaration class. It will be the first child of the
document node.
- This is the only directive/special tag parsed by by TinyXML.
+ This is the only directive/special tag parsed by TinyXML.
Generally directive tags are stored in TiXmlUnknown so the
commands wont be lost when it is saved back to disk.
@@ -499,7 +499,7 @@ distribution.
<h2> References </h2>
The World Wide Web Consortium is the definitive standard body for
-XML, and there web pages contain huge amounts of information.
+XML, and their web pages contain huge amounts of information.
The definitive spec: <a href="http://www.w3.org/TR/2004/REC-xml-20040204/">
http://www.w3.org/TR/2004/REC-xml-20040204/</a>
diff --git a/shared/tinyxml/tinyXmlTest.vcproj b/shared/tinyxml/tinyXmlTest.vcproj
index f9e5a204..e32ecdff 100644
--- a/shared/tinyxml/tinyXmlTest.vcproj
+++ b/shared/tinyxml/tinyXmlTest.vcproj
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="8.00"
+ Version="9.00"
Name="tinyXmlTest"
ProjectGUID="{34719950-09E8-457E-BE23-8F1CE3A1F1F6}"
+ TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
@@ -54,7 +55,7 @@
BrowseInformation="1"
WarningLevel="4"
SuppressStartupBanner="true"
- Detect64BitPortabilityProblems="true"
+ Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
/>
<Tool
@@ -77,6 +78,8 @@
GenerateDebugInformation="true"
ProgramDatabaseFile=".\tinyXmlTest___Win32_Debug/tinyXmlTest.pdb"
SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
@@ -100,9 +103,6 @@
Name="VCAppVerifierTool"
/>
<Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
@@ -162,12 +162,14 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="./Release/tinyxml.lib odbc32.lib odbccp32.lib"
+ AdditionalDependencies="./Release/tinyxml.lib"
OutputFile=".\tinyXmlTest___Win32_Release/tinyXmlTest.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
ProgramDatabaseFile=".\tinyXmlTest___Win32_Release/tinyXmlTest.pdb"
SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
@@ -191,9 +193,6 @@
Name="VCAppVerifierTool"
/>
<Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
diff --git a/shared/tinyxml/tinyXmlTestSTL.vcproj b/shared/tinyxml/tinyXmlTestSTL.vcproj
index b3203a14..482a5aa7 100644
--- a/shared/tinyxml/tinyXmlTestSTL.vcproj
+++ b/shared/tinyxml/tinyXmlTestSTL.vcproj
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="8.00"
+ Version="9.00"
Name="tinyXmlTestSTL"
ProjectGUID="{53ED5965-5BCA-47B5-9EB0-EDD20882F22F}"
+ TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
@@ -54,7 +55,7 @@
BrowseInformation="1"
WarningLevel="4"
SuppressStartupBanner="true"
- Detect64BitPortabilityProblems="true"
+ Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
/>
<Tool
@@ -77,6 +78,8 @@
GenerateDebugInformation="true"
ProgramDatabaseFile=".\tinyXmlTestSTL___Win32_Debug/tinyXmlTestSTL.pdb"
SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
@@ -100,9 +103,6 @@
Name="VCAppVerifierTool"
/>
<Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
@@ -161,12 +161,14 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="./Release_STL/tinyxml_stl.lib odbc32.lib odbccp32.lib"
+ AdditionalDependencies="./Release_STL/tinyxml_stl.lib"
OutputFile=".\tinyXmlTestSTL___Win32_Release/tinyXmlTestSTL.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
ProgramDatabaseFile=".\tinyXmlTestSTL___Win32_Release/tinyXmlTestSTL.pdb"
SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
@@ -190,9 +192,6 @@
Name="VCAppVerifierTool"
/>
<Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
diff --git a/shared/tinyxml/tinystr.cpp b/shared/tinyxml/tinystr.cpp
index 2b9b5467..68125071 100644
--- a/shared/tinyxml/tinystr.cpp
+++ b/shared/tinyxml/tinystr.cpp
@@ -41,75 +41,75 @@ TiXmlString::Rep TiXmlString::nullrep_ = { 0, 0, { '\0' } };
void TiXmlString::reserve (size_type cap)
{
- if (cap > capacity())
- {
- TiXmlString tmp;
- tmp.init(length(), cap);
- memcpy(tmp.start(), data(), length());
- swap(tmp);
- }
+ if (cap > capacity())
+ {
+ TiXmlString tmp;
+ tmp.init(length(), cap);
+ memcpy(tmp.start(), data(), length());
+ swap(tmp);
+ }
}
TiXmlString& TiXmlString::assign(const char* str, size_type len)
{
- size_type cap = capacity();
- if (len > cap || cap > 3*(len + 8))
- {
- TiXmlString tmp;
- tmp.init(len);
- memcpy(tmp.start(), str, len);
- swap(tmp);
- }
- else
- {
- memmove(start(), str, len);
- set_size(len);
- }
- return *this;
+ size_type cap = capacity();
+ if (len > cap || cap > 3*(len + 8))
+ {
+ TiXmlString tmp;
+ tmp.init(len);
+ memcpy(tmp.start(), str, len);
+ swap(tmp);
+ }
+ else
+ {
+ memmove(start(), str, len);
+ set_size(len);
+ }
+ return *this;
}
TiXmlString& TiXmlString::append(const char* str, size_type len)
{
- size_type newsize = length() + len;
- if (newsize > capacity())
- {
- reserve (newsize + capacity());
- }
- memmove(finish(), str, len);
- set_size(newsize);
- return *this;
+ size_type newsize = length() + len;
+ if (newsize > capacity())
+ {
+ reserve (newsize + capacity());
+ }
+ memmove(finish(), str, len);
+ set_size(newsize);
+ return *this;
}
TiXmlString operator + (const TiXmlString & a, const TiXmlString & b)
{
- TiXmlString tmp;
- tmp.reserve(a.length() + b.length());
- tmp += a;
- tmp += b;
- return tmp;
+ TiXmlString tmp;
+ tmp.reserve(a.length() + b.length());
+ tmp += a;
+ tmp += b;
+ return tmp;
}
TiXmlString operator + (const TiXmlString & a, const char* b)
{
- TiXmlString tmp;
- TiXmlString::size_type b_len = static_cast<TiXmlString::size_type>( strlen(b) );
- tmp.reserve(a.length() + b_len);
- tmp += a;
- tmp.append(b, b_len);
- return tmp;
+ TiXmlString tmp;
+ TiXmlString::size_type b_len = static_cast<TiXmlString::size_type>( strlen(b) );
+ tmp.reserve(a.length() + b_len);
+ tmp += a;
+ tmp.append(b, b_len);
+ return tmp;
}
TiXmlString operator + (const char* a, const TiXmlString & b)
{
- TiXmlString tmp;
- TiXmlString::size_type a_len = static_cast<TiXmlString::size_type>( strlen(a) );
- tmp.reserve(a_len + b.length());
- tmp.append(a, a_len);
- tmp += b;
- return tmp;
+ TiXmlString tmp;
+ TiXmlString::size_type a_len = static_cast<TiXmlString::size_type>( strlen(a) );
+ tmp.reserve(a_len + b.length());
+ tmp.append(a, a_len);
+ tmp += b;
+ return tmp;
}
diff --git a/shared/tinyxml/tinyxml.cpp b/shared/tinyxml/tinyxml.cpp
index 033d13be..9be6c6a6 100644
--- a/shared/tinyxml/tinyxml.cpp
+++ b/shared/tinyxml/tinyxml.cpp
@@ -31,1176 +31,1104 @@ distribution.
#include "tinyxml.h"
+FILE* TiXmlFOpen( const char* filename, const char* mode );
bool TiXmlBase::condenseWhiteSpace = true;
// Microsoft compiler security
FILE* TiXmlFOpen( const char* filename, const char* mode )
{
-#if defined(_MSC_VER) && (_MSC_VER >= 1400 )
- FILE* fp = 0;
- errno_t err = fopen_s( &fp, filename, mode );
- if ( !err && fp )
- return fp;
- return 0;
-#else
- return fopen( filename, mode );
-#endif
+ #if defined(_MSC_VER) && (_MSC_VER >= 1400 )
+ FILE* fp = 0;
+ errno_t err = fopen_s( &fp, filename, mode );
+ if ( !err && fp )
+ return fp;
+ return 0;
+ #else
+ return fopen( filename, mode );
+ #endif
}
void TiXmlBase::EncodeString( const TIXML_STRING& str, TIXML_STRING* outString )
{
- int i=0;
-
- while ( i<(int)str.length() )
- {
- unsigned char c = (unsigned char) str[i];
-
- if ( c == '&'
- && i < ( (int)str.length() - 2 )
- && str[i+1] == '#'
- && str[i+2] == 'x' )
- {
- // Hexadecimal character reference.
- // Pass through unchanged.
- // &#xA9; -- copyright symbol, for example.
- //
- // The -1 is a bug fix from Rob Laveaux. It keeps
- // an overflow from happening if there is no ';'.
- // There are actually 2 ways to exit this loop -
- // while fails (error case) and break (semicolon found).
- // However, there is no mechanism (currently) for
- // this function to return an error.
- while ( i<(int)str.length()-1 )
- {
- outString->append( str.c_str() + i, 1 );
- ++i;
- if ( str[i] == ';' )
- break;
- }
- }
- else if ( c == '&' )
- {
- outString->append( entity[0].str, entity[0].strLength );
- ++i;
- }
- else if ( c == '<' )
- {
- outString->append( entity[1].str, entity[1].strLength );
- ++i;
- }
- else if ( c == '>' )
- {
- outString->append( entity[2].str, entity[2].strLength );
- ++i;
- }
- else if ( c == '\"' )
- {
- outString->append( entity[3].str, entity[3].strLength );
- ++i;
- }
- else if ( c == '\'' )
- {
- outString->append( entity[4].str, entity[4].strLength );
- ++i;
- }
- else if ( c < 32 )
- {
- // Easy pass at non-alpha/numeric/symbol
- // Below 32 is symbolic.
- char buf[ 32 ];
-
-#if defined(TIXML_SNPRINTF)
- TIXML_SNPRINTF( buf, sizeof(buf), "&#x%02X;", (unsigned) ( c & 0xff ) );
-#else
- sprintf( buf, "&#x%02X;", (unsigned) ( c & 0xff ) );
-#endif
+ int i=0;
- //*ME: warning C4267: convert 'size_t' to 'int'
- //*ME: Int-Cast to make compiler happy ...
- outString->append( buf, (int)strlen( buf ) );
- ++i;
- }
- else
- {
- //char realc = (char) c;
- //outString->append( &realc, 1 );
- *outString += (char) c; // somewhat more efficient function call.
- ++i;
- }
- }
+ while( i<(int)str.length() )
+ {
+ unsigned char c = (unsigned char) str[i];
+
+ if ( c == '&'
+ && i < ( (int)str.length() - 2 )
+ && str[i+1] == '#'
+ && str[i+2] == 'x' )
+ {
+ // Hexadecimal character reference.
+ // Pass through unchanged.
+ // &#xA9; -- copyright symbol, for example.
+ //
+ // The -1 is a bug fix from Rob Laveaux. It keeps
+ // an overflow from happening if there is no ';'.
+ // There are actually 2 ways to exit this loop -
+ // while fails (error case) and break (semicolon found).
+ // However, there is no mechanism (currently) for
+ // this function to return an error.
+ while ( i<(int)str.length()-1 )
+ {
+ outString->append( str.c_str() + i, 1 );
+ ++i;
+ if ( str[i] == ';' )
+ break;
+ }
+ }
+ else if ( c == '&' )
+ {
+ outString->append( entity[0].str, entity[0].strLength );
+ ++i;
+ }
+ else if ( c == '<' )
+ {
+ outString->append( entity[1].str, entity[1].strLength );
+ ++i;
+ }
+ else if ( c == '>' )
+ {
+ outString->append( entity[2].str, entity[2].strLength );
+ ++i;
+ }
+ else if ( c == '\"' )
+ {
+ outString->append( entity[3].str, entity[3].strLength );
+ ++i;
+ }
+ else if ( c == '\'' )
+ {
+ outString->append( entity[4].str, entity[4].strLength );
+ ++i;
+ }
+ else if ( c < 32 )
+ {
+ // Easy pass at non-alpha/numeric/symbol
+ // Below 32 is symbolic.
+ char buf[ 32 ];
+
+ #if defined(TIXML_SNPRINTF)
+ TIXML_SNPRINTF( buf, sizeof(buf), "&#x%02X;", (unsigned) ( c & 0xff ) );
+ #else
+ sprintf( buf, "&#x%02X;", (unsigned) ( c & 0xff ) );
+ #endif
+
+ //*ME: warning C4267: convert 'size_t' to 'int'
+ //*ME: Int-Cast to make compiler happy ...
+ outString->append( buf, (int)strlen( buf ) );
+ ++i;
+ }
+ else
+ {
+ //char realc = (char) c;
+ //outString->append( &realc, 1 );
+ *outString += (char) c; // somewhat more efficient function call.
+ ++i;
+ }
+ }
}
TiXmlNode::TiXmlNode( NodeType _type ) : TiXmlBase()
{
- parent = 0;
- type = _type;
- firstChild = 0;
- lastChild = 0;
- prev = 0;
- next = 0;
+ parent = 0;
+ type = _type;
+ firstChild = 0;
+ lastChild = 0;
+ prev = 0;
+ next = 0;
}
TiXmlNode::~TiXmlNode()
{
- TiXmlNode* node = firstChild;
- TiXmlNode* temp = 0;
+ TiXmlNode* node = firstChild;
+ TiXmlNode* temp = 0;
- while ( node )
- {
- temp = node;
- node = node->next;
- delete temp;
- }
+ while ( node )
+ {
+ temp = node;
+ node = node->next;
+ delete temp;
+ }
}
void TiXmlNode::CopyTo( TiXmlNode* target ) const
{
- target->SetValue (value.c_str() );
- target->userData = userData;
+ target->SetValue (value.c_str() );
+ target->userData = userData;
+ target->location = location;
}
void TiXmlNode::Clear()
{
- TiXmlNode* node = firstChild;
- TiXmlNode* temp = 0;
+ TiXmlNode* node = firstChild;
+ TiXmlNode* temp = 0;
- while ( node )
- {
- temp = node;
- node = node->next;
- delete temp;
- }
+ while ( node )
+ {
+ temp = node;
+ node = node->next;
+ delete temp;
+ }
- firstChild = 0;
- lastChild = 0;
+ firstChild = 0;
+ lastChild = 0;
}
TiXmlNode* TiXmlNode::LinkEndChild( TiXmlNode* node )
{
- assert( node->parent == 0 || node->parent == this );
- assert( node->GetDocument() == 0 || node->GetDocument() == this->GetDocument() );
+ assert( node->parent == 0 || node->parent == this );
+ assert( node->GetDocument() == 0 || node->GetDocument() == this->GetDocument() );
- if ( node->Type() == TiXmlNode::DOCUMENT )
- {
- delete node;
- if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );
- return 0;
- }
+ if ( node->Type() == TiXmlNode::TINYXML_DOCUMENT )
+ {
+ delete node;
+ if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return 0;
+ }
- node->parent = this;
+ node->parent = this;
- node->prev = lastChild;
- node->next = 0;
+ node->prev = lastChild;
+ node->next = 0;
- if ( lastChild )
- lastChild->next = node;
- else
- firstChild = node; // it was an empty list.
+ if ( lastChild )
+ lastChild->next = node;
+ else
+ firstChild = node; // it was an empty list.
- lastChild = node;
- return node;
+ lastChild = node;
+ return node;
}
TiXmlNode* TiXmlNode::InsertEndChild( const TiXmlNode& addThis )
{
- if ( addThis.Type() == TiXmlNode::DOCUMENT )
- {
- if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );
- return 0;
- }
- TiXmlNode* node = addThis.Clone();
- if ( !node )
- return 0;
+ if ( addThis.Type() == TiXmlNode::TINYXML_DOCUMENT )
+ {
+ if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return 0;
+ }
+ TiXmlNode* node = addThis.Clone();
+ if ( !node )
+ return 0;
- return LinkEndChild( node );
+ return LinkEndChild( node );
}
TiXmlNode* TiXmlNode::InsertBeforeChild( TiXmlNode* beforeThis, const TiXmlNode& addThis )
-{
- if ( !beforeThis || beforeThis->parent != this )
- {
- return 0;
- }
- if ( addThis.Type() == TiXmlNode::DOCUMENT )
- {
- if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );
- return 0;
- }
-
- TiXmlNode* node = addThis.Clone();
- if ( !node )
- return 0;
- node->parent = this;
-
- node->next = beforeThis;
- node->prev = beforeThis->prev;
- if ( beforeThis->prev )
- {
- beforeThis->prev->next = node;
- }
- else
- {
- assert( firstChild == beforeThis );
- firstChild = node;
- }
- beforeThis->prev = node;
- return node;
+{
+ if ( !beforeThis || beforeThis->parent != this ) {
+ return 0;
+ }
+ if ( addThis.Type() == TiXmlNode::TINYXML_DOCUMENT )
+ {
+ if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return 0;
+ }
+
+ TiXmlNode* node = addThis.Clone();
+ if ( !node )
+ return 0;
+ node->parent = this;
+
+ node->next = beforeThis;
+ node->prev = beforeThis->prev;
+ if ( beforeThis->prev )
+ {
+ beforeThis->prev->next = node;
+ }
+ else
+ {
+ assert( firstChild == beforeThis );
+ firstChild = node;
+ }
+ beforeThis->prev = node;
+ return node;
}
TiXmlNode* TiXmlNode::InsertAfterChild( TiXmlNode* afterThis, const TiXmlNode& addThis )
{
- if ( !afterThis || afterThis->parent != this )
- {
- return 0;
- }
- if ( addThis.Type() == TiXmlNode::DOCUMENT )
- {
- if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );
- return 0;
- }
-
- TiXmlNode* node = addThis.Clone();
- if ( !node )
- return 0;
- node->parent = this;
-
- node->prev = afterThis;
- node->next = afterThis->next;
- if ( afterThis->next )
- {
- afterThis->next->prev = node;
- }
- else
- {
- assert( lastChild == afterThis );
- lastChild = node;
- }
- afterThis->next = node;
- return node;
+ if ( !afterThis || afterThis->parent != this ) {
+ return 0;
+ }
+ if ( addThis.Type() == TiXmlNode::TINYXML_DOCUMENT )
+ {
+ if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return 0;
+ }
+
+ TiXmlNode* node = addThis.Clone();
+ if ( !node )
+ return 0;
+ node->parent = this;
+
+ node->prev = afterThis;
+ node->next = afterThis->next;
+ if ( afterThis->next )
+ {
+ afterThis->next->prev = node;
+ }
+ else
+ {
+ assert( lastChild == afterThis );
+ lastChild = node;
+ }
+ afterThis->next = node;
+ return node;
}
TiXmlNode* TiXmlNode::ReplaceChild( TiXmlNode* replaceThis, const TiXmlNode& withThis )
{
- if ( replaceThis->parent != this )
- return 0;
+ if ( !replaceThis )
+ return 0;
- TiXmlNode* node = withThis.Clone();
- if ( !node )
- return 0;
+ if ( replaceThis->parent != this )
+ return 0;
- node->next = replaceThis->next;
- node->prev = replaceThis->prev;
+ if ( withThis.ToDocument() ) {
+ // A document can never be a child. Thanks to Noam.
+ TiXmlDocument* document = GetDocument();
+ if ( document )
+ document->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return 0;
+ }
- if ( replaceThis->next )
- replaceThis->next->prev = node;
- else
- lastChild = node;
+ TiXmlNode* node = withThis.Clone();
+ if ( !node )
+ return 0;
+
+ node->next = replaceThis->next;
+ node->prev = replaceThis->prev;
- if ( replaceThis->prev )
- replaceThis->prev->next = node;
- else
- firstChild = node;
+ if ( replaceThis->next )
+ replaceThis->next->prev = node;
+ else
+ lastChild = node;
- delete replaceThis;
- node->parent = this;
- return node;
+ if ( replaceThis->prev )
+ replaceThis->prev->next = node;
+ else
+ firstChild = node;
+
+ delete replaceThis;
+ node->parent = this;
+ return node;
}
bool TiXmlNode::RemoveChild( TiXmlNode* removeThis )
{
- if ( removeThis->parent != this )
- {
- assert( 0 );
- return false;
- }
+ if ( !removeThis ) {
+ return false;
+ }
- if ( removeThis->next )
- removeThis->next->prev = removeThis->prev;
- else
- lastChild = removeThis->prev;
+ if ( removeThis->parent != this )
+ {
+ assert( 0 );
+ return false;
+ }
+
+ if ( removeThis->next )
+ removeThis->next->prev = removeThis->prev;
+ else
+ lastChild = removeThis->prev;
- if ( removeThis->prev )
- removeThis->prev->next = removeThis->next;
- else
- firstChild = removeThis->next;
+ if ( removeThis->prev )
+ removeThis->prev->next = removeThis->next;
+ else
+ firstChild = removeThis->next;
- delete removeThis;
- return true;
+ delete removeThis;
+ return true;
}
const TiXmlNode* TiXmlNode::FirstChild( const char * _value ) const
{
- const TiXmlNode* node;
- for ( node = firstChild; node; node = node->next )
- {
- if ( strcmp( node->Value(), _value ) == 0 )
- return node;
- }
- return 0;
+ const TiXmlNode* node;
+ for ( node = firstChild; node; node = node->next )
+ {
+ if ( strcmp( node->Value(), _value ) == 0 )
+ return node;
+ }
+ return 0;
}
const TiXmlNode* TiXmlNode::LastChild( const char * _value ) const
{
- const TiXmlNode* node;
- for ( node = lastChild; node; node = node->prev )
- {
- if ( strcmp( node->Value(), _value ) == 0 )
- return node;
- }
- return 0;
+ const TiXmlNode* node;
+ for ( node = lastChild; node; node = node->prev )
+ {
+ if ( strcmp( node->Value(), _value ) == 0 )
+ return node;
+ }
+ return 0;
}
const TiXmlNode* TiXmlNode::IterateChildren( const TiXmlNode* previous ) const
{
- if ( !previous )
- {
- return FirstChild();
- }
- else
- {
- assert( previous->parent == this );
- return previous->NextSibling();
- }
+ if ( !previous )
+ {
+ return FirstChild();
+ }
+ else
+ {
+ assert( previous->parent == this );
+ return previous->NextSibling();
+ }
}
const TiXmlNode* TiXmlNode::IterateChildren( const char * val, const TiXmlNode* previous ) const
{
- if ( !previous )
- {
- return FirstChild( val );
- }
- else
- {
- assert( previous->parent == this );
- return previous->NextSibling( val );
- }
+ if ( !previous )
+ {
+ return FirstChild( val );
+ }
+ else
+ {
+ assert( previous->parent == this );
+ return previous->NextSibling( val );
+ }
}
-const TiXmlNode* TiXmlNode::NextSibling( const char * _value ) const
+const TiXmlNode* TiXmlNode::NextSibling( const char * _value ) const
{
- const TiXmlNode* node;
- for ( node = next; node; node = node->next )
- {
- if ( strcmp( node->Value(), _value ) == 0 )
- return node;
- }
- return 0;
+ const TiXmlNode* node;
+ for ( node = next; node; node = node->next )
+ {
+ if ( strcmp( node->Value(), _value ) == 0 )
+ return node;
+ }
+ return 0;
}
const TiXmlNode* TiXmlNode::PreviousSibling( const char * _value ) const
{
- const TiXmlNode* node;
- for ( node = prev; node; node = node->prev )
- {
- if ( strcmp( node->Value(), _value ) == 0 )
- return node;
- }
- return 0;
+ const TiXmlNode* node;
+ for ( node = prev; node; node = node->prev )
+ {
+ if ( strcmp( node->Value(), _value ) == 0 )
+ return node;
+ }
+ return 0;
}
void TiXmlElement::RemoveAttribute( const char * name )
{
-#ifdef TIXML_USE_STL
- TIXML_STRING str( name );
- TiXmlAttribute* node = attributeSet.Find( str );
-#else
- TiXmlAttribute* node = attributeSet.Find( name );
-#endif
- if ( node )
- {
- attributeSet.Remove( node );
- delete node;
- }
+ #ifdef TIXML_USE_STL
+ TIXML_STRING str( name );
+ TiXmlAttribute* node = attributeSet.Find( str );
+ #else
+ TiXmlAttribute* node = attributeSet.Find( name );
+ #endif
+ if ( node )
+ {
+ attributeSet.Remove( node );
+ delete node;
+ }
}
const TiXmlElement* TiXmlNode::FirstChildElement() const
{
- const TiXmlNode* node;
+ const TiXmlNode* node;
- for ( node = FirstChild();
- node;
- node = node->NextSibling() )
- {
- if ( node->ToElement() )
- return node->ToElement();
- }
- return 0;
+ for ( node = FirstChild();
+ node;
+ node = node->NextSibling() )
+ {
+ if ( node->ToElement() )
+ return node->ToElement();
+ }
+ return 0;
}
const TiXmlElement* TiXmlNode::FirstChildElement( const char * _value ) const
{
- const TiXmlNode* node;
+ const TiXmlNode* node;
- for ( node = FirstChild( _value );
- node;
- node = node->NextSibling( _value ) )
- {
- if ( node->ToElement() )
- return node->ToElement();
- }
- return 0;
+ for ( node = FirstChild( _value );
+ node;
+ node = node->NextSibling( _value ) )
+ {
+ if ( node->ToElement() )
+ return node->ToElement();
+ }
+ return 0;
}
const TiXmlElement* TiXmlNode::NextSiblingElement() const
{
- const TiXmlNode* node;
+ const TiXmlNode* node;
- for ( node = NextSibling();
- node;
- node = node->NextSibling() )
- {
- if ( node->ToElement() )
- return node->ToElement();
- }
- return 0;
+ for ( node = NextSibling();
+ node;
+ node = node->NextSibling() )
+ {
+ if ( node->ToElement() )
+ return node->ToElement();
+ }
+ return 0;
}
const TiXmlElement* TiXmlNode::NextSiblingElement( const char * _value ) const
{
- const TiXmlNode* node;
+ const TiXmlNode* node;
- for ( node = NextSibling( _value );
- node;
- node = node->NextSibling( _value ) )
- {
- if ( node->ToElement() )
- return node->ToElement();
- }
- return 0;
+ for ( node = NextSibling( _value );
+ node;
+ node = node->NextSibling( _value ) )
+ {
+ if ( node->ToElement() )
+ return node->ToElement();
+ }
+ return 0;
}
const TiXmlDocument* TiXmlNode::GetDocument() const
{
- const TiXmlNode* node;
+ const TiXmlNode* node;
- for ( node = this; node; node = node->parent )
- {
- if ( node->ToDocument() )
- return node->ToDocument();
- }
- return 0;
+ for( node = this; node; node = node->parent )
+ {
+ if ( node->ToDocument() )
+ return node->ToDocument();
+ }
+ return 0;
}
TiXmlElement::TiXmlElement (const char * _value)
- : TiXmlNode( TiXmlNode::ELEMENT )
+ : TiXmlNode( TiXmlNode::TINYXML_ELEMENT )
{
- firstChild = lastChild = 0;
- value = _value;
+ firstChild = lastChild = 0;
+ value = _value;
}
#ifdef TIXML_USE_STL
-TiXmlElement::TiXmlElement( const std::string& _value )
- : TiXmlNode( TiXmlNode::ELEMENT )
+TiXmlElement::TiXmlElement( const std::string& _value )
+ : TiXmlNode( TiXmlNode::TINYXML_ELEMENT )
{
- firstChild = lastChild = 0;
- value = _value;
+ firstChild = lastChild = 0;
+ value = _value;
}
#endif
TiXmlElement::TiXmlElement( const TiXmlElement& copy)
- : TiXmlNode( TiXmlNode::ELEMENT )
+ : TiXmlNode( TiXmlNode::TINYXML_ELEMENT )
{
- firstChild = lastChild = 0;
- copy.CopyTo( this );
+ firstChild = lastChild = 0;
+ copy.CopyTo( this );
}
void TiXmlElement::operator=( const TiXmlElement& base )
{
- ClearThis();
- base.CopyTo( this );
+ ClearThis();
+ base.CopyTo( this );
}
TiXmlElement::~TiXmlElement()
{
- ClearThis();
+ ClearThis();
}
void TiXmlElement::ClearThis()
{
- Clear();
- while ( attributeSet.First() )
- {
- TiXmlAttribute* node = attributeSet.First();
- attributeSet.Remove( node );
- delete node;
- }
+ Clear();
+ while( attributeSet.First() )
+ {
+ TiXmlAttribute* node = attributeSet.First();
+ attributeSet.Remove( node );
+ delete node;
+ }
}
const char* TiXmlElement::Attribute( const char* name ) const
{
- const TiXmlAttribute* node = attributeSet.Find( name );
- if ( node )
- return node->Value();
- return 0;
+ const TiXmlAttribute* node = attributeSet.Find( name );
+ if ( node )
+ return node->Value();
+ return 0;
}
#ifdef TIXML_USE_STL
const std::string* TiXmlElement::Attribute( const std::string& name ) const
{
- const TiXmlAttribute* node = attributeSet.Find( name );
- if ( node )
- return &node->ValueStr();
- return 0;
+ const TiXmlAttribute* attrib = attributeSet.Find( name );
+ if ( attrib )
+ return &attrib->ValueStr();
+ return 0;
}
#endif
const char* TiXmlElement::Attribute( const char* name, int* i ) const
{
- const char* s = Attribute( name );
- if ( i )
- {
- if ( s )
- {
- *i = atoi( s );
- }
- else
- {
- *i = 0;
- }
- }
- return s;
+ const TiXmlAttribute* attrib = attributeSet.Find( name );
+ const char* result = 0;
+
+ if ( attrib ) {
+ result = attrib->Value();
+ if ( i ) {
+ attrib->QueryIntValue( i );
+ }
+ }
+ return result;
}
#ifdef TIXML_USE_STL
const std::string* TiXmlElement::Attribute( const std::string& name, int* i ) const
{
- const std::string* s = Attribute( name );
- if ( i )
- {
- if ( s )
- {
- *i = atoi( s->c_str() );
- }
- else
- {
- *i = 0;
- }
- }
- return s;
+ const TiXmlAttribute* attrib = attributeSet.Find( name );
+ const std::string* result = 0;
+
+ if ( attrib ) {
+ result = &attrib->ValueStr();
+ if ( i ) {
+ attrib->QueryIntValue( i );
+ }
+ }
+ return result;
}
#endif
const char* TiXmlElement::Attribute( const char* name, double* d ) const
{
- const char* s = Attribute( name );
- if ( d )
- {
- if ( s )
- {
- *d = atof( s );
- }
- else
- {
- *d = 0;
- }
- }
- return s;
+ const TiXmlAttribute* attrib = attributeSet.Find( name );
+ const char* result = 0;
+
+ if ( attrib ) {
+ result = attrib->Value();
+ if ( d ) {
+ attrib->QueryDoubleValue( d );
+ }
+ }
+ return result;
}
#ifdef TIXML_USE_STL
const std::string* TiXmlElement::Attribute( const std::string& name, double* d ) const
{
- const std::string* s = Attribute( name );
- if ( d )
- {
- if ( s )
- {
- *d = atof( s->c_str() );
- }
- else
- {
- *d = 0;
- }
- }
- return s;
+ const TiXmlAttribute* attrib = attributeSet.Find( name );
+ const std::string* result = 0;
+
+ if ( attrib ) {
+ result = &attrib->ValueStr();
+ if ( d ) {
+ attrib->QueryDoubleValue( d );
+ }
+ }
+ return result;
}
#endif
int TiXmlElement::QueryIntAttribute( const char* name, int* ival ) const
{
- const TiXmlAttribute* node = attributeSet.Find( name );
- if ( !node )
- return TIXML_NO_ATTRIBUTE;
- return node->QueryIntValue( ival );
+ const TiXmlAttribute* attrib = attributeSet.Find( name );
+ if ( !attrib )
+ return TIXML_NO_ATTRIBUTE;
+ return attrib->QueryIntValue( ival );
}
#ifdef TIXML_USE_STL
int TiXmlElement::QueryIntAttribute( const std::string& name, int* ival ) const
{
- const TiXmlAttribute* node = attributeSet.Find( name );
- if ( !node )
- return TIXML_NO_ATTRIBUTE;
- return node->QueryIntValue( ival );
+ const TiXmlAttribute* attrib = attributeSet.Find( name );
+ if ( !attrib )
+ return TIXML_NO_ATTRIBUTE;
+ return attrib->QueryIntValue( ival );
}
#endif
int TiXmlElement::QueryDoubleAttribute( const char* name, double* dval ) const
{
- const TiXmlAttribute* node = attributeSet.Find( name );
- if ( !node )
- return TIXML_NO_ATTRIBUTE;
- return node->QueryDoubleValue( dval );
+ const TiXmlAttribute* attrib = attributeSet.Find( name );
+ if ( !attrib )
+ return TIXML_NO_ATTRIBUTE;
+ return attrib->QueryDoubleValue( dval );
}
#ifdef TIXML_USE_STL
int TiXmlElement::QueryDoubleAttribute( const std::string& name, double* dval ) const
{
- const TiXmlAttribute* node = attributeSet.Find( name );
- if ( !node )
- return TIXML_NO_ATTRIBUTE;
- return node->QueryDoubleValue( dval );
+ const TiXmlAttribute* attrib = attributeSet.Find( name );
+ if ( !attrib )
+ return TIXML_NO_ATTRIBUTE;
+ return attrib->QueryDoubleValue( dval );
}
#endif
void TiXmlElement::SetAttribute( const char * name, int val )
-{
- char buf[64];
-#if defined(TIXML_SNPRINTF)
- TIXML_SNPRINTF( buf, sizeof(buf), "%d", val );
-#else
- sprintf( buf, "%d", val );
-#endif
- SetAttribute( name, buf );
+{
+ TiXmlAttribute* attrib = attributeSet.FindOrCreate( name );
+ if ( attrib ) {
+ attrib->SetIntValue( val );
+ }
}
#ifdef TIXML_USE_STL
void TiXmlElement::SetAttribute( const std::string& name, int val )
-{
- std::ostringstream oss;
- oss << val;
- SetAttribute( name, oss.str() );
+{
+ TiXmlAttribute* attrib = attributeSet.FindOrCreate( name );
+ if ( attrib ) {
+ attrib->SetIntValue( val );
+ }
}
#endif
void TiXmlElement::SetDoubleAttribute( const char * name, double val )
-{
- char buf[256];
-#if defined(TIXML_SNPRINTF)
- TIXML_SNPRINTF( buf, sizeof(buf), "%f", val );
-#else
- sprintf( buf, "%f", val );
-#endif
- SetAttribute( name, buf );
+{
+ TiXmlAttribute* attrib = attributeSet.FindOrCreate( name );
+ if ( attrib ) {
+ attrib->SetDoubleValue( val );
+ }
}
-void TiXmlElement::SetAttribute( const char * cname, const char * cvalue )
-{
#ifdef TIXML_USE_STL
- TIXML_STRING _name( cname );
- TIXML_STRING _value( cvalue );
-#else
- const char* _name = cname;
- const char* _value = cvalue;
-#endif
+void TiXmlElement::SetDoubleAttribute( const std::string& name, double val )
+{
+ TiXmlAttribute* attrib = attributeSet.FindOrCreate( name );
+ if ( attrib ) {
+ attrib->SetDoubleValue( val );
+ }
+}
+#endif
- TiXmlAttribute* node = attributeSet.Find( _name );
- if ( node )
- {
- node->SetValue( _value );
- return;
- }
- TiXmlAttribute* attrib = new TiXmlAttribute( cname, cvalue );
- if ( attrib )
- {
- attributeSet.Add( attrib );
- }
- else
- {
- TiXmlDocument* document = GetDocument();
- if ( document ) document->SetError( TIXML_ERROR_OUT_OF_MEMORY, 0, 0, TIXML_ENCODING_UNKNOWN );
- }
+void TiXmlElement::SetAttribute( const char * cname, const char * cvalue )
+{
+ TiXmlAttribute* attrib = attributeSet.FindOrCreate( cname );
+ if ( attrib ) {
+ attrib->SetValue( cvalue );
+ }
}
#ifdef TIXML_USE_STL
-void TiXmlElement::SetAttribute( const std::string& name, const std::string& _value )
-{
- TiXmlAttribute* node = attributeSet.Find( name );
- if ( node )
- {
- node->SetValue( _value );
- return;
- }
-
- TiXmlAttribute* attrib = new TiXmlAttribute( name, _value );
- if ( attrib )
- {
- attributeSet.Add( attrib );
- }
- else
- {
- TiXmlDocument* document = GetDocument();
- if ( document ) document->SetError( TIXML_ERROR_OUT_OF_MEMORY, 0, 0, TIXML_ENCODING_UNKNOWN );
- }
+void TiXmlElement::SetAttribute( const std::string& _name, const std::string& _value )
+{
+ TiXmlAttribute* attrib = attributeSet.FindOrCreate( _name );
+ if ( attrib ) {
+ attrib->SetValue( _value );
+ }
}
#endif
void TiXmlElement::Print( FILE* cfile, int depth ) const
{
- int i;
- assert( cfile );
- for ( i=0; i<depth; i++ )
- {
- fprintf( cfile, " " );
- }
-
- fprintf( cfile, "<%s", value.c_str() );
-
- const TiXmlAttribute* attrib;
- for ( attrib = attributeSet.First(); attrib; attrib = attrib->Next() )
- {
- fprintf( cfile, " " );
- attrib->Print( cfile, depth );
- }
-
- // There are 3 different formatting approaches:
- // 1) An element without children is printed as a <foo /> node
- // 2) An element with only a text child is printed as <foo> text </foo>
- // 3) An element with children is printed on multiple lines.
- TiXmlNode* node;
- if ( !firstChild )
- {
- fprintf( cfile, " />" );
- }
- else if ( firstChild == lastChild && firstChild->ToText() )
- {
- fprintf( cfile, ">" );
- firstChild->Print( cfile, depth + 1 );
- fprintf( cfile, "</%s>", value.c_str() );
- }
- else
- {
- fprintf( cfile, ">" );
-
- for ( node = firstChild; node; node=node->NextSibling() )
- {
- if ( !node->ToText() )
- {
- fprintf( cfile, "\n" );
- }
- node->Print( cfile, depth+1 );
- }
- fprintf( cfile, "\n" );
- for ( i=0; i<depth; ++i )
- {
- fprintf( cfile, " " );
- }
- fprintf( cfile, "</%s>", value.c_str() );
- }
+ int i;
+ assert( cfile );
+ for ( i=0; i<depth; i++ ) {
+ fprintf( cfile, " " );
+ }
+
+ fprintf( cfile, "<%s", value.c_str() );
+
+ const TiXmlAttribute* attrib;
+ for ( attrib = attributeSet.First(); attrib; attrib = attrib->Next() )
+ {
+ fprintf( cfile, " " );
+ attrib->Print( cfile, depth );
+ }
+
+ // There are 3 different formatting approaches:
+ // 1) An element without children is printed as a <foo /> node
+ // 2) An element with only a text child is printed as <foo> text </foo>
+ // 3) An element with children is printed on multiple lines.
+ TiXmlNode* node;
+ if ( !firstChild )
+ {
+ fprintf( cfile, " />" );
+ }
+ else if ( firstChild == lastChild && firstChild->ToText() )
+ {
+ fprintf( cfile, ">" );
+ firstChild->Print( cfile, depth + 1 );
+ fprintf( cfile, "</%s>", value.c_str() );
+ }
+ else
+ {
+ fprintf( cfile, ">" );
+
+ for ( node = firstChild; node; node=node->NextSibling() )
+ {
+ if ( !node->ToText() )
+ {
+ fprintf( cfile, "\n" );
+ }
+ node->Print( cfile, depth+1 );
+ }
+ fprintf( cfile, "\n" );
+ for( i=0; i<depth; ++i ) {
+ fprintf( cfile, " " );
+ }
+ fprintf( cfile, "</%s>", value.c_str() );
+ }
}
void TiXmlElement::CopyTo( TiXmlElement* target ) const
{
- // superclass:
- TiXmlNode::CopyTo( target );
+ // superclass:
+ TiXmlNode::CopyTo( target );
- // Element class:
- // Clone the attributes, then clone the children.
- const TiXmlAttribute* attribute = 0;
- for ( attribute = attributeSet.First();
- attribute;
- attribute = attribute->Next() )
- {
- target->SetAttribute( attribute->Name(), attribute->Value() );
- }
+ // Element class:
+ // Clone the attributes, then clone the children.
+ const TiXmlAttribute* attribute = 0;
+ for( attribute = attributeSet.First();
+ attribute;
+ attribute = attribute->Next() )
+ {
+ target->SetAttribute( attribute->Name(), attribute->Value() );
+ }
- TiXmlNode* node = 0;
- for ( node = firstChild; node; node = node->NextSibling() )
- {
- target->LinkEndChild( node->Clone() );
- }
+ TiXmlNode* node = 0;
+ for ( node = firstChild; node; node = node->NextSibling() )
+ {
+ target->LinkEndChild( node->Clone() );
+ }
}
bool TiXmlElement::Accept( TiXmlVisitor* visitor ) const
{
- if ( visitor->VisitEnter( *this, attributeSet.First() ) )
- {
- for ( const TiXmlNode* node=FirstChild(); node; node=node->NextSibling() )
- {
- if ( !node->Accept( visitor ) )
- break;
- }
- }
- return visitor->VisitExit( *this );
+ if ( visitor->VisitEnter( *this, attributeSet.First() ) )
+ {
+ for ( const TiXmlNode* node=FirstChild(); node; node=node->NextSibling() )
+ {
+ if ( !node->Accept( visitor ) )
+ break;
+ }
+ }
+ return visitor->VisitExit( *this );
}
TiXmlNode* TiXmlElement::Clone() const
{
- TiXmlElement* clone = new TiXmlElement( Value() );
- if ( !clone )
- return 0;
+ TiXmlElement* clone = new TiXmlElement( Value() );
+ if ( !clone )
+ return 0;
- CopyTo( clone );
- return clone;
+ CopyTo( clone );
+ return clone;
}
const char* TiXmlElement::GetText() const
{
- const TiXmlNode* child = this->FirstChild();
- if ( child )
- {
- const TiXmlText* childText = child->ToText();
- if ( childText )
- {
- return childText->Value();
- }
- }
- return 0;
+ const TiXmlNode* child = this->FirstChild();
+ if ( child ) {
+ const TiXmlText* childText = child->ToText();
+ if ( childText ) {
+ return childText->Value();
+ }
+ }
+ return 0;
}
-TiXmlDocument::TiXmlDocument() : TiXmlNode( TiXmlNode::DOCUMENT )
+TiXmlDocument::TiXmlDocument() : TiXmlNode( TiXmlNode::TINYXML_DOCUMENT )
{
- tabsize = 4;
- useMicrosoftBOM = false;
- ClearError();
+ tabsize = 4;
+ useMicrosoftBOM = false;
+ ClearError();
}
-TiXmlDocument::TiXmlDocument( const char * documentName ) : TiXmlNode( TiXmlNode::DOCUMENT )
+TiXmlDocument::TiXmlDocument( const char * documentName ) : TiXmlNode( TiXmlNode::TINYXML_DOCUMENT )
{
- tabsize = 4;
- useMicrosoftBOM = false;
- value = documentName;
- ClearError();
+ tabsize = 4;
+ useMicrosoftBOM = false;
+ value = documentName;
+ ClearError();
}
#ifdef TIXML_USE_STL
-TiXmlDocument::TiXmlDocument( const std::string& documentName ) : TiXmlNode( TiXmlNode::DOCUMENT )
+TiXmlDocument::TiXmlDocument( const std::string& documentName ) : TiXmlNode( TiXmlNode::TINYXML_DOCUMENT )
{
- tabsize = 4;
- useMicrosoftBOM = false;
+ tabsize = 4;
+ useMicrosoftBOM = false;
value = documentName;
- ClearError();
+ ClearError();
}
#endif
-TiXmlDocument::TiXmlDocument( const TiXmlDocument& copy ) : TiXmlNode( TiXmlNode::DOCUMENT )
+TiXmlDocument::TiXmlDocument( const TiXmlDocument& copy ) : TiXmlNode( TiXmlNode::TINYXML_DOCUMENT )
{
- copy.CopyTo( this );
+ copy.CopyTo( this );
}
void TiXmlDocument::operator=( const TiXmlDocument& copy )
{
- Clear();
- copy.CopyTo( this );
+ Clear();
+ copy.CopyTo( this );
}
bool TiXmlDocument::LoadFile( TiXmlEncoding encoding )
{
- // See STL_STRING_BUG below.
- //StringToBuffer buf( value );
-
- return LoadFile( Value(), encoding );
+ return LoadFile( Value(), encoding );
}
bool TiXmlDocument::SaveFile() const
{
- // See STL_STRING_BUG below.
-// StringToBuffer buf( value );
-//
-// if ( buf.buffer && SaveFile( buf.buffer ) )
-// return true;
-//
-// return false;
- return SaveFile( Value() );
+ return SaveFile( Value() );
}
bool TiXmlDocument::LoadFile( const char* _filename, TiXmlEncoding encoding )
{
- // There was a really terrifying little bug here. The code:
- // value = filename
- // in the STL case, cause the assignment method of the std::string to
- // be called. What is strange, is that the std::string had the same
- // address as it's c_str() method, and so bad things happen. Looks
- // like a bug in the Microsoft STL implementation.
- // Add an extra string to avoid the crash.
- TIXML_STRING filename( _filename );
- value = filename;
-
- // reading in binary mode so that tinyxml can normalize the EOL
- FILE* file = TiXmlFOpen( value.c_str (), "rb" );
-
- if ( file )
- {
- bool result = LoadFile( file, encoding );
- fclose( file );
- return result;
- }
- else
- {
- SetError( TIXML_ERROR_OPENING_FILE, 0, 0, TIXML_ENCODING_UNKNOWN );
- return false;
- }
+ TIXML_STRING filename( _filename );
+ value = filename;
+
+ // reading in binary mode so that tinyxml can normalize the EOL
+ FILE* file = TiXmlFOpen( value.c_str (), "rb" );
+
+ if ( file )
+ {
+ bool result = LoadFile( file, encoding );
+ fclose( file );
+ return result;
+ }
+ else
+ {
+ SetError( TIXML_ERROR_OPENING_FILE, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return false;
+ }
}
bool TiXmlDocument::LoadFile( FILE* file, TiXmlEncoding encoding )
{
- if ( !file )
- {
- SetError( TIXML_ERROR_OPENING_FILE, 0, 0, TIXML_ENCODING_UNKNOWN );
- return false;
- }
-
- // Delete the existing data:
- Clear();
- location.Clear();
-
- // Get the file size, so we can pre-allocate the string. HUGE speed impact.
- long length = 0;
- fseek( file, 0, SEEK_END );
- length = ftell( file );
- fseek( file, 0, SEEK_SET );
-
- // Strange case, but good to handle up front.
- if ( length <= 0 )
- {
- SetError( TIXML_ERROR_DOCUMENT_EMPTY, 0, 0, TIXML_ENCODING_UNKNOWN );
- return false;
- }
-
- // If we have a file, assume it is all one big XML file, and read it in.
- // The document parser may decide the document ends sooner than the entire file, however.
- TIXML_STRING data;
- data.reserve( length );
-
- // Subtle bug here. TinyXml did use fgets. But from the XML spec:
- // 2.11 End-of-Line Handling
- // <snip>
- // <quote>
- // ...the XML processor MUST behave as if it normalized all line breaks in external
- // parsed entities (including the document entity) on input, before parsing, by translating
- // both the two-character sequence #xD #xA and any #xD that is not followed by #xA to
- // a single #xA character.
- // </quote>
- //
- // It is not clear fgets does that, and certainly isn't clear it works cross platform.
- // Generally, you expect fgets to translate from the convention of the OS to the c/unix
- // convention, and not work generally.
-
- /*
- while( fgets( buf, sizeof(buf), file ) )
- {
- data += buf;
- }
- */
-
- char* buf = new char[ length+1 ];
- buf[0] = 0;
-
- if ( fread( buf, length, 1, file ) != 1 )
- {
- delete [] buf;
- SetError( TIXML_ERROR_OPENING_FILE, 0, 0, TIXML_ENCODING_UNKNOWN );
- return false;
- }
-
- const char* lastPos = buf;
- const char* p = buf;
-
- buf[length] = 0;
- while ( *p )
- {
- assert( p < (buf+length) );
- if ( *p == 0xa )
- {
- // Newline character. No special rules for this. Append all the characters
- // since the last string, and include the newline.
- data.append( lastPos, (p-lastPos+1) ); // append, include the newline
- ++p; // move past the newline
- lastPos = p; // and point to the new buffer (may be 0)
- assert( p <= (buf+length) );
- }
- else if ( *p == 0xd )
- {
- // Carriage return. Append what we have so far, then
- // handle moving forward in the buffer.
- if ( (p-lastPos) > 0 )
- {
- data.append( lastPos, p-lastPos ); // do not add the CR
- }
- data += (char)0xa; // a proper newline
-
- if ( *(p+1) == 0xa )
- {
- // Carriage return - new line sequence
- p += 2;
- lastPos = p;
- assert( p <= (buf+length) );
- }
- else
- {
- // it was followed by something else...that is presumably characters again.
- ++p;
- lastPos = p;
- assert( p <= (buf+length) );
- }
- }
- else
- {
- ++p;
- }
- }
- // Handle any left over characters.
- if ( p-lastPos )
- {
- data.append( lastPos, p-lastPos );
- }
- delete [] buf;
- buf = 0;
-
- Parse( data.c_str(), 0, encoding );
-
- if ( Error() )
- return false;
- else
- return true;
+ if ( !file )
+ {
+ SetError( TIXML_ERROR_OPENING_FILE, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return false;
+ }
+
+ // Delete the existing data:
+ Clear();
+ location.Clear();
+
+ // Get the file size, so we can pre-allocate the string. HUGE speed impact.
+ long length = 0;
+ fseek( file, 0, SEEK_END );
+ length = ftell( file );
+ fseek( file, 0, SEEK_SET );
+
+ // Strange case, but good to handle up front.
+ if ( length <= 0 )
+ {
+ SetError( TIXML_ERROR_DOCUMENT_EMPTY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return false;
+ }
+
+ // Subtle bug here. TinyXml did use fgets. But from the XML spec:
+ // 2.11 End-of-Line Handling
+ // <snip>
+ // <quote>
+ // ...the XML processor MUST behave as if it normalized all line breaks in external
+ // parsed entities (including the document entity) on input, before parsing, by translating
+ // both the two-character sequence #xD #xA and any #xD that is not followed by #xA to
+ // a single #xA character.
+ // </quote>
+ //
+ // It is not clear fgets does that, and certainly isn't clear it works cross platform.
+ // Generally, you expect fgets to translate from the convention of the OS to the c/unix
+ // convention, and not work generally.
+
+ /*
+ while( fgets( buf, sizeof(buf), file ) )
+ {
+ data += buf;
+ }
+ */
+
+ char* buf = new char[ length+1 ];
+ buf[0] = 0;
+
+ if ( fread( buf, length, 1, file ) != 1 ) {
+ delete [] buf;
+ SetError( TIXML_ERROR_OPENING_FILE, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return false;
+ }
+
+ // Process the buffer in place to normalize new lines. (See comment above.)
+ // Copies from the 'p' to 'q' pointer, where p can advance faster if
+ // a newline-carriage return is hit.
+ //
+ // Wikipedia:
+ // Systems based on ASCII or a compatible character set use either LF (Line feed, '\n', 0x0A, 10 in decimal) or
+ // CR (Carriage return, '\r', 0x0D, 13 in decimal) individually, or CR followed by LF (CR+LF, 0x0D 0x0A)...
+ // * LF: Multics, Unix and Unix-like systems (GNU/Linux, AIX, Xenix, Mac OS X, FreeBSD, etc.), BeOS, Amiga, RISC OS, and others
+ // * CR+LF: DEC RT-11 and most other early non-Unix, non-IBM OSes, CP/M, MP/M, DOS, OS/2, Microsoft Windows, Symbian OS
+ // * CR: Commodore 8-bit machines, Apple II family, Mac OS up to version 9 and OS-9
+
+ const char* p = buf; // the read head
+ char* q = buf; // the write head
+ const char CR = 0x0d;
+ const char LF = 0x0a;
+
+ buf[length] = 0;
+ while( *p ) {
+ assert( p < (buf+length) );
+ assert( q <= (buf+length) );
+ assert( q <= p );
+
+ if ( *p == CR ) {
+ *q++ = LF;
+ p++;
+ if ( *p == LF ) { // check for CR+LF (and skip LF)
+ p++;
+ }
+ }
+ else {
+ *q++ = *p++;
+ }
+ }
+ assert( q <= (buf+length) );
+ *q = 0;
+
+ Parse( buf, 0, encoding );
+
+ delete [] buf;
+ return !Error();
}
bool TiXmlDocument::SaveFile( const char * filename ) const
{
- // The old c stuff lives on...
- FILE* fp = TiXmlFOpen( filename, "w" );
- if ( fp )
- {
- bool result = SaveFile( fp );
- fclose( fp );
- return result;
- }
- return false;
+ // The old c stuff lives on...
+ FILE* fp = TiXmlFOpen( filename, "w" );
+ if ( fp )
+ {
+ bool result = SaveFile( fp );
+ fclose( fp );
+ return result;
+ }
+ return false;
}
bool TiXmlDocument::SaveFile( FILE* fp ) const
{
- if ( useMicrosoftBOM )
- {
- const unsigned char TIXML_UTF_LEAD_0 = 0xefU;
- const unsigned char TIXML_UTF_LEAD_1 = 0xbbU;
- const unsigned char TIXML_UTF_LEAD_2 = 0xbfU;
+ if ( useMicrosoftBOM )
+ {
+ const unsigned char TIXML_UTF_LEAD_0 = 0xefU;
+ const unsigned char TIXML_UTF_LEAD_1 = 0xbbU;
+ const unsigned char TIXML_UTF_LEAD_2 = 0xbfU;
- fputc( TIXML_UTF_LEAD_0, fp );
- fputc( TIXML_UTF_LEAD_1, fp );
- fputc( TIXML_UTF_LEAD_2, fp );
- }
- Print( fp, 0 );
- return (ferror(fp) == 0);
+ fputc( TIXML_UTF_LEAD_0, fp );
+ fputc( TIXML_UTF_LEAD_1, fp );
+ fputc( TIXML_UTF_LEAD_2, fp );
+ }
+ Print( fp, 0 );
+ return (ferror(fp) == 0);
}
void TiXmlDocument::CopyTo( TiXmlDocument* target ) const
{
- TiXmlNode::CopyTo( target );
+ TiXmlNode::CopyTo( target );
- target->error = error;
- target->errorId = errorId;
- target->errorDesc = errorDesc;
- target->tabsize = tabsize;
- target->errorLocation = errorLocation;
- target->useMicrosoftBOM = useMicrosoftBOM;
+ target->error = error;
+ target->errorId = errorId;
+ target->errorDesc = errorDesc;
+ target->tabsize = tabsize;
+ target->errorLocation = errorLocation;
+ target->useMicrosoftBOM = useMicrosoftBOM;
- TiXmlNode* node = 0;
- for ( node = firstChild; node; node = node->NextSibling() )
- {
- target->LinkEndChild( node->Clone() );
- }
+ TiXmlNode* node = 0;
+ for ( node = firstChild; node; node = node->NextSibling() )
+ {
+ target->LinkEndChild( node->Clone() );
+ }
}
TiXmlNode* TiXmlDocument::Clone() const
{
- TiXmlDocument* clone = new TiXmlDocument();
- if ( !clone )
- return 0;
+ TiXmlDocument* clone = new TiXmlDocument();
+ if ( !clone )
+ return 0;
- CopyTo( clone );
- return clone;
+ CopyTo( clone );
+ return clone;
}
void TiXmlDocument::Print( FILE* cfile, int depth ) const
{
- assert( cfile );
- for ( const TiXmlNode* node=FirstChild(); node; node=node->NextSibling() )
- {
- node->Print( cfile, depth );
- fprintf( cfile, "\n" );
- }
+ assert( cfile );
+ for ( const TiXmlNode* node=FirstChild(); node; node=node->NextSibling() )
+ {
+ node->Print( cfile, depth );
+ fprintf( cfile, "\n" );
+ }
}
bool TiXmlDocument::Accept( TiXmlVisitor* visitor ) const
{
- if ( visitor->VisitEnter( *this ) )
- {
- for ( const TiXmlNode* node=FirstChild(); node; node=node->NextSibling() )
- {
- if ( !node->Accept( visitor ) )
- break;
- }
- }
- return visitor->VisitExit( *this );
+ if ( visitor->VisitEnter( *this ) )
+ {
+ for ( const TiXmlNode* node=FirstChild(); node; node=node->NextSibling() )
+ {
+ if ( !node->Accept( visitor ) )
+ break;
+ }
+ }
+ return visitor->VisitExit( *this );
}
const TiXmlAttribute* TiXmlAttribute::Next() const
{
- // We are using knowledge of the sentinel. The sentinel
- // have a value or name.
- if ( next->value.empty() && next->name.empty() )
- return 0;
- return next;
+ // We are using knowledge of the sentinel. The sentinel
+ // have a value or name.
+ if ( next->value.empty() && next->name.empty() )
+ return 0;
+ return next;
}
/*
@@ -1216,11 +1144,11 @@ TiXmlAttribute* TiXmlAttribute::Next()
const TiXmlAttribute* TiXmlAttribute::Previous() const
{
- // We are using knowledge of the sentinel. The sentinel
- // have a value or name.
- if ( prev->value.empty() && prev->name.empty() )
- return 0;
- return prev;
+ // We are using knowledge of the sentinel. The sentinel
+ // have a value or name.
+ if ( prev->value.empty() && prev->name.empty() )
+ return 0;
+ return prev;
}
/*
@@ -1236,384 +1164,342 @@ TiXmlAttribute* TiXmlAttribute::Previous()
void TiXmlAttribute::Print( FILE* cfile, int /*depth*/, TIXML_STRING* str ) const
{
- TIXML_STRING n, v;
-
- EncodeString( name, &n );
- EncodeString( value, &v );
-
- if (value.find ('\"') == TIXML_STRING::npos)
- {
- if ( cfile )
- {
- fprintf (cfile, "%s=\"%s\"", n.c_str(), v.c_str() );
- }
- if ( str )
- {
- (*str) += n;
- (*str) += "=\"";
- (*str) += v;
- (*str) += "\"";
- }
- }
- else
- {
- if ( cfile )
- {
- fprintf (cfile, "%s='%s'", n.c_str(), v.c_str() );
- }
- if ( str )
- {
- (*str) += n;
- (*str) += "='";
- (*str) += v;
- (*str) += "'";
- }
- }
+ TIXML_STRING n, v;
+
+ EncodeString( name, &n );
+ EncodeString( value, &v );
+
+ if (value.find ('\"') == TIXML_STRING::npos) {
+ if ( cfile ) {
+ fprintf (cfile, "%s=\"%s\"", n.c_str(), v.c_str() );
+ }
+ if ( str ) {
+ (*str) += n; (*str) += "=\""; (*str) += v; (*str) += "\"";
+ }
+ }
+ else {
+ if ( cfile ) {
+ fprintf (cfile, "%s='%s'", n.c_str(), v.c_str() );
+ }
+ if ( str ) {
+ (*str) += n; (*str) += "='"; (*str) += v; (*str) += "'";
+ }
+ }
}
int TiXmlAttribute::QueryIntValue( int* ival ) const
{
- if ( TIXML_SSCANF( value.c_str(), "%d", ival ) == 1 )
- return TIXML_SUCCESS;
- return TIXML_WRONG_TYPE;
+ if ( TIXML_SSCANF( value.c_str(), "%d", ival ) == 1 )
+ return TIXML_SUCCESS;
+ return TIXML_WRONG_TYPE;
}
int TiXmlAttribute::QueryDoubleValue( double* dval ) const
{
- if ( TIXML_SSCANF( value.c_str(), "%lf", dval ) == 1 )
- return TIXML_SUCCESS;
- return TIXML_WRONG_TYPE;
+ if ( TIXML_SSCANF( value.c_str(), "%lf", dval ) == 1 )
+ return TIXML_SUCCESS;
+ return TIXML_WRONG_TYPE;
}
void TiXmlAttribute::SetIntValue( int _value )
{
- char buf [64];
-#if defined(TIXML_SNPRINTF)
- TIXML_SNPRINTF(buf, sizeof(buf), "%d", _value);
-#else
- sprintf (buf, "%d", _value);
-#endif
- SetValue (buf);
+ char buf [64];
+ #if defined(TIXML_SNPRINTF)
+ TIXML_SNPRINTF(buf, sizeof(buf), "%d", _value);
+ #else
+ sprintf (buf, "%d", _value);
+ #endif
+ SetValue (buf);
}
void TiXmlAttribute::SetDoubleValue( double _value )
{
- char buf [256];
-#if defined(TIXML_SNPRINTF)
- TIXML_SNPRINTF( buf, sizeof(buf), "%lf", _value);
-#else
- sprintf (buf, "%lf", _value);
-#endif
- SetValue (buf);
+ char buf [256];
+ #if defined(TIXML_SNPRINTF)
+ TIXML_SNPRINTF( buf, sizeof(buf), "%g", _value);
+ #else
+ sprintf (buf, "%g", _value);
+ #endif
+ SetValue (buf);
}
int TiXmlAttribute::IntValue() const
{
- return atoi (value.c_str ());
+ return atoi (value.c_str ());
}
double TiXmlAttribute::DoubleValue() const
{
- return atof (value.c_str ());
+ return atof (value.c_str ());
}
-TiXmlComment::TiXmlComment( const TiXmlComment& copy ) : TiXmlNode( TiXmlNode::COMMENT )
+TiXmlComment::TiXmlComment( const TiXmlComment& copy ) : TiXmlNode( TiXmlNode::TINYXML_COMMENT )
{
- copy.CopyTo( this );
+ copy.CopyTo( this );
}
void TiXmlComment::operator=( const TiXmlComment& base )
{
- Clear();
- base.CopyTo( this );
+ Clear();
+ base.CopyTo( this );
}
void TiXmlComment::Print( FILE* cfile, int depth ) const
{
- assert( cfile );
- for ( int i=0; i<depth; i++ )
- {
- fprintf( cfile, " " );
- }
- fprintf( cfile, "<!--%s-->", value.c_str() );
+ assert( cfile );
+ for ( int i=0; i<depth; i++ )
+ {
+ fprintf( cfile, " " );
+ }
+ fprintf( cfile, "<!--%s-->", value.c_str() );
}
void TiXmlComment::CopyTo( TiXmlComment* target ) const
{
- TiXmlNode::CopyTo( target );
+ TiXmlNode::CopyTo( target );
}
bool TiXmlComment::Accept( TiXmlVisitor* visitor ) const
{
- return visitor->Visit( *this );
+ return visitor->Visit( *this );
}
TiXmlNode* TiXmlComment::Clone() const
{
- TiXmlComment* clone = new TiXmlComment();
+ TiXmlComment* clone = new TiXmlComment();
- if ( !clone )
- return 0;
+ if ( !clone )
+ return 0;
- CopyTo( clone );
- return clone;
+ CopyTo( clone );
+ return clone;
}
void TiXmlText::Print( FILE* cfile, int depth ) const
{
- assert( cfile );
- if ( cdata )
- {
- int i;
- fprintf( cfile, "\n" );
- for ( i=0; i<depth; i++ )
- {
- fprintf( cfile, " " );
- }
- fprintf( cfile, "<![CDATA[%s]]>\n", value.c_str() ); // unformatted output
- }
- else
- {
- TIXML_STRING buffer;
- EncodeString( value, &buffer );
- fprintf( cfile, "%s", buffer.c_str() );
- }
+ assert( cfile );
+ if ( cdata )
+ {
+ int i;
+ fprintf( cfile, "\n" );
+ for ( i=0; i<depth; i++ ) {
+ fprintf( cfile, " " );
+ }
+ fprintf( cfile, "<![CDATA[%s]]>\n", value.c_str() ); // unformatted output
+ }
+ else
+ {
+ TIXML_STRING buffer;
+ EncodeString( value, &buffer );
+ fprintf( cfile, "%s", buffer.c_str() );
+ }
}
void TiXmlText::CopyTo( TiXmlText* target ) const
{
- TiXmlNode::CopyTo( target );
- target->cdata = cdata;
+ TiXmlNode::CopyTo( target );
+ target->cdata = cdata;
}
bool TiXmlText::Accept( TiXmlVisitor* visitor ) const
{
- return visitor->Visit( *this );
+ return visitor->Visit( *this );
}
TiXmlNode* TiXmlText::Clone() const
-{
- TiXmlText* clone = 0;
- clone = new TiXmlText( "" );
+{
+ TiXmlText* clone = 0;
+ clone = new TiXmlText( "" );
- if ( !clone )
- return 0;
+ if ( !clone )
+ return 0;
- CopyTo( clone );
- return clone;
+ CopyTo( clone );
+ return clone;
}
TiXmlDeclaration::TiXmlDeclaration( const char * _version,
- const char * _encoding,
- const char * _standalone )
- : TiXmlNode( TiXmlNode::DECLARATION )
+ const char * _encoding,
+ const char * _standalone )
+ : TiXmlNode( TiXmlNode::TINYXML_DECLARATION )
{
- version = _version;
- encoding = _encoding;
- standalone = _standalone;
+ version = _version;
+ encoding = _encoding;
+ standalone = _standalone;
}
#ifdef TIXML_USE_STL
TiXmlDeclaration::TiXmlDeclaration( const std::string& _version,
- const std::string& _encoding,
- const std::string& _standalone )
- : TiXmlNode( TiXmlNode::DECLARATION )
+ const std::string& _encoding,
+ const std::string& _standalone )
+ : TiXmlNode( TiXmlNode::TINYXML_DECLARATION )
{
- version = _version;
- encoding = _encoding;
- standalone = _standalone;
+ version = _version;
+ encoding = _encoding;
+ standalone = _standalone;
}
#endif
TiXmlDeclaration::TiXmlDeclaration( const TiXmlDeclaration& copy )
- : TiXmlNode( TiXmlNode::DECLARATION )
+ : TiXmlNode( TiXmlNode::TINYXML_DECLARATION )
{
- copy.CopyTo( this );
+ copy.CopyTo( this );
}
void TiXmlDeclaration::operator=( const TiXmlDeclaration& copy )
{
- Clear();
- copy.CopyTo( this );
+ Clear();
+ copy.CopyTo( this );
}
void TiXmlDeclaration::Print( FILE* cfile, int /*depth*/, TIXML_STRING* str ) const
{
- if ( cfile ) fprintf( cfile, "<?xml " );
- if ( str ) (*str) += "<?xml ";
-
- if ( !version.empty() )
- {
- if ( cfile ) fprintf (cfile, "version=\"%s\" ", version.c_str ());
- if ( str )
- {
- (*str) += "version=\"";
- (*str) += version;
- (*str) += "\" ";
- }
- }
- if ( !encoding.empty() )
- {
- if ( cfile ) fprintf (cfile, "encoding=\"%s\" ", encoding.c_str ());
- if ( str )
- {
- (*str) += "encoding=\"";
- (*str) += encoding;
- (*str) += "\" ";
- }
- }
- if ( !standalone.empty() )
- {
- if ( cfile ) fprintf (cfile, "standalone=\"%s\" ", standalone.c_str ());
- if ( str )
- {
- (*str) += "standalone=\"";
- (*str) += standalone;
- (*str) += "\" ";
- }
- }
- if ( cfile ) fprintf( cfile, "?>" );
- if ( str ) (*str) += "?>";
+ if ( cfile ) fprintf( cfile, "<?xml " );
+ if ( str ) (*str) += "<?xml ";
+
+ if ( !version.empty() ) {
+ if ( cfile ) fprintf (cfile, "version=\"%s\" ", version.c_str ());
+ if ( str ) { (*str) += "version=\""; (*str) += version; (*str) += "\" "; }
+ }
+ if ( !encoding.empty() ) {
+ if ( cfile ) fprintf (cfile, "encoding=\"%s\" ", encoding.c_str ());
+ if ( str ) { (*str) += "encoding=\""; (*str) += encoding; (*str) += "\" "; }
+ }
+ if ( !standalone.empty() ) {
+ if ( cfile ) fprintf (cfile, "standalone=\"%s\" ", standalone.c_str ());
+ if ( str ) { (*str) += "standalone=\""; (*str) += standalone; (*str) += "\" "; }
+ }
+ if ( cfile ) fprintf( cfile, "?>" );
+ if ( str ) (*str) += "?>";
}
void TiXmlDeclaration::CopyTo( TiXmlDeclaration* target ) const
{
- TiXmlNode::CopyTo( target );
+ TiXmlNode::CopyTo( target );
- target->version = version;
- target->encoding = encoding;
- target->standalone = standalone;
+ target->version = version;
+ target->encoding = encoding;
+ target->standalone = standalone;
}
bool TiXmlDeclaration::Accept( TiXmlVisitor* visitor ) const
{
- return visitor->Visit( *this );
+ return visitor->Visit( *this );
}
TiXmlNode* TiXmlDeclaration::Clone() const
-{
- TiXmlDeclaration* clone = new TiXmlDeclaration();
+{
+ TiXmlDeclaration* clone = new TiXmlDeclaration();
- if ( !clone )
- return 0;
+ if ( !clone )
+ return 0;
- CopyTo( clone );
- return clone;
+ CopyTo( clone );
+ return clone;
}
void TiXmlUnknown::Print( FILE* cfile, int depth ) const
{
- for ( int i=0; i<depth; i++ )
- fprintf( cfile, " " );
- fprintf( cfile, "<%s>", value.c_str() );
+ for ( int i=0; i<depth; i++ )
+ fprintf( cfile, " " );
+ fprintf( cfile, "<%s>", value.c_str() );
}
void TiXmlUnknown::CopyTo( TiXmlUnknown* target ) const
{
- TiXmlNode::CopyTo( target );
+ TiXmlNode::CopyTo( target );
}
bool TiXmlUnknown::Accept( TiXmlVisitor* visitor ) const
{
- return visitor->Visit( *this );
+ return visitor->Visit( *this );
}
TiXmlNode* TiXmlUnknown::Clone() const
{
- TiXmlUnknown* clone = new TiXmlUnknown();
+ TiXmlUnknown* clone = new TiXmlUnknown();
- if ( !clone )
- return 0;
+ if ( !clone )
+ return 0;
- CopyTo( clone );
- return clone;
+ CopyTo( clone );
+ return clone;
}
TiXmlAttributeSet::TiXmlAttributeSet()
{
- sentinel.next = &sentinel;
- sentinel.prev = &sentinel;
+ sentinel.next = &sentinel;
+ sentinel.prev = &sentinel;
}
TiXmlAttributeSet::~TiXmlAttributeSet()
{
- assert( sentinel.next == &sentinel );
- assert( sentinel.prev == &sentinel );
+ assert( sentinel.next == &sentinel );
+ assert( sentinel.prev == &sentinel );
}
void TiXmlAttributeSet::Add( TiXmlAttribute* addMe )
{
-#ifdef TIXML_USE_STL
- assert( !Find( TIXML_STRING( addMe->Name() ) ) ); // Shouldn't be multiply adding to the set.
-#else
- assert( !Find( addMe->Name() ) ); // Shouldn't be multiply adding to the set.
-#endif
+ #ifdef TIXML_USE_STL
+ assert( !Find( TIXML_STRING( addMe->Name() ) ) ); // Shouldn't be multiply adding to the set.
+ #else
+ assert( !Find( addMe->Name() ) ); // Shouldn't be multiply adding to the set.
+ #endif
- addMe->next = &sentinel;
- addMe->prev = sentinel.prev;
+ addMe->next = &sentinel;
+ addMe->prev = sentinel.prev;
- sentinel.prev->next = addMe;
- sentinel.prev = addMe;
+ sentinel.prev->next = addMe;
+ sentinel.prev = addMe;
}
void TiXmlAttributeSet::Remove( TiXmlAttribute* removeMe )
{
- TiXmlAttribute* node;
+ TiXmlAttribute* node;
- for ( node = sentinel.next; node != &sentinel; node = node->next )
- {
- if ( node == removeMe )
- {
- node->prev->next = node->next;
- node->next->prev = node->prev;
- node->next = 0;
- node->prev = 0;
- return;
- }
- }
- assert( 0 ); // we tried to remove a non-linked attribute.
+ for( node = sentinel.next; node != &sentinel; node = node->next )
+ {
+ if ( node == removeMe )
+ {
+ node->prev->next = node->next;
+ node->next->prev = node->prev;
+ node->next = 0;
+ node->prev = 0;
+ return;
+ }
+ }
+ assert( 0 ); // we tried to remove a non-linked attribute.
}
#ifdef TIXML_USE_STL
-const TiXmlAttribute* TiXmlAttributeSet::Find( const std::string& name ) const
-{
- for ( const TiXmlAttribute* node = sentinel.next; node != &sentinel; node = node->next )
- {
- if ( node->name == name )
- return node;
- }
- return 0;
-}
-
-/*
-TiXmlAttribute* TiXmlAttributeSet::Find( const std::string& name )
+TiXmlAttribute* TiXmlAttributeSet::Find( const std::string& name ) const
{
for( TiXmlAttribute* node = sentinel.next; node != &sentinel; node = node->next )
{
@@ -1622,22 +1508,21 @@ TiXmlAttribute* TiXmlAttributeSet::Find( const std::string& name )
}
return 0;
}
-*/
-#endif
-
-const TiXmlAttribute* TiXmlAttributeSet::Find( const char* name ) const
+TiXmlAttribute* TiXmlAttributeSet::FindOrCreate( const std::string& _name )
{
- for ( const TiXmlAttribute* node = sentinel.next; node != &sentinel; node = node->next )
- {
- if ( strcmp( node->name.c_str(), name ) == 0 )
- return node;
- }
- return 0;
+ TiXmlAttribute* attrib = Find( _name );
+ if ( !attrib ) {
+ attrib = new TiXmlAttribute();
+ Add( attrib );
+ attrib->SetName( _name );
+ }
+ return attrib;
}
+#endif
-/*
-TiXmlAttribute* TiXmlAttributeSet::Find( const char* name )
+
+TiXmlAttribute* TiXmlAttributeSet::Find( const char* name ) const
{
for( TiXmlAttribute* node = sentinel.next; node != &sentinel; node = node->next )
{
@@ -1646,297 +1531,309 @@ TiXmlAttribute* TiXmlAttributeSet::Find( const char* name )
}
return 0;
}
-*/
-#ifdef TIXML_USE_STL
+
+TiXmlAttribute* TiXmlAttributeSet::FindOrCreate( const char* _name )
+{
+ TiXmlAttribute* attrib = Find( _name );
+ if ( !attrib ) {
+ attrib = new TiXmlAttribute();
+ Add( attrib );
+ attrib->SetName( _name );
+ }
+ return attrib;
+}
+
+
+#ifdef TIXML_USE_STL
std::istream& operator>> (std::istream & in, TiXmlNode & base)
{
- TIXML_STRING tag;
- tag.reserve( 8 * 1000 );
- base.StreamIn( &in, &tag );
+ TIXML_STRING tag;
+ tag.reserve( 8 * 1000 );
+ base.StreamIn( &in, &tag );
- base.Parse( tag.c_str(), 0, TIXML_DEFAULT_ENCODING );
- return in;
+ base.Parse( tag.c_str(), 0, TIXML_DEFAULT_ENCODING );
+ return in;
}
#endif
-#ifdef TIXML_USE_STL
+#ifdef TIXML_USE_STL
std::ostream& operator<< (std::ostream & out, const TiXmlNode & base)
{
- TiXmlPrinter printer;
- printer.SetStreamPrinting();
- base.Accept( &printer );
- out << printer.Str();
+ TiXmlPrinter printer;
+ printer.SetStreamPrinting();
+ base.Accept( &printer );
+ out << printer.Str();
- return out;
+ return out;
}
std::string& operator<< (std::string& out, const TiXmlNode& base )
{
- TiXmlPrinter printer;
- printer.SetStreamPrinting();
- base.Accept( &printer );
- out.append( printer.Str() );
+ TiXmlPrinter printer;
+ printer.SetStreamPrinting();
+ base.Accept( &printer );
+ out.append( printer.Str() );
- return out;
+ return out;
}
#endif
TiXmlHandle TiXmlHandle::FirstChild() const
{
- if ( node )
- {
- TiXmlNode* child = node->FirstChild();
- if ( child )
- return TiXmlHandle( child );
- }
- return TiXmlHandle( 0 );
+ if ( node )
+ {
+ TiXmlNode* child = node->FirstChild();
+ if ( child )
+ return TiXmlHandle( child );
+ }
+ return TiXmlHandle( 0 );
}
TiXmlHandle TiXmlHandle::FirstChild( const char * value ) const
{
- if ( node )
- {
- TiXmlNode* child = node->FirstChild( value );
- if ( child )
- return TiXmlHandle( child );
- }
- return TiXmlHandle( 0 );
+ if ( node )
+ {
+ TiXmlNode* child = node->FirstChild( value );
+ if ( child )
+ return TiXmlHandle( child );
+ }
+ return TiXmlHandle( 0 );
}
TiXmlHandle TiXmlHandle::FirstChildElement() const
{
- if ( node )
- {
- TiXmlElement* child = node->FirstChildElement();
- if ( child )
- return TiXmlHandle( child );
- }
- return TiXmlHandle( 0 );
+ if ( node )
+ {
+ TiXmlElement* child = node->FirstChildElement();
+ if ( child )
+ return TiXmlHandle( child );
+ }
+ return TiXmlHandle( 0 );
}
TiXmlHandle TiXmlHandle::FirstChildElement( const char * value ) const
{
- if ( node )
- {
- TiXmlElement* child = node->FirstChildElement( value );
- if ( child )
- return TiXmlHandle( child );
- }
- return TiXmlHandle( 0 );
+ if ( node )
+ {
+ TiXmlElement* child = node->FirstChildElement( value );
+ if ( child )
+ return TiXmlHandle( child );
+ }
+ return TiXmlHandle( 0 );
}
TiXmlHandle TiXmlHandle::Child( int count ) const
{
- if ( node )
- {
- int i;
- TiXmlNode* child = node->FirstChild();
- for ( i=0;
- child && i<count;
- child = child->NextSibling(), ++i )
- {
- // nothing
- }
- if ( child )
- return TiXmlHandle( child );
- }
- return TiXmlHandle( 0 );
+ if ( node )
+ {
+ int i;
+ TiXmlNode* child = node->FirstChild();
+ for ( i=0;
+ child && i<count;
+ child = child->NextSibling(), ++i )
+ {
+ // nothing
+ }
+ if ( child )
+ return TiXmlHandle( child );
+ }
+ return TiXmlHandle( 0 );
}
TiXmlHandle TiXmlHandle::Child( const char* value, int count ) const
{
- if ( node )
- {
- int i;
- TiXmlNode* child = node->FirstChild( value );
- for ( i=0;
- child && i<count;
- child = child->NextSibling( value ), ++i )
- {
- // nothing
- }
- if ( child )
- return TiXmlHandle( child );
- }
- return TiXmlHandle( 0 );
+ if ( node )
+ {
+ int i;
+ TiXmlNode* child = node->FirstChild( value );
+ for ( i=0;
+ child && i<count;
+ child = child->NextSibling( value ), ++i )
+ {
+ // nothing
+ }
+ if ( child )
+ return TiXmlHandle( child );
+ }
+ return TiXmlHandle( 0 );
}
TiXmlHandle TiXmlHandle::ChildElement( int count ) const
{
- if ( node )
- {
- int i;
- TiXmlElement* child = node->FirstChildElement();
- for ( i=0;
- child && i<count;
- child = child->NextSiblingElement(), ++i )
- {
- // nothing
- }
- if ( child )
- return TiXmlHandle( child );
- }
- return TiXmlHandle( 0 );
+ if ( node )
+ {
+ int i;
+ TiXmlElement* child = node->FirstChildElement();
+ for ( i=0;
+ child && i<count;
+ child = child->NextSiblingElement(), ++i )
+ {
+ // nothing
+ }
+ if ( child )
+ return TiXmlHandle( child );
+ }
+ return TiXmlHandle( 0 );
}
TiXmlHandle TiXmlHandle::ChildElement( const char* value, int count ) const
{
- if ( node )
- {
- int i;
- TiXmlElement* child = node->FirstChildElement( value );
- for ( i=0;
- child && i<count;
- child = child->NextSiblingElement( value ), ++i )
- {
- // nothing
- }
- if ( child )
- return TiXmlHandle( child );
- }
- return TiXmlHandle( 0 );
+ if ( node )
+ {
+ int i;
+ TiXmlElement* child = node->FirstChildElement( value );
+ for ( i=0;
+ child && i<count;
+ child = child->NextSiblingElement( value ), ++i )
+ {
+ // nothing
+ }
+ if ( child )
+ return TiXmlHandle( child );
+ }
+ return TiXmlHandle( 0 );
}
bool TiXmlPrinter::VisitEnter( const TiXmlDocument& )
{
- return true;
+ return true;
}
bool TiXmlPrinter::VisitExit( const TiXmlDocument& )
{
- return true;
+ return true;
}
bool TiXmlPrinter::VisitEnter( const TiXmlElement& element, const TiXmlAttribute* firstAttribute )
{
- DoIndent();
- buffer += "<";
- buffer += element.Value();
-
- for ( const TiXmlAttribute* attrib = firstAttribute; attrib; attrib = attrib->Next() )
- {
- buffer += " ";
- attrib->Print( 0, 0, &buffer );
- }
-
- if ( !element.FirstChild() )
- {
- buffer += " />";
- DoLineBreak();
- }
- else
- {
- buffer += ">";
- if ( element.FirstChild()->ToText()
- && element.LastChild() == element.FirstChild()
- && element.FirstChild()->ToText()->CDATA() == false )
- {
- simpleTextPrint = true;
- // no DoLineBreak()!
- }
- else
- {
- DoLineBreak();
- }
- }
- ++depth;
- return true;
+ DoIndent();
+ buffer += "<";
+ buffer += element.Value();
+
+ for( const TiXmlAttribute* attrib = firstAttribute; attrib; attrib = attrib->Next() )
+ {
+ buffer += " ";
+ attrib->Print( 0, 0, &buffer );
+ }
+
+ if ( !element.FirstChild() )
+ {
+ buffer += " />";
+ DoLineBreak();
+ }
+ else
+ {
+ buffer += ">";
+ if ( element.FirstChild()->ToText()
+ && element.LastChild() == element.FirstChild()
+ && element.FirstChild()->ToText()->CDATA() == false )
+ {
+ simpleTextPrint = true;
+ // no DoLineBreak()!
+ }
+ else
+ {
+ DoLineBreak();
+ }
+ }
+ ++depth;
+ return true;
}
bool TiXmlPrinter::VisitExit( const TiXmlElement& element )
{
- --depth;
- if ( !element.FirstChild() )
- {
- // nothing.
- }
- else
- {
- if ( simpleTextPrint )
- {
- simpleTextPrint = false;
- }
- else
- {
- DoIndent();
- }
- buffer += "</";
- buffer += element.Value();
- buffer += ">";
- DoLineBreak();
- }
- return true;
+ --depth;
+ if ( !element.FirstChild() )
+ {
+ // nothing.
+ }
+ else
+ {
+ if ( simpleTextPrint )
+ {
+ simpleTextPrint = false;
+ }
+ else
+ {
+ DoIndent();
+ }
+ buffer += "</";
+ buffer += element.Value();
+ buffer += ">";
+ DoLineBreak();
+ }
+ return true;
}
bool TiXmlPrinter::Visit( const TiXmlText& text )
{
- if ( text.CDATA() )
- {
- DoIndent();
- buffer += "<![CDATA[";
- buffer += text.Value();
- buffer += "]]>";
- DoLineBreak();
- }
- else if ( simpleTextPrint )
- {
- TIXML_STRING str;
- TiXmlBase::EncodeString( text.ValueTStr(), &str );
- buffer += str;
- }
- else
- {
- DoIndent();
- TIXML_STRING str;
- TiXmlBase::EncodeString( text.ValueTStr(), &str );
- buffer += str;
- DoLineBreak();
- }
- return true;
+ if ( text.CDATA() )
+ {
+ DoIndent();
+ buffer += "<![CDATA[";
+ buffer += text.Value();
+ buffer += "]]>";
+ DoLineBreak();
+ }
+ else if ( simpleTextPrint )
+ {
+ TIXML_STRING str;
+ TiXmlBase::EncodeString( text.ValueTStr(), &str );
+ buffer += str;
+ }
+ else
+ {
+ DoIndent();
+ TIXML_STRING str;
+ TiXmlBase::EncodeString( text.ValueTStr(), &str );
+ buffer += str;
+ DoLineBreak();
+ }
+ return true;
}
bool TiXmlPrinter::Visit( const TiXmlDeclaration& declaration )
{
- DoIndent();
- declaration.Print( 0, 0, &buffer );
- DoLineBreak();
- return true;
+ DoIndent();
+ declaration.Print( 0, 0, &buffer );
+ DoLineBreak();
+ return true;
}
bool TiXmlPrinter::Visit( const TiXmlComment& comment )
{
- DoIndent();
- buffer += "<!--";
- buffer += comment.Value();
- buffer += "-->";
- DoLineBreak();
- return true;
+ DoIndent();
+ buffer += "<!--";
+ buffer += comment.Value();
+ buffer += "-->";
+ DoLineBreak();
+ return true;
}
bool TiXmlPrinter::Visit( const TiXmlUnknown& unknown )
{
- DoIndent();
- buffer += "<";
- buffer += unknown.Value();
- buffer += ">";
- DoLineBreak();
- return true;
+ DoIndent();
+ buffer += "<";
+ buffer += unknown.Value();
+ buffer += ">";
+ DoLineBreak();
+ return true;
}
diff --git a/shared/tinyxml/tinyxml.h b/shared/tinyxml/tinyxml.h
index c6f40cc2..01822911 100644
--- a/shared/tinyxml/tinyxml.h
+++ b/shared/tinyxml/tinyxml.h
@@ -63,21 +63,19 @@ distribution.
#if defined(_MSC_VER) && (_MSC_VER >= 1400 )
// Microsoft visual studio, version 2005 and higher.
#define TIXML_SNPRINTF _snprintf_s
- #define TIXML_SNSCANF _snscanf_s
#define TIXML_SSCANF sscanf_s
#elif defined(_MSC_VER) && (_MSC_VER >= 1200 )
// Microsoft visual studio, version 6 and higher.
//#pragma message( "Using _sn* functions." )
#define TIXML_SNPRINTF _snprintf
- #define TIXML_SNSCANF _snscanf
#define TIXML_SSCANF sscanf
#elif defined(__GNUC__) && (__GNUC__ >= 3 )
// GCC version 3 and higher.s
//#warning( "Using sn* functions." )
#define TIXML_SNPRINTF snprintf
- #define TIXML_SNSCANF snscanf
#define TIXML_SSCANF sscanf
#else
+ #define TIXML_SNPRINTF snprintf
#define TIXML_SSCANF sscanf
#endif
#endif
@@ -92,8 +90,8 @@ class TiXmlDeclaration;
class TiXmlParsingData;
const int TIXML_MAJOR_VERSION = 2;
-const int TIXML_MINOR_VERSION = 5;
-const int TIXML_PATCH_VERSION = 3;
+const int TIXML_MINOR_VERSION = 6;
+const int TIXML_PATCH_VERSION = 1;
/* Internal structure for tracking location of items
in the XML file.
@@ -109,10 +107,11 @@ struct TiXmlCursor
/**
+ Implements the interface to the "Visitor pattern" (see the Accept() method.)
If you call the Accept() method, it requires being passed a TiXmlVisitor
class to handle callbacks. For nodes that contain other nodes (Document, Element)
you will get called with a VisitEnter/VisitExit pair. Nodes that are always leaves
- are simple called with Visit().
+ are simply called with Visit().
If you return 'true' from a Visit method, recursive parsing will continue. If you return
false, <b>no children of this node or its sibilings</b> will be Visited.
@@ -267,7 +266,6 @@ public:
TIXML_NO_ERROR = 0,
TIXML_ERROR,
TIXML_ERROR_OPENING_FILE,
- TIXML_ERROR_OUT_OF_MEMORY,
TIXML_ERROR_PARSING_ELEMENT,
TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME,
TIXML_ERROR_READING_ELEMENT_VALUE,
@@ -288,6 +286,7 @@ public:
protected:
static const char* SkipWhiteSpace( const char*, TiXmlEncoding encoding );
+
inline static bool IsWhiteSpace( char c )
{
return ( isspace( (unsigned char) c ) || c == '\n' || c == '\r' );
@@ -462,13 +461,13 @@ public:
*/
enum NodeType
{
- DOCUMENT,
- ELEMENT,
- COMMENT,
- UNKNOWN,
- TEXT,
- DECLARATION,
- TYPECOUNT
+ TINYXML_DOCUMENT,
+ TINYXML_ELEMENT,
+ TINYXML_COMMENT,
+ TINYXML_UNKNOWN,
+ TINYXML_TEXT,
+ TINYXML_DECLARATION,
+ TINYXML_TYPECOUNT
};
virtual ~TiXmlNode();
@@ -915,17 +914,14 @@ public:
const TiXmlAttribute* Last() const { return ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; }
TiXmlAttribute* Last() { return ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; }
- const TiXmlAttribute* Find( const char* _name ) const;
- TiXmlAttribute* Find( const char* _name ) {
- return const_cast< TiXmlAttribute* >( (const_cast< const TiXmlAttributeSet* >(this))->Find( _name ) );
- }
- #ifdef TIXML_USE_STL
- const TiXmlAttribute* Find( const std::string& _name ) const;
- TiXmlAttribute* Find( const std::string& _name ) {
- return const_cast< TiXmlAttribute* >( (const_cast< const TiXmlAttributeSet* >(this))->Find( _name ) );
- }
+ TiXmlAttribute* Find( const char* _name ) const;
+ TiXmlAttribute* FindOrCreate( const char* _name );
+
+# ifdef TIXML_USE_STL
+ TiXmlAttribute* Find( const std::string& _name ) const;
+ TiXmlAttribute* FindOrCreate( const std::string& _name );
+# endif
- #endif
private:
//*ME: Because of hidden/disabled copy-construktor in TiXmlAttribute (sentinel-element),
@@ -1000,11 +996,21 @@ public:
}
#ifdef TIXML_USE_STL
+ /// QueryStringAttribute examines the attribute - see QueryIntAttribute().
+ int QueryStringAttribute( const char* name, std::string* _value ) const {
+ const char* cstr = Attribute( name );
+ if ( cstr ) {
+ *_value = std::string( cstr );
+ return TIXML_SUCCESS;
+ }
+ return TIXML_NO_ATTRIBUTE;
+ }
+
/** Template form of the attribute query which will try to read the
attribute into the specified type. Very easy, very powerful, but
be careful to make sure to call this with the correct type.
- NOTE: This method doesn't work correctly for 'string' types.
+ NOTE: This method doesn't work correctly for 'string' types that contain spaces.
@return TIXML_SUCCESS, TIXML_WRONG_TYPE, or TIXML_NO_ATTRIBUTE
*/
@@ -1020,13 +1026,8 @@ public:
return TIXML_SUCCESS;
return TIXML_WRONG_TYPE;
}
- /*
- This is - in theory - a bug fix for "QueryValueAtribute returns truncated std::string"
- but template specialization is hard to get working cross-compiler. Leaving the bug for now.
-
- // The above will fail for std::string because the space character is used as a seperator.
- // Specialize for strings. Bug [ 1695429 ] QueryValueAtribute returns truncated std::string
- template<> int QueryValueAttribute( const std::string& name, std::string* outValue ) const
+
+ int QueryValueAttribute( const std::string& name, std::string* outValue ) const
{
const TiXmlAttribute* node = attributeSet.Find( name );
if ( !node )
@@ -1034,7 +1035,6 @@ public:
*outValue = node->ValueStr();
return TIXML_SUCCESS;
}
- */
#endif
/** Sets an attribute of name to a given value. The attribute
@@ -1053,6 +1053,8 @@ public:
void SetAttribute( const std::string& name, const std::string& _value );
///< STL std::string form.
void SetAttribute( const std::string& name, int _value );
+ ///< STL std::string form.
+ void SetDoubleAttribute( const std::string& name, double value );
#endif
/** Sets an attribute of name to a given value. The attribute
@@ -1144,7 +1146,6 @@ protected:
const char* ReadValue( const char* in, TiXmlParsingData* prevData, TiXmlEncoding encoding );
private:
-
TiXmlAttributeSet attributeSet;
};
@@ -1155,9 +1156,9 @@ class TiXmlComment : public TiXmlNode
{
public:
/// Constructs an empty comment.
- TiXmlComment() : TiXmlNode( TiXmlNode::COMMENT ) {}
+ TiXmlComment() : TiXmlNode( TiXmlNode::TINYXML_COMMENT ) {}
/// Construct a comment from text.
- TiXmlComment( const char* _value ) : TiXmlNode( TiXmlNode::COMMENT ) {
+ TiXmlComment( const char* _value ) : TiXmlNode( TiXmlNode::TINYXML_COMMENT ) {
SetValue( _value );
}
TiXmlComment( const TiXmlComment& );
@@ -1209,7 +1210,7 @@ public:
normal, encoded text. If you want it be output as a CDATA text
element, set the parameter _cdata to 'true'
*/
- TiXmlText (const char * initValue ) : TiXmlNode (TiXmlNode::TEXT)
+ TiXmlText (const char * initValue ) : TiXmlNode (TiXmlNode::TINYXML_TEXT)
{
SetValue( initValue );
cdata = false;
@@ -1218,14 +1219,14 @@ public:
#ifdef TIXML_USE_STL
/// Constructor.
- TiXmlText( const std::string& initValue ) : TiXmlNode (TiXmlNode::TEXT)
+ TiXmlText( const std::string& initValue ) : TiXmlNode (TiXmlNode::TINYXML_TEXT)
{
SetValue( initValue );
cdata = false;
}
#endif
- TiXmlText( const TiXmlText& copy ) : TiXmlNode( TiXmlNode::TEXT ) { copy.CopyTo( this ); }
+ TiXmlText( const TiXmlText& copy ) : TiXmlNode( TiXmlNode::TINYXML_TEXT ) { copy.CopyTo( this ); }
void operator=( const TiXmlText& base ) { base.CopyTo( this ); }
// Write this text object to a FILE stream.
@@ -1278,7 +1279,7 @@ class TiXmlDeclaration : public TiXmlNode
{
public:
/// Construct an empty declaration.
- TiXmlDeclaration() : TiXmlNode( TiXmlNode::DECLARATION ) {}
+ TiXmlDeclaration() : TiXmlNode( TiXmlNode::TINYXML_DECLARATION ) {}
#ifdef TIXML_USE_STL
/// Constructor.
@@ -1346,10 +1347,10 @@ private:
class TiXmlUnknown : public TiXmlNode
{
public:
- TiXmlUnknown() : TiXmlNode( TiXmlNode::UNKNOWN ) {}
+ TiXmlUnknown() : TiXmlNode( TiXmlNode::TINYXML_UNKNOWN ) {}
virtual ~TiXmlUnknown() {}
- TiXmlUnknown( const TiXmlUnknown& copy ) : TiXmlNode( TiXmlNode::UNKNOWN ) { copy.CopyTo( this ); }
+ TiXmlUnknown( const TiXmlUnknown& copy ) : TiXmlNode( TiXmlNode::TINYXML_UNKNOWN ) { copy.CopyTo( this ); }
void operator=( const TiXmlUnknown& copy ) { copy.CopyTo( this ); }
/// Creates a copy of this Unknown and returns it.
@@ -1423,14 +1424,10 @@ public:
#ifdef TIXML_USE_STL
bool LoadFile( const std::string& filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING ) ///< STL std::string version.
{
-// StringToBuffer f( filename );
-// return ( f.buffer && LoadFile( f.buffer, encoding ));
return LoadFile( filename.c_str(), encoding );
}
bool SaveFile( const std::string& filename ) const ///< STL std::string version.
{
-// StringToBuffer f( filename );
-// return ( f.buffer && SaveFile( f.buffer ));
return SaveFile( filename.c_str() );
}
#endif
diff --git a/shared/tinyxml/tinyxml.sln b/shared/tinyxml/tinyxml.sln
index 16828c93..394baf2c 100644
--- a/shared/tinyxml/tinyxml.sln
+++ b/shared/tinyxml/tinyxml.sln
@@ -1,6 +1,6 @@

-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual C++ Express 2005
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual C++ Express 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tinyXmlTest", "tinyXmlTest.vcproj", "{34719950-09E8-457E-BE23-8F1CE3A1F1F6}"
ProjectSection(ProjectDependencies) = postProject
{C406DAEC-0886-4771-8DEA-9D7329B46CC1} = {C406DAEC-0886-4771-8DEA-9D7329B46CC1}
diff --git a/shared/tinyxml/tinyxmlSTL.vcproj b/shared/tinyxml/tinyxmlSTL.vcproj
index e1e14a07..933dfd67 100644
--- a/shared/tinyxml/tinyxmlSTL.vcproj
+++ b/shared/tinyxml/tinyxmlSTL.vcproj
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="8.00"
+ Version="9.00"
Name="tinyxmlSTL"
ProjectGUID="{A3A84737-5017-4577-B8A2-79429A25B8B6}"
+ TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
@@ -52,7 +53,7 @@
BrowseInformation="1"
WarningLevel="4"
SuppressStartupBanner="true"
- Detect64BitPortabilityProblems="true"
+ Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
/>
<Tool
diff --git a/shared/tinyxml/tinyxml_lib.vcproj b/shared/tinyxml/tinyxml_lib.vcproj
index ced31169..41a9266b 100644
--- a/shared/tinyxml/tinyxml_lib.vcproj
+++ b/shared/tinyxml/tinyxml_lib.vcproj
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="8.00"
+ Version="9.00"
Name="tinyxml"
ProjectGUID="{C406DAEC-0886-4771-8DEA-9D7329B46CC1}"
+ TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
@@ -126,7 +127,7 @@
BrowseInformation="1"
WarningLevel="4"
SuppressStartupBanner="true"
- Detect64BitPortabilityProblems="true"
+ Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
/>
<Tool
diff --git a/shared/tinyxml/tinyxmlerror.cpp b/shared/tinyxml/tinyxmlerror.cpp
index 3f068f2b..d66f6ffb 100644
--- a/shared/tinyxml/tinyxmlerror.cpp
+++ b/shared/tinyxml/tinyxmlerror.cpp
@@ -2,12 +2,12 @@
www.sourceforge.net/projects/tinyxml
Original code (2.0 and earlier )copyright (c) 2000-2006 Lee Thomason (www.grinninglizard.com)
-This software is provided 'as-is', without any express or implied
-warranty. In no event will the authors be held liable for any
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
-Permission is granted to anyone to use this software for any
-purpose, including commercial applications, and to alter it and
+Permission is granted to anyone to use this software for any
+purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must
@@ -33,21 +33,20 @@ distribution.
const char* TiXmlBase::errorString[ TIXML_ERROR_STRING_COUNT ] =
{
- "No error",
- "Error",
- "Failed to open file",
- "Memory allocation failed.",
- "Error parsing Element.",
- "Failed to read Element name",
- "Error reading Element value.",
- "Error reading Attributes.",
- "Error: empty tag.",
- "Error reading end tag.",
- "Error parsing Unknown.",
- "Error parsing Comment.",
- "Error parsing Declaration.",
- "Error document empty.",
- "Error null (0) or unexpected EOF found in input stream.",
- "Error parsing CDATA.",
- "Error when TiXmlDocument added to document, because TiXmlDocument can only be at the root.",
+ "No error",
+ "Error",
+ "Failed to open file",
+ "Error parsing Element.",
+ "Failed to read Element name",
+ "Error reading Element value.",
+ "Error reading Attributes.",
+ "Error: empty tag.",
+ "Error reading end tag.",
+ "Error parsing Unknown.",
+ "Error parsing Comment.",
+ "Error parsing Declaration.",
+ "Error document empty.",
+ "Error null (0) or unexpected EOF found in input stream.",
+ "Error parsing CDATA.",
+ "Error when TiXmlDocument added to document, because TiXmlDocument can only be at the root.",
};
diff --git a/shared/tinyxml/tinyxmlparser.cpp b/shared/tinyxml/tinyxmlparser.cpp
index 503becde..666a4f75 100644
--- a/shared/tinyxml/tinyxmlparser.cpp
+++ b/shared/tinyxml/tinyxmlparser.cpp
@@ -2,23 +2,23 @@
www.sourceforge.net/projects/tinyxml
Original code (2.0 and earlier )copyright (c) 2000-2002 Lee Thomason (www.grinninglizard.com)
-This software is provided 'as-is', without any express or implied
-warranty. In no event will the authors be held liable for any
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
-Permission is granted to anyone to use this software for any
-purpose, including commercial applications, and to alter it and
+Permission is granted to anyone to use this software for any
+purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
-1. The origin of this software must not be misrepresented; you must
+1. The origin of this software must not be misrepresented; you must
not claim that you wrote the original software. If you use this
software in a product, an acknowledgment in the product documentation
would be appreciated but is not required.
-2. Altered source versions must be plainly marked as such, and
+2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
-3. This notice may not be removed or altered from any source
+3. This notice may not be removed or altered from any source
distribution.
*/
@@ -39,14 +39,14 @@ distribution.
// Note tha "PutString" hardcodes the same list. This
// is less flexible than it appears. Changing the entries
-// or order will break putstring.
-TiXmlBase::Entity TiXmlBase::entity[ NUM_ENTITY ] =
+// or order will break putstring.
+TiXmlBase::Entity TiXmlBase::entity[ NUM_ENTITY ] =
{
- { "&amp;", 5, '&' },
- { "&lt;", 4, '<' },
- { "&gt;", 4, '>' },
- { "&quot;", 6, '\"' },
- { "&apos;", 6, '\'' }
+ { "&amp;", 5, '&' },
+ { "&lt;", 4, '<' },
+ { "&gt;", 4, '>' },
+ { "&quot;", 6, '\"' },
+ { "&apos;", 6, '\'' }
};
// Bunch of unicode info at:
@@ -54,95 +54,91 @@ TiXmlBase::Entity TiXmlBase::entity[ NUM_ENTITY ] =
// Including the basic of this table, which determines the #bytes in the
// sequence from the lead byte. 1 placed for invalid sequences --
// although the result will be junk, pass it through as much as possible.
-// Beware of the non-characters in UTF-8:
+// Beware of the non-characters in UTF-8:
// ef bb bf (Microsoft "lead bytes")
// ef bf be
-// ef bf bf
+// ef bf bf
const unsigned char TIXML_UTF_LEAD_0 = 0xefU;
const unsigned char TIXML_UTF_LEAD_1 = 0xbbU;
const unsigned char TIXML_UTF_LEAD_2 = 0xbfU;
-const int TiXmlBase::utf8ByteTable[256] =
+const int TiXmlBase::utf8ByteTable[256] =
{
- // 0 1 2 3 4 5 6 7 8 9 a b c d e f
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x00
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x10
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x20
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x30
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x40
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x50
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x60
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x70 End of ASCII range
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x80 0x80 to 0xc1 invalid
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x90
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0xa0
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0xb0
- 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 0xc0 0xc2 to 0xdf 2 byte
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 0xd0
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 0xe0 0xe0 to 0xef 3 byte
- 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // 0xf0 0xf0 to 0xf4 4 byte, 0xf5 and higher invalid
+ // 0 1 2 3 4 5 6 7 8 9 a b c d e f
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x00
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x10
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x20
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x30
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x40
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x50
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x60
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x70 End of ASCII range
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x80 0x80 to 0xc1 invalid
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x90
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0xa0
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0xb0
+ 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 0xc0 0xc2 to 0xdf 2 byte
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 0xd0
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 0xe0 0xe0 to 0xef 3 byte
+ 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // 0xf0 0xf0 to 0xf4 4 byte, 0xf5 and higher invalid
};
void TiXmlBase::ConvertUTF32ToUTF8( unsigned long input, char* output, int* length )
{
- const unsigned long BYTE_MASK = 0xBF;
- const unsigned long BYTE_MARK = 0x80;
- const unsigned long FIRST_BYTE_MARK[7] = { 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC };
-
- if (input < 0x80)
- *length = 1;
- else if ( input < 0x800 )
- *length = 2;
- else if ( input < 0x10000 )
- *length = 3;
- else if ( input < 0x200000 )
- *length = 4;
- else
- {
- *length = 0; // This code won't covert this correctly anyway.
- return;
- }
-
- output += *length;
-
- // Scary scary fall throughs.
- switch (*length)
- {
- case 4:
- --output;
- *output = (char)((input | BYTE_MARK) & BYTE_MASK);
- input >>= 6;
- case 3:
- --output;
- *output = (char)((input | BYTE_MARK) & BYTE_MASK);
- input >>= 6;
- case 2:
- --output;
- *output = (char)((input | BYTE_MARK) & BYTE_MASK);
- input >>= 6;
- case 1:
- --output;
- *output = (char)(input | FIRST_BYTE_MARK[*length]);
- }
+ const unsigned long BYTE_MASK = 0xBF;
+ const unsigned long BYTE_MARK = 0x80;
+ const unsigned long FIRST_BYTE_MARK[7] = { 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC };
+
+ if (input < 0x80)
+ *length = 1;
+ else if ( input < 0x800 )
+ *length = 2;
+ else if ( input < 0x10000 )
+ *length = 3;
+ else if ( input < 0x200000 )
+ *length = 4;
+ else
+ { *length = 0; return; } // This code won't covert this correctly anyway.
+
+ output += *length;
+
+ // Scary scary fall throughs.
+ switch (*length)
+ {
+ case 4:
+ --output;
+ *output = (char)((input | BYTE_MARK) & BYTE_MASK);
+ input >>= 6;
+ case 3:
+ --output;
+ *output = (char)((input | BYTE_MARK) & BYTE_MASK);
+ input >>= 6;
+ case 2:
+ --output;
+ *output = (char)((input | BYTE_MARK) & BYTE_MASK);
+ input >>= 6;
+ case 1:
+ --output;
+ *output = (char)(input | FIRST_BYTE_MARK[*length]);
+ }
}
-/*static*/
-int TiXmlBase::IsAlpha( unsigned char anyByte, TiXmlEncoding /*encoding*/ )
+/*static*/ int TiXmlBase::IsAlpha( unsigned char anyByte, TiXmlEncoding /*encoding*/ )
{
- // This will only work for low-ascii, everything else is assumed to be a valid
- // letter. I'm not sure this is the best approach, but it is quite tricky trying
- // to figure out alhabetical vs. not across encoding. So take a very
- // conservative approach.
+ // This will only work for low-ascii, everything else is assumed to be a valid
+ // letter. I'm not sure this is the best approach, but it is quite tricky trying
+ // to figure out alhabetical vs. not across encoding. So take a very
+ // conservative approach.
// if ( encoding == TIXML_ENCODING_UTF8 )
// {
- if ( anyByte < 127 )
- return isalpha( anyByte );
- else
- return 1; // What else to do? The unicode set is huge...get the english ones right.
+ if ( anyByte < 127 )
+ return isalpha( anyByte );
+ else
+ return 1; // What else to do? The unicode set is huge...get the english ones right.
// }
// else
// {
@@ -151,20 +147,19 @@ int TiXmlBase::IsAlpha( unsigned char anyByte, TiXmlEncoding /*encoding*/ )
}
-/*static*/
-int TiXmlBase::IsAlphaNum( unsigned char anyByte, TiXmlEncoding /*encoding*/ )
+/*static*/ int TiXmlBase::IsAlphaNum( unsigned char anyByte, TiXmlEncoding /*encoding*/ )
{
- // This will only work for low-ascii, everything else is assumed to be a valid
- // letter. I'm not sure this is the best approach, but it is quite tricky trying
- // to figure out alhabetical vs. not across encoding. So take a very
- // conservative approach.
+ // This will only work for low-ascii, everything else is assumed to be a valid
+ // letter. I'm not sure this is the best approach, but it is quite tricky trying
+ // to figure out alhabetical vs. not across encoding. So take a very
+ // conservative approach.
// if ( encoding == TIXML_ENCODING_UTF8 )
// {
- if ( anyByte < 127 )
- return isalnum( anyByte );
- else
- return 1; // What else to do? The unicode set is huge...get the english ones right.
+ if ( anyByte < 127 )
+ return isalnum( anyByte );
+ else
+ return 1; // What else to do? The unicode set is huge...get the english ones right.
// }
// else
// {
@@ -175,238 +170,228 @@ int TiXmlBase::IsAlphaNum( unsigned char anyByte, TiXmlEncoding /*encoding*/ )
class TiXmlParsingData
{
- friend class TiXmlDocument;
-public:
- void Stamp( const char* now, TiXmlEncoding encoding );
-
- const TiXmlCursor& Cursor()
- {
- return cursor;
- }
-
-private:
- // Only used by the document!
- TiXmlParsingData( const char* start, int _tabsize, int row, int col )
- {
- assert( start );
- stamp = start;
- tabsize = _tabsize;
- cursor.row = row;
- cursor.col = col;
- }
-
- TiXmlCursor cursor;
- const char* stamp;
- int tabsize;
+ friend class TiXmlDocument;
+ public:
+ void Stamp( const char* now, TiXmlEncoding encoding );
+
+ const TiXmlCursor& Cursor() { return cursor; }
+
+ private:
+ // Only used by the document!
+ TiXmlParsingData( const char* start, int _tabsize, int row, int col )
+ {
+ assert( start );
+ stamp = start;
+ tabsize = _tabsize;
+ cursor.row = row;
+ cursor.col = col;
+ }
+
+ TiXmlCursor cursor;
+ const char* stamp;
+ int tabsize;
};
void TiXmlParsingData::Stamp( const char* now, TiXmlEncoding encoding )
{
- assert( now );
-
- // Do nothing if the tabsize is 0.
- if ( tabsize < 1 )
- {
- return;
- }
-
- // Get the current row, column.
- int row = cursor.row;
- int col = cursor.col;
- const char* p = stamp;
- assert( p );
-
- while ( p < now )
- {
- // Treat p as unsigned, so we have a happy compiler.
- const unsigned char* pU = (const unsigned char*)p;
-
- // Code contributed by Fletcher Dunn: (modified by lee)
- switch (*pU)
- {
- case 0:
- // We *should* never get here, but in case we do, don't
- // advance past the terminating null character, ever
- return;
-
- case '\r':
- // bump down to the next line
- ++row;
- col = 0;
- // Eat the character
- ++p;
-
- // Check for \r\n sequence, and treat this as a single character
- if (*p == '\n')
- {
- ++p;
- }
- break;
-
- case '\n':
- // bump down to the next line
- ++row;
- col = 0;
-
- // Eat the character
- ++p;
-
- // Check for \n\r sequence, and treat this as a single
- // character. (Yes, this bizarre thing does occur still
- // on some arcane platforms...)
- if (*p == '\r')
- {
- ++p;
- }
- break;
-
- case '\t':
- // Eat the character
- ++p;
-
- // Skip to next tab stop
- col = (col / tabsize + 1) * tabsize;
- break;
-
- case TIXML_UTF_LEAD_0:
- if ( encoding == TIXML_ENCODING_UTF8 )
- {
- if ( *(p+1) && *(p+2) )
- {
- // In these cases, don't advance the column. These are
- // 0-width spaces.
- if ( *(pU+1)==TIXML_UTF_LEAD_1 && *(pU+2)==TIXML_UTF_LEAD_2 )
- p += 3;
- else if ( *(pU+1)==0xbfU && *(pU+2)==0xbeU )
- p += 3;
- else if ( *(pU+1)==0xbfU && *(pU+2)==0xbfU )
- p += 3;
- else
- {
- p +=3; // A normal character.
- ++col;
- }
- }
- }
- else
- {
- ++p;
- ++col;
- }
- break;
-
- default:
- if ( encoding == TIXML_ENCODING_UTF8 )
- {
- // Eat the 1 to 4 byte utf8 character.
- int step = TiXmlBase::utf8ByteTable[*((const unsigned char*)p)];
- if ( step == 0 )
- step = 1; // Error case from bad encoding, but handle gracefully.
- p += step;
-
- // Just advance one column, of course.
- ++col;
- }
- else
- {
- ++p;
- ++col;
- }
- break;
- }
- }
- cursor.row = row;
- cursor.col = col;
- assert( cursor.row >= -1 );
- assert( cursor.col >= -1 );
- stamp = p;
- assert( stamp );
+ assert( now );
+
+ // Do nothing if the tabsize is 0.
+ if ( tabsize < 1 )
+ {
+ return;
+ }
+
+ // Get the current row, column.
+ int row = cursor.row;
+ int col = cursor.col;
+ const char* p = stamp;
+ assert( p );
+
+ while ( p < now )
+ {
+ // Treat p as unsigned, so we have a happy compiler.
+ const unsigned char* pU = (const unsigned char*)p;
+
+ // Code contributed by Fletcher Dunn: (modified by lee)
+ switch (*pU) {
+ case 0:
+ // We *should* never get here, but in case we do, don't
+ // advance past the terminating null character, ever
+ return;
+
+ case '\r':
+ // bump down to the next line
+ ++row;
+ col = 0;
+ // Eat the character
+ ++p;
+
+ // Check for \r\n sequence, and treat this as a single character
+ if (*p == '\n') {
+ ++p;
+ }
+ break;
+
+ case '\n':
+ // bump down to the next line
+ ++row;
+ col = 0;
+
+ // Eat the character
+ ++p;
+
+ // Check for \n\r sequence, and treat this as a single
+ // character. (Yes, this bizarre thing does occur still
+ // on some arcane platforms...)
+ if (*p == '\r') {
+ ++p;
+ }
+ break;
+
+ case '\t':
+ // Eat the character
+ ++p;
+
+ // Skip to next tab stop
+ col = (col / tabsize + 1) * tabsize;
+ break;
+
+ case TIXML_UTF_LEAD_0:
+ if ( encoding == TIXML_ENCODING_UTF8 )
+ {
+ if ( *(p+1) && *(p+2) )
+ {
+ // In these cases, don't advance the column. These are
+ // 0-width spaces.
+ if ( *(pU+1)==TIXML_UTF_LEAD_1 && *(pU+2)==TIXML_UTF_LEAD_2 )
+ p += 3;
+ else if ( *(pU+1)==0xbfU && *(pU+2)==0xbeU )
+ p += 3;
+ else if ( *(pU+1)==0xbfU && *(pU+2)==0xbfU )
+ p += 3;
+ else
+ { p +=3; ++col; } // A normal character.
+ }
+ }
+ else
+ {
+ ++p;
+ ++col;
+ }
+ break;
+
+ default:
+ if ( encoding == TIXML_ENCODING_UTF8 )
+ {
+ // Eat the 1 to 4 byte utf8 character.
+ int step = TiXmlBase::utf8ByteTable[*((const unsigned char*)p)];
+ if ( step == 0 )
+ step = 1; // Error case from bad encoding, but handle gracefully.
+ p += step;
+
+ // Just advance one column, of course.
+ ++col;
+ }
+ else
+ {
+ ++p;
+ ++col;
+ }
+ break;
+ }
+ }
+ cursor.row = row;
+ cursor.col = col;
+ assert( cursor.row >= -1 );
+ assert( cursor.col >= -1 );
+ stamp = p;
+ assert( stamp );
}
const char* TiXmlBase::SkipWhiteSpace( const char* p, TiXmlEncoding encoding )
{
- if ( !p || !*p )
- {
- return 0;
- }
- if ( encoding == TIXML_ENCODING_UTF8 )
- {
- while ( *p )
- {
- const unsigned char* pU = (const unsigned char*)p;
-
- // Skip the stupid Microsoft UTF-8 Byte order marks
- if ( *(pU+0)==TIXML_UTF_LEAD_0
- && *(pU+1)==TIXML_UTF_LEAD_1
- && *(pU+2)==TIXML_UTF_LEAD_2 )
- {
- p += 3;
- continue;
- }
- else if (*(pU+0)==TIXML_UTF_LEAD_0
- && *(pU+1)==0xbfU
- && *(pU+2)==0xbeU )
- {
- p += 3;
- continue;
- }
- else if (*(pU+0)==TIXML_UTF_LEAD_0
- && *(pU+1)==0xbfU
- && *(pU+2)==0xbfU )
- {
- p += 3;
- continue;
- }
-
- if ( IsWhiteSpace( *p ) || *p == '\n' || *p =='\r' ) // Still using old rules for white space.
- ++p;
- else
- break;
- }
- }
- else
- {
- while ( *p && (IsWhiteSpace( *p ) || *p == '\n' || *p =='\r' ))
- ++p;
- }
-
- return p;
+ if ( !p || !*p )
+ {
+ return 0;
+ }
+ if ( encoding == TIXML_ENCODING_UTF8 )
+ {
+ while ( *p )
+ {
+ const unsigned char* pU = (const unsigned char*)p;
+
+ // Skip the stupid Microsoft UTF-8 Byte order marks
+ if ( *(pU+0)==TIXML_UTF_LEAD_0
+ && *(pU+1)==TIXML_UTF_LEAD_1
+ && *(pU+2)==TIXML_UTF_LEAD_2 )
+ {
+ p += 3;
+ continue;
+ }
+ else if(*(pU+0)==TIXML_UTF_LEAD_0
+ && *(pU+1)==0xbfU
+ && *(pU+2)==0xbeU )
+ {
+ p += 3;
+ continue;
+ }
+ else if(*(pU+0)==TIXML_UTF_LEAD_0
+ && *(pU+1)==0xbfU
+ && *(pU+2)==0xbfU )
+ {
+ p += 3;
+ continue;
+ }
+
+ if ( IsWhiteSpace( *p ) ) // Still using old rules for white space.
+ ++p;
+ else
+ break;
+ }
+ }
+ else
+ {
+ while ( *p && IsWhiteSpace( *p ) )
+ ++p;
+ }
+
+ return p;
}
#ifdef TIXML_USE_STL
/*static*/ bool TiXmlBase::StreamWhiteSpace( std::istream * in, TIXML_STRING * tag )
{
- for ( ;; )
- {
- if ( !in->good() ) return false;
+ for( ;; )
+ {
+ if ( !in->good() ) return false;
- int c = in->peek();
- // At this scope, we can't get to a document. So fail silently.
- if ( !IsWhiteSpace( c ) || c <= 0 )
- return true;
+ int c = in->peek();
+ // At this scope, we can't get to a document. So fail silently.
+ if ( !IsWhiteSpace( c ) || c <= 0 )
+ return true;
- *tag += (char) in->get();
- }
+ *tag += (char) in->get();
+ }
}
-/*static*/
-bool TiXmlBase::StreamTo( std::istream * in, int character, TIXML_STRING * tag )
+/*static*/ bool TiXmlBase::StreamTo( std::istream * in, int character, TIXML_STRING * tag )
{
- //assert( character > 0 && character < 128 ); // else it won't work in utf-8
- while ( in->good() )
- {
- int c = in->peek();
- if ( c == character )
- return true;
- if ( c <= 0 ) // Silent failure: can't get document at this scope
- return false;
-
- in->get();
- *tag += (char) c;
- }
- return false;
+ //assert( character > 0 && character < 128 ); // else it won't work in utf-8
+ while ( in->good() )
+ {
+ int c = in->peek();
+ if ( c == character )
+ return true;
+ if ( c <= 0 ) // Silent failure: can't get document at this scope
+ return false;
+
+ in->get();
+ *tag += (char) c;
+ }
+ return false;
}
#endif
@@ -415,1246 +400,1236 @@ bool TiXmlBase::StreamTo( std::istream * in, int character, TIXML_STRING * tag )
//
const char* TiXmlBase::ReadName( const char* p, TIXML_STRING * name, TiXmlEncoding encoding )
{
- // Oddly, not supported on some comilers,
- //name->clear();
- // So use this:
- *name = "";
- assert( p );
-
- // Names start with letters or underscores.
- // Of course, in unicode, tinyxml has no idea what a letter *is*. The
- // algorithm is generous.
- //
- // After that, they can be letters, underscores, numbers,
- // hyphens, or colons. (Colons are valid ony for namespaces,
- // but tinyxml can't tell namespaces from names.)
- if ( p && *p
- && ( IsAlpha( (unsigned char) *p, encoding ) || *p == '_' ) )
- {
- const char* start = p;
- while ( p && *p
- && ( IsAlphaNum( (unsigned char ) *p, encoding )
- || *p == '_'
- || *p == '-'
- || *p == '.'
- || *p == ':' ) )
- {
- //(*name) += *p; // expensive
- ++p;
- }
- if ( p-start > 0 )
- {
- name->assign( start, p-start );
- }
- return p;
- }
- return 0;
+ // Oddly, not supported on some comilers,
+ //name->clear();
+ // So use this:
+ *name = "";
+ assert( p );
+
+ // Names start with letters or underscores.
+ // Of course, in unicode, tinyxml has no idea what a letter *is*. The
+ // algorithm is generous.
+ //
+ // After that, they can be letters, underscores, numbers,
+ // hyphens, or colons. (Colons are valid ony for namespaces,
+ // but tinyxml can't tell namespaces from names.)
+ if ( p && *p
+ && ( IsAlpha( (unsigned char) *p, encoding ) || *p == '_' ) )
+ {
+ const char* start = p;
+ while( p && *p
+ && ( IsAlphaNum( (unsigned char ) *p, encoding )
+ || *p == '_'
+ || *p == '-'
+ || *p == '.'
+ || *p == ':' ) )
+ {
+ //(*name) += *p; // expensive
+ ++p;
+ }
+ if ( p-start > 0 ) {
+ name->assign( start, p-start );
+ }
+ return p;
+ }
+ return 0;
}
const char* TiXmlBase::GetEntity( const char* p, char* value, int* length, TiXmlEncoding encoding )
{
- // Presume an entity, and pull it out.
+ // Presume an entity, and pull it out.
TIXML_STRING ent;
- int i;
- *length = 0;
-
- if ( *(p+1) && *(p+1) == '#' && *(p+2) )
- {
- unsigned long ucs = 0;
- ptrdiff_t delta = 0;
- unsigned mult = 1;
-
- if ( *(p+2) == 'x' )
- {
- // Hexadecimal.
- if ( !*(p+3) ) return 0;
-
- const char* q = p+3;
- q = strchr( q, ';' );
-
- if ( !q || !*q ) return 0;
-
- delta = q-p;
- --q;
-
- while ( *q != 'x' )
- {
- if ( *q >= '0' && *q <= '9' )
- ucs += mult * (*q - '0');
- else if ( *q >= 'a' && *q <= 'f' )
- ucs += mult * (*q - 'a' + 10);
- else if ( *q >= 'A' && *q <= 'F' )
- ucs += mult * (*q - 'A' + 10 );
- else
- return 0;
- mult *= 16;
- --q;
- }
- }
- else
- {
- // Decimal.
- if ( !*(p+2) ) return 0;
-
- const char* q = p+2;
- q = strchr( q, ';' );
-
- if ( !q || !*q ) return 0;
-
- delta = q-p;
- --q;
-
- while ( *q != '#' )
- {
- if ( *q >= '0' && *q <= '9' )
- ucs += mult * (*q - '0');
- else
- return 0;
- mult *= 10;
- --q;
- }
- }
- if ( encoding == TIXML_ENCODING_UTF8 )
- {
- // convert the UCS to UTF-8
- ConvertUTF32ToUTF8( ucs, value, length );
- }
- else
- {
- *value = (char)ucs;
- *length = 1;
- }
- return p + delta + 1;
- }
-
- // Now try to match it.
- for ( i=0; i<NUM_ENTITY; ++i )
- {
- if ( strncmp( entity[i].str, p, entity[i].strLength ) == 0 )
- {
- assert( strlen( entity[i].str ) == entity[i].strLength );
- *value = entity[i].chr;
- *length = 1;
- return ( p + entity[i].strLength );
- }
- }
-
- // So it wasn't an entity, its unrecognized, or something like that.
- *value = *p; // Don't put back the last one, since we return it!
- //*length = 1; // Leave unrecognized entities - this doesn't really work.
- // Just writes strange XML.
- return p+1;
+ int i;
+ *length = 0;
+
+ if ( *(p+1) && *(p+1) == '#' && *(p+2) )
+ {
+ unsigned long ucs = 0;
+ ptrdiff_t delta = 0;
+ unsigned mult = 1;
+
+ if ( *(p+2) == 'x' )
+ {
+ // Hexadecimal.
+ if ( !*(p+3) ) return 0;
+
+ const char* q = p+3;
+ q = strchr( q, ';' );
+
+ if ( !q || !*q ) return 0;
+
+ delta = q-p;
+ --q;
+
+ while ( *q != 'x' )
+ {
+ if ( *q >= '0' && *q <= '9' )
+ ucs += mult * (*q - '0');
+ else if ( *q >= 'a' && *q <= 'f' )
+ ucs += mult * (*q - 'a' + 10);
+ else if ( *q >= 'A' && *q <= 'F' )
+ ucs += mult * (*q - 'A' + 10 );
+ else
+ return 0;
+ mult *= 16;
+ --q;
+ }
+ }
+ else
+ {
+ // Decimal.
+ if ( !*(p+2) ) return 0;
+
+ const char* q = p+2;
+ q = strchr( q, ';' );
+
+ if ( !q || !*q ) return 0;
+
+ delta = q-p;
+ --q;
+
+ while ( *q != '#' )
+ {
+ if ( *q >= '0' && *q <= '9' )
+ ucs += mult * (*q - '0');
+ else
+ return 0;
+ mult *= 10;
+ --q;
+ }
+ }
+ if ( encoding == TIXML_ENCODING_UTF8 )
+ {
+ // convert the UCS to UTF-8
+ ConvertUTF32ToUTF8( ucs, value, length );
+ }
+ else
+ {
+ *value = (char)ucs;
+ *length = 1;
+ }
+ return p + delta + 1;
+ }
+
+ // Now try to match it.
+ for( i=0; i<NUM_ENTITY; ++i )
+ {
+ if ( strncmp( entity[i].str, p, entity[i].strLength ) == 0 )
+ {
+ assert( strlen( entity[i].str ) == entity[i].strLength );
+ *value = entity[i].chr;
+ *length = 1;
+ return ( p + entity[i].strLength );
+ }
+ }
+
+ // So it wasn't an entity, its unrecognized, or something like that.
+ *value = *p; // Don't put back the last one, since we return it!
+ //*length = 1; // Leave unrecognized entities - this doesn't really work.
+ // Just writes strange XML.
+ return p+1;
}
bool TiXmlBase::StringEqual( const char* p,
- const char* tag,
- bool ignoreCase,
- TiXmlEncoding encoding )
+ const char* tag,
+ bool ignoreCase,
+ TiXmlEncoding encoding )
{
- assert( p );
- assert( tag );
- if ( !p || !*p )
- {
- assert( 0 );
- return false;
- }
-
- const char* q = p;
-
- if ( ignoreCase )
- {
- while ( *q && *tag && ToLower( *q, encoding ) == ToLower( *tag, encoding ) )
- {
- ++q;
- ++tag;
- }
-
- if ( *tag == 0 )
- return true;
- }
- else
- {
- while ( *q && *tag && *q == *tag )
- {
- ++q;
- ++tag;
- }
-
- if ( *tag == 0 ) // Have we found the end of the tag, and everything equal?
- return true;
- }
- return false;
+ assert( p );
+ assert( tag );
+ if ( !p || !*p )
+ {
+ assert( 0 );
+ return false;
+ }
+
+ const char* q = p;
+
+ if ( ignoreCase )
+ {
+ while ( *q && *tag && ToLower( *q, encoding ) == ToLower( *tag, encoding ) )
+ {
+ ++q;
+ ++tag;
+ }
+
+ if ( *tag == 0 )
+ return true;
+ }
+ else
+ {
+ while ( *q && *tag && *q == *tag )
+ {
+ ++q;
+ ++tag;
+ }
+
+ if ( *tag == 0 ) // Have we found the end of the tag, and everything equal?
+ return true;
+ }
+ return false;
}
-const char* TiXmlBase::ReadText( const char* p,
- TIXML_STRING * text,
- bool trimWhiteSpace,
- const char* endTag,
- bool caseInsensitive,
- TiXmlEncoding encoding )
+const char* TiXmlBase::ReadText( const char* p,
+ TIXML_STRING * text,
+ bool trimWhiteSpace,
+ const char* endTag,
+ bool caseInsensitive,
+ TiXmlEncoding encoding )
{
*text = "";
- if ( !trimWhiteSpace // certain tags always keep whitespace
- || !condenseWhiteSpace ) // if true, whitespace is always kept
- {
- // Keep all the white space.
- while ( p && *p
- && !StringEqual( p, endTag, caseInsensitive, encoding )
- )
- {
- int len;
- char cArr[4] = { 0, 0, 0, 0 };
- p = GetChar( p, cArr, &len, encoding );
- text->append( cArr, len );
- }
- }
- else
- {
- bool whitespace = false;
-
- // Remove leading white space:
- p = SkipWhiteSpace( p, encoding );
- while ( p && *p
- && !StringEqual( p, endTag, caseInsensitive, encoding ) )
- {
- if ( *p == '\r' || *p == '\n' )
- {
- whitespace = true;
- ++p;
- }
- else if ( IsWhiteSpace( *p ) )
- {
- whitespace = true;
- ++p;
- }
- else
- {
- // If we've found whitespace, add it before the
- // new character. Any whitespace just becomes a space.
- if ( whitespace )
- {
- (*text) += ' ';
- whitespace = false;
- }
- int len;
- char cArr[4] = { 0, 0, 0, 0 };
- p = GetChar( p, cArr, &len, encoding );
- if ( len == 1 )
- (*text) += cArr[0]; // more efficient
- else
- text->append( cArr, len );
- }
- }
- }
- if ( p )
- p += strlen( endTag );
- return p;
+ if ( !trimWhiteSpace // certain tags always keep whitespace
+ || !condenseWhiteSpace ) // if true, whitespace is always kept
+ {
+ // Keep all the white space.
+ while ( p && *p
+ && !StringEqual( p, endTag, caseInsensitive, encoding )
+ )
+ {
+ int len;
+ char cArr[4] = { 0, 0, 0, 0 };
+ p = GetChar( p, cArr, &len, encoding );
+ text->append( cArr, len );
+ }
+ }
+ else
+ {
+ bool whitespace = false;
+
+ // Remove leading white space:
+ p = SkipWhiteSpace( p, encoding );
+ while ( p && *p
+ && !StringEqual( p, endTag, caseInsensitive, encoding ) )
+ {
+ if ( *p == '\r' || *p == '\n' )
+ {
+ whitespace = true;
+ ++p;
+ }
+ else if ( IsWhiteSpace( *p ) )
+ {
+ whitespace = true;
+ ++p;
+ }
+ else
+ {
+ // If we've found whitespace, add it before the
+ // new character. Any whitespace just becomes a space.
+ if ( whitespace )
+ {
+ (*text) += ' ';
+ whitespace = false;
+ }
+ int len;
+ char cArr[4] = { 0, 0, 0, 0 };
+ p = GetChar( p, cArr, &len, encoding );
+ if ( len == 1 )
+ (*text) += cArr[0]; // more efficient
+ else
+ text->append( cArr, len );
+ }
+ }
+ }
+ if ( p && *p )
+ p += strlen( endTag );
+ return p;
}
#ifdef TIXML_USE_STL
void TiXmlDocument::StreamIn( std::istream * in, TIXML_STRING * tag )
{
- // The basic issue with a document is that we don't know what we're
- // streaming. Read something presumed to be a tag (and hope), then
- // identify it, and call the appropriate stream method on the tag.
- //
- // This "pre-streaming" will never read the closing ">" so the
- // sub-tag can orient itself.
-
- if ( !StreamTo( in, '<', tag ) )
- {
- SetError( TIXML_ERROR_PARSING_EMPTY, 0, 0, TIXML_ENCODING_UNKNOWN );
- return;
- }
-
- while ( in->good() )
- {
- int tagIndex = (int) tag->length();
- while ( in->good() && in->peek() != '>' )
- {
- int c = in->get();
- if ( c <= 0 )
- {
- SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
- break;
- }
- (*tag) += (char) c;
- }
-
- if ( in->good() )
- {
- // We now have something we presume to be a node of
- // some sort. Identify it, and call the node to
- // continue streaming.
- TiXmlNode* node = Identify( tag->c_str() + tagIndex, TIXML_DEFAULT_ENCODING );
-
- if ( node )
- {
- node->StreamIn( in, tag );
- bool isElement = node->ToElement() != 0;
- delete node;
- node = 0;
-
- // If this is the root element, we're done. Parsing will be
- // done by the >> operator.
- if ( isElement )
- {
- return;
- }
- }
- else
- {
- SetError( TIXML_ERROR, 0, 0, TIXML_ENCODING_UNKNOWN );
- return;
- }
- }
- }
- // We should have returned sooner.
- SetError( TIXML_ERROR, 0, 0, TIXML_ENCODING_UNKNOWN );
+ // The basic issue with a document is that we don't know what we're
+ // streaming. Read something presumed to be a tag (and hope), then
+ // identify it, and call the appropriate stream method on the tag.
+ //
+ // This "pre-streaming" will never read the closing ">" so the
+ // sub-tag can orient itself.
+
+ if ( !StreamTo( in, '<', tag ) )
+ {
+ SetError( TIXML_ERROR_PARSING_EMPTY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+
+ while ( in->good() )
+ {
+ int tagIndex = (int) tag->length();
+ while ( in->good() && in->peek() != '>' )
+ {
+ int c = in->get();
+ if ( c <= 0 )
+ {
+ SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
+ break;
+ }
+ (*tag) += (char) c;
+ }
+
+ if ( in->good() )
+ {
+ // We now have something we presume to be a node of
+ // some sort. Identify it, and call the node to
+ // continue streaming.
+ TiXmlNode* node = Identify( tag->c_str() + tagIndex, TIXML_DEFAULT_ENCODING );
+
+ if ( node )
+ {
+ node->StreamIn( in, tag );
+ bool isElement = node->ToElement() != 0;
+ delete node;
+ node = 0;
+
+ // If this is the root element, we're done. Parsing will be
+ // done by the >> operator.
+ if ( isElement )
+ {
+ return;
+ }
+ }
+ else
+ {
+ SetError( TIXML_ERROR, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+ }
+ }
+ // We should have returned sooner.
+ SetError( TIXML_ERROR, 0, 0, TIXML_ENCODING_UNKNOWN );
}
#endif
const char* TiXmlDocument::Parse( const char* p, TiXmlParsingData* prevData, TiXmlEncoding encoding )
{
- ClearError();
-
- // Parse away, at the document level. Since a document
- // contains nothing but other tags, most of what happens
- // here is skipping white space.
- if ( !p || !*p )
- {
- SetError( TIXML_ERROR_DOCUMENT_EMPTY, 0, 0, TIXML_ENCODING_UNKNOWN );
- return 0;
- }
-
- // Note that, for a document, this needs to come
- // before the while space skip, so that parsing
- // starts from the pointer we are given.
- location.Clear();
- if ( prevData )
- {
- location.row = prevData->cursor.row;
- location.col = prevData->cursor.col;
- }
- else
- {
- location.row = 0;
- location.col = 0;
- }
- TiXmlParsingData data( p, TabSize(), location.row, location.col );
- location = data.Cursor();
-
- if ( encoding == TIXML_ENCODING_UNKNOWN )
- {
- // Check for the Microsoft UTF-8 lead bytes.
- const unsigned char* pU = (const unsigned char*)p;
- if ( *(pU+0) && *(pU+0) == TIXML_UTF_LEAD_0
- && *(pU+1) && *(pU+1) == TIXML_UTF_LEAD_1
- && *(pU+2) && *(pU+2) == TIXML_UTF_LEAD_2 )
- {
- encoding = TIXML_ENCODING_UTF8;
- useMicrosoftBOM = true;
- }
- }
+ ClearError();
+
+ // Parse away, at the document level. Since a document
+ // contains nothing but other tags, most of what happens
+ // here is skipping white space.
+ if ( !p || !*p )
+ {
+ SetError( TIXML_ERROR_DOCUMENT_EMPTY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return 0;
+ }
+
+ // Note that, for a document, this needs to come
+ // before the while space skip, so that parsing
+ // starts from the pointer we are given.
+ location.Clear();
+ if ( prevData )
+ {
+ location.row = prevData->cursor.row;
+ location.col = prevData->cursor.col;
+ }
+ else
+ {
+ location.row = 0;
+ location.col = 0;
+ }
+ TiXmlParsingData data( p, TabSize(), location.row, location.col );
+ location = data.Cursor();
+
+ if ( encoding == TIXML_ENCODING_UNKNOWN )
+ {
+ // Check for the Microsoft UTF-8 lead bytes.
+ const unsigned char* pU = (const unsigned char*)p;
+ if ( *(pU+0) && *(pU+0) == TIXML_UTF_LEAD_0
+ && *(pU+1) && *(pU+1) == TIXML_UTF_LEAD_1
+ && *(pU+2) && *(pU+2) == TIXML_UTF_LEAD_2 )
+ {
+ encoding = TIXML_ENCODING_UTF8;
+ useMicrosoftBOM = true;
+ }
+ }
p = SkipWhiteSpace( p, encoding );
- if ( !p )
- {
- SetError( TIXML_ERROR_DOCUMENT_EMPTY, 0, 0, TIXML_ENCODING_UNKNOWN );
- return 0;
- }
-
- while ( p && *p )
- {
- TiXmlNode* node = Identify( p, encoding );
- if ( node )
- {
- p = node->Parse( p, &data, encoding );
- LinkEndChild( node );
- }
- else
- {
- break;
- }
-
- // Did we get encoding info?
- if ( encoding == TIXML_ENCODING_UNKNOWN
- && node->ToDeclaration() )
- {
- TiXmlDeclaration* dec = node->ToDeclaration();
- const char* enc = dec->Encoding();
- assert( enc );
-
- if ( *enc == 0 )
- encoding = TIXML_ENCODING_UTF8;
- else if ( StringEqual( enc, "UTF-8", true, TIXML_ENCODING_UNKNOWN ) )
- encoding = TIXML_ENCODING_UTF8;
- else if ( StringEqual( enc, "UTF8", true, TIXML_ENCODING_UNKNOWN ) )
- encoding = TIXML_ENCODING_UTF8; // incorrect, but be nice
- else
- encoding = TIXML_ENCODING_LEGACY;
- }
-
- p = SkipWhiteSpace( p, encoding );
- }
-
- // Was this empty?
- if ( !firstChild )
- {
- SetError( TIXML_ERROR_DOCUMENT_EMPTY, 0, 0, encoding );
- return 0;
- }
-
- // All is well.
- return p;
+ if ( !p )
+ {
+ SetError( TIXML_ERROR_DOCUMENT_EMPTY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return 0;
+ }
+
+ while ( p && *p )
+ {
+ TiXmlNode* node = Identify( p, encoding );
+ if ( node )
+ {
+ p = node->Parse( p, &data, encoding );
+ LinkEndChild( node );
+ }
+ else
+ {
+ break;
+ }
+
+ // Did we get encoding info?
+ if ( encoding == TIXML_ENCODING_UNKNOWN
+ && node->ToDeclaration() )
+ {
+ TiXmlDeclaration* dec = node->ToDeclaration();
+ const char* enc = dec->Encoding();
+ assert( enc );
+
+ if ( *enc == 0 )
+ encoding = TIXML_ENCODING_UTF8;
+ else if ( StringEqual( enc, "UTF-8", true, TIXML_ENCODING_UNKNOWN ) )
+ encoding = TIXML_ENCODING_UTF8;
+ else if ( StringEqual( enc, "UTF8", true, TIXML_ENCODING_UNKNOWN ) )
+ encoding = TIXML_ENCODING_UTF8; // incorrect, but be nice
+ else
+ encoding = TIXML_ENCODING_LEGACY;
+ }
+
+ p = SkipWhiteSpace( p, encoding );
+ }
+
+ // Was this empty?
+ if ( !firstChild ) {
+ SetError( TIXML_ERROR_DOCUMENT_EMPTY, 0, 0, encoding );
+ return 0;
+ }
+
+ // All is well.
+ return p;
}
void TiXmlDocument::SetError( int err, const char* pError, TiXmlParsingData* data, TiXmlEncoding encoding )
-{
- // The first error in a chain is more accurate - don't set again!
- if ( error )
- return;
-
- assert( err > 0 && err < TIXML_ERROR_STRING_COUNT );
- error = true;
- errorId = err;
- errorDesc = errorString[ errorId ];
-
- errorLocation.Clear();
- if ( pError && data )
- {
- data->Stamp( pError, encoding );
- errorLocation = data->Cursor();
- }
+{
+ // The first error in a chain is more accurate - don't set again!
+ if ( error )
+ return;
+
+ assert( err > 0 && err < TIXML_ERROR_STRING_COUNT );
+ error = true;
+ errorId = err;
+ errorDesc = errorString[ errorId ];
+
+ errorLocation.Clear();
+ if ( pError && data )
+ {
+ data->Stamp( pError, encoding );
+ errorLocation = data->Cursor();
+ }
}
TiXmlNode* TiXmlNode::Identify( const char* p, TiXmlEncoding encoding )
{
- TiXmlNode* returnNode = 0;
-
- p = SkipWhiteSpace( p, encoding );
- if ( !p || !*p || *p != '<' )
- {
- return 0;
- }
-
- TiXmlDocument* doc = GetDocument();
- p = SkipWhiteSpace( p, encoding );
-
- if ( !p || !*p )
- {
- return 0;
- }
-
- // What is this thing?
- // - Elements start with a letter or underscore, but xml is reserved.
- // - Comments: <!--
- // - Decleration: <?xml
- // - Everthing else is unknown to tinyxml.
- //
-
- const char* xmlHeader = { "<?xml" };
- const char* commentHeader = { "<!--" };
- const char* dtdHeader = { "<!" };
- const char* cdataHeader = { "<![CDATA[" };
-
- if ( StringEqual( p, xmlHeader, true, encoding ) )
- {
-#ifdef DEBUG_PARSER
- TIXML_LOG( "XML parsing Declaration\n" );
-#endif
- returnNode = new TiXmlDeclaration();
- }
- else if ( StringEqual( p, commentHeader, false, encoding ) )
- {
-#ifdef DEBUG_PARSER
- TIXML_LOG( "XML parsing Comment\n" );
-#endif
- returnNode = new TiXmlComment();
- }
- else if ( StringEqual( p, cdataHeader, false, encoding ) )
- {
-#ifdef DEBUG_PARSER
- TIXML_LOG( "XML parsing CDATA\n" );
-#endif
- TiXmlText* text = new TiXmlText( "" );
- text->SetCDATA( true );
- returnNode = text;
- }
- else if ( StringEqual( p, dtdHeader, false, encoding ) )
- {
-#ifdef DEBUG_PARSER
- TIXML_LOG( "XML parsing Unknown(1)\n" );
-#endif
- returnNode = new TiXmlUnknown();
- }
- else if ( IsAlpha( *(p+1), encoding )
- || *(p+1) == '_' )
- {
-#ifdef DEBUG_PARSER
- TIXML_LOG( "XML parsing Element\n" );
-#endif
- returnNode = new TiXmlElement( "" );
- }
- else
- {
-#ifdef DEBUG_PARSER
- TIXML_LOG( "XML parsing Unknown(2)\n" );
-#endif
- returnNode = new TiXmlUnknown();
- }
-
- if ( returnNode )
- {
- // Set the parent, so it can report errors
- returnNode->parent = this;
- }
- else
- {
- if ( doc )
- doc->SetError( TIXML_ERROR_OUT_OF_MEMORY, 0, 0, TIXML_ENCODING_UNKNOWN );
- }
- return returnNode;
+ TiXmlNode* returnNode = 0;
+
+ p = SkipWhiteSpace( p, encoding );
+ if( !p || !*p || *p != '<' )
+ {
+ return 0;
+ }
+
+ p = SkipWhiteSpace( p, encoding );
+
+ if ( !p || !*p )
+ {
+ return 0;
+ }
+
+ // What is this thing?
+ // - Elements start with a letter or underscore, but xml is reserved.
+ // - Comments: <!--
+ // - Decleration: <?xml
+ // - Everthing else is unknown to tinyxml.
+ //
+
+ const char* xmlHeader = { "<?xml" };
+ const char* commentHeader = { "<!--" };
+ const char* dtdHeader = { "<!" };
+ const char* cdataHeader = { "<![CDATA[" };
+
+ if ( StringEqual( p, xmlHeader, true, encoding ) )
+ {
+ #ifdef DEBUG_PARSER
+ TIXML_LOG( "XML parsing Declaration\n" );
+ #endif
+ returnNode = new TiXmlDeclaration();
+ }
+ else if ( StringEqual( p, commentHeader, false, encoding ) )
+ {
+ #ifdef DEBUG_PARSER
+ TIXML_LOG( "XML parsing Comment\n" );
+ #endif
+ returnNode = new TiXmlComment();
+ }
+ else if ( StringEqual( p, cdataHeader, false, encoding ) )
+ {
+ #ifdef DEBUG_PARSER
+ TIXML_LOG( "XML parsing CDATA\n" );
+ #endif
+ TiXmlText* text = new TiXmlText( "" );
+ text->SetCDATA( true );
+ returnNode = text;
+ }
+ else if ( StringEqual( p, dtdHeader, false, encoding ) )
+ {
+ #ifdef DEBUG_PARSER
+ TIXML_LOG( "XML parsing Unknown(1)\n" );
+ #endif
+ returnNode = new TiXmlUnknown();
+ }
+ else if ( IsAlpha( *(p+1), encoding )
+ || *(p+1) == '_' )
+ {
+ #ifdef DEBUG_PARSER
+ TIXML_LOG( "XML parsing Element\n" );
+ #endif
+ returnNode = new TiXmlElement( "" );
+ }
+ else
+ {
+ #ifdef DEBUG_PARSER
+ TIXML_LOG( "XML parsing Unknown(2)\n" );
+ #endif
+ returnNode = new TiXmlUnknown();
+ }
+
+ if ( returnNode )
+ {
+ // Set the parent, so it can report errors
+ returnNode->parent = this;
+ }
+ return returnNode;
}
#ifdef TIXML_USE_STL
void TiXmlElement::StreamIn (std::istream * in, TIXML_STRING * tag)
{
- // We're called with some amount of pre-parsing. That is, some of "this"
- // element is in "tag". Go ahead and stream to the closing ">"
- while ( in->good() )
- {
- int c = in->get();
- if ( c <= 0 )
- {
- TiXmlDocument* document = GetDocument();
- if ( document )
- document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
- return;
- }
- (*tag) += (char) c ;
-
- if ( c == '>' )
- break;
- }
-
- if ( tag->length() < 3 ) return;
-
- // Okay...if we are a "/>" tag, then we're done. We've read a complete tag.
- // If not, identify and stream.
-
- if ( tag->at( tag->length() - 1 ) == '>'
- && tag->at( tag->length() - 2 ) == '/' )
- {
- // All good!
- return;
- }
- else if ( tag->at( tag->length() - 1 ) == '>' )
- {
- // There is more. Could be:
- // text
- // cdata text (which looks like another node)
- // closing tag
- // another node.
- for ( ;; )
- {
- StreamWhiteSpace( in, tag );
-
- // Do we have text?
- if ( in->good() && in->peek() != '<' )
- {
- // Yep, text.
- TiXmlText text( "" );
- text.StreamIn( in, tag );
-
- // What follows text is a closing tag or another node.
- // Go around again and figure it out.
- continue;
- }
-
- // We now have either a closing tag...or another node.
- // We should be at a "<", regardless.
- if ( !in->good() ) return;
- assert( in->peek() == '<' );
- int tagIndex = (int) tag->length();
-
- bool closingTag = false;
- bool firstCharFound = false;
-
- for ( ;; )
- {
- if ( !in->good() )
- return;
-
- int c = in->peek();
- if ( c <= 0 )
- {
- TiXmlDocument* document = GetDocument();
- if ( document )
- document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
- return;
- }
-
- if ( c == '>' )
- break;
-
- *tag += (char) c;
- in->get();
-
- // Early out if we find the CDATA id.
- if ( c == '[' && tag->size() >= 9 )
- {
- size_t len = tag->size();
- const char* start = tag->c_str() + len - 9;
- if ( strcmp( start, "<![CDATA[" ) == 0 )
- {
- assert( !closingTag );
- break;
- }
- }
-
- if ( !firstCharFound && c != '<' && !IsWhiteSpace( c ) )
- {
- firstCharFound = true;
- if ( c == '/' )
- closingTag = true;
- }
- }
- // If it was a closing tag, then read in the closing '>' to clean up the input stream.
- // If it was not, the streaming will be done by the tag.
- if ( closingTag )
- {
- if ( !in->good() )
- return;
-
- int c = in->get();
- if ( c <= 0 )
- {
- TiXmlDocument* document = GetDocument();
- if ( document )
- document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
- return;
- }
- assert( c == '>' );
- *tag += (char) c;
-
- // We are done, once we've found our closing tag.
- return;
- }
- else
- {
- // If not a closing tag, id it, and stream.
- const char* tagloc = tag->c_str() + tagIndex;
- TiXmlNode* node = Identify( tagloc, TIXML_DEFAULT_ENCODING );
- if ( !node )
- return;
- node->StreamIn( in, tag );
- delete node;
- node = 0;
-
- // No return: go around from the beginning: text, closing tag, or node.
- }
- }
- }
+ // We're called with some amount of pre-parsing. That is, some of "this"
+ // element is in "tag". Go ahead and stream to the closing ">"
+ while( in->good() )
+ {
+ int c = in->get();
+ if ( c <= 0 )
+ {
+ TiXmlDocument* document = GetDocument();
+ if ( document )
+ document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+ (*tag) += (char) c ;
+
+ if ( c == '>' )
+ break;
+ }
+
+ if ( tag->length() < 3 ) return;
+
+ // Okay...if we are a "/>" tag, then we're done. We've read a complete tag.
+ // If not, identify and stream.
+
+ if ( tag->at( tag->length() - 1 ) == '>'
+ && tag->at( tag->length() - 2 ) == '/' )
+ {
+ // All good!
+ return;
+ }
+ else if ( tag->at( tag->length() - 1 ) == '>' )
+ {
+ // There is more. Could be:
+ // text
+ // cdata text (which looks like another node)
+ // closing tag
+ // another node.
+ for ( ;; )
+ {
+ StreamWhiteSpace( in, tag );
+
+ // Do we have text?
+ if ( in->good() && in->peek() != '<' )
+ {
+ // Yep, text.
+ TiXmlText text( "" );
+ text.StreamIn( in, tag );
+
+ // What follows text is a closing tag or another node.
+ // Go around again and figure it out.
+ continue;
+ }
+
+ // We now have either a closing tag...or another node.
+ // We should be at a "<", regardless.
+ if ( !in->good() ) return;
+ assert( in->peek() == '<' );
+ int tagIndex = (int) tag->length();
+
+ bool closingTag = false;
+ bool firstCharFound = false;
+
+ for( ;; )
+ {
+ if ( !in->good() )
+ return;
+
+ int c = in->peek();
+ if ( c <= 0 )
+ {
+ TiXmlDocument* document = GetDocument();
+ if ( document )
+ document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+
+ if ( c == '>' )
+ break;
+
+ *tag += (char) c;
+ in->get();
+
+ // Early out if we find the CDATA id.
+ if ( c == '[' && tag->size() >= 9 )
+ {
+ size_t len = tag->size();
+ const char* start = tag->c_str() + len - 9;
+ if ( strcmp( start, "<![CDATA[" ) == 0 ) {
+ assert( !closingTag );
+ break;
+ }
+ }
+
+ if ( !firstCharFound && c != '<' && !IsWhiteSpace( c ) )
+ {
+ firstCharFound = true;
+ if ( c == '/' )
+ closingTag = true;
+ }
+ }
+ // If it was a closing tag, then read in the closing '>' to clean up the input stream.
+ // If it was not, the streaming will be done by the tag.
+ if ( closingTag )
+ {
+ if ( !in->good() )
+ return;
+
+ int c = in->get();
+ if ( c <= 0 )
+ {
+ TiXmlDocument* document = GetDocument();
+ if ( document )
+ document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+ assert( c == '>' );
+ *tag += (char) c;
+
+ // We are done, once we've found our closing tag.
+ return;
+ }
+ else
+ {
+ // If not a closing tag, id it, and stream.
+ const char* tagloc = tag->c_str() + tagIndex;
+ TiXmlNode* node = Identify( tagloc, TIXML_DEFAULT_ENCODING );
+ if ( !node )
+ return;
+ node->StreamIn( in, tag );
+ delete node;
+ node = 0;
+
+ // No return: go around from the beginning: text, closing tag, or node.
+ }
+ }
+ }
}
#endif
const char* TiXmlElement::Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding )
{
- p = SkipWhiteSpace( p, encoding );
- TiXmlDocument* document = GetDocument();
+ p = SkipWhiteSpace( p, encoding );
+ TiXmlDocument* document = GetDocument();
- if ( !p || !*p )
- {
- if ( document ) document->SetError( TIXML_ERROR_PARSING_ELEMENT, 0, 0, encoding );
- return 0;
- }
+ if ( !p || !*p )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_PARSING_ELEMENT, 0, 0, encoding );
+ return 0;
+ }
- if ( data )
- {
- data->Stamp( p, encoding );
- location = data->Cursor();
- }
+ if ( data )
+ {
+ data->Stamp( p, encoding );
+ location = data->Cursor();
+ }
- if ( *p != '<' )
- {
- if ( document ) document->SetError( TIXML_ERROR_PARSING_ELEMENT, p, data, encoding );
- return 0;
- }
+ if ( *p != '<' )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_PARSING_ELEMENT, p, data, encoding );
+ return 0;
+ }
- p = SkipWhiteSpace( p+1, encoding );
+ p = SkipWhiteSpace( p+1, encoding );
- // Read the name.
- const char* pErr = p;
+ // Read the name.
+ const char* pErr = p;
p = ReadName( p, &value, encoding );
- if ( !p || !*p )
- {
- if ( document ) document->SetError( TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME, pErr, data, encoding );
- return 0;
- }
+ if ( !p || !*p )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME, pErr, data, encoding );
+ return 0;
+ }
TIXML_STRING endTag ("</");
- endTag += value;
- endTag += ">";
-
- // Check for and read attributes. Also look for an empty
- // tag or an end tag.
- while ( p && *p )
- {
- pErr = p;
- p = SkipWhiteSpace( p, encoding );
- if ( !p || !*p )
- {
- if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, pErr, data, encoding );
- return 0;
- }
- if ( *p == '/' )
- {
- ++p;
- // Empty tag.
- if ( *p != '>' )
- {
- if ( document ) document->SetError( TIXML_ERROR_PARSING_EMPTY, p, data, encoding );
- return 0;
- }
- return (p+1);
- }
- else if ( *p == '>' )
- {
- // Done with attributes (if there were any.)
- // Read the value -- which can include other
- // elements -- read the end tag, and return.
- ++p;
- p = ReadValue( p, data, encoding ); // Note this is an Element method, and will set the error if one happens.
- if ( !p || !*p )
- {
- // We were looking for the end tag, but found nothing.
- // Fix for [ 1663758 ] Failure to report error on bad XML
- if ( document ) document->SetError( TIXML_ERROR_READING_END_TAG, p, data, encoding );
- return 0;
- }
-
- // We should find the end tag now
- if ( StringEqual( p, endTag.c_str(), false, encoding ) )
- {
- p += endTag.length();
- return p;
- }
- else
- {
- if ( document ) document->SetError( TIXML_ERROR_READING_END_TAG, p, data, encoding );
- return 0;
- }
- }
- else
- {
- // Try to read an attribute:
- TiXmlAttribute* attrib = new TiXmlAttribute();
- if ( !attrib )
- {
- if ( document ) document->SetError( TIXML_ERROR_OUT_OF_MEMORY, pErr, data, encoding );
- return 0;
- }
-
- attrib->SetDocument( document );
- pErr = p;
- p = attrib->Parse( p, data, encoding );
-
- if ( !p || !*p )
- {
- if ( document ) document->SetError( TIXML_ERROR_PARSING_ELEMENT, pErr, data, encoding );
- delete attrib;
- return 0;
- }
-
- // Handle the strange case of double attributes:
-#ifdef TIXML_USE_STL
- TiXmlAttribute* node = attributeSet.Find( attrib->NameTStr() );
-#else
- TiXmlAttribute* node = attributeSet.Find( attrib->Name() );
-#endif
- if ( node )
- {
- node->SetValue( attrib->Value() );
- delete attrib;
- return 0;
- }
-
- attributeSet.Add( attrib );
- }
- }
- return p;
+ endTag += value;
+
+ // Check for and read attributes. Also look for an empty
+ // tag or an end tag.
+ while ( p && *p )
+ {
+ pErr = p;
+ p = SkipWhiteSpace( p, encoding );
+ if ( !p || !*p )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, pErr, data, encoding );
+ return 0;
+ }
+ if ( *p == '/' )
+ {
+ ++p;
+ // Empty tag.
+ if ( *p != '>' )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_PARSING_EMPTY, p, data, encoding );
+ return 0;
+ }
+ return (p+1);
+ }
+ else if ( *p == '>' )
+ {
+ // Done with attributes (if there were any.)
+ // Read the value -- which can include other
+ // elements -- read the end tag, and return.
+ ++p;
+ p = ReadValue( p, data, encoding ); // Note this is an Element method, and will set the error if one happens.
+ if ( !p || !*p ) {
+ // We were looking for the end tag, but found nothing.
+ // Fix for [ 1663758 ] Failure to report error on bad XML
+ if ( document ) document->SetError( TIXML_ERROR_READING_END_TAG, p, data, encoding );
+ return 0;
+ }
+
+ // We should find the end tag now
+ // note that:
+ // </foo > and
+ // </foo>
+ // are both valid end tags.
+ if ( StringEqual( p, endTag.c_str(), false, encoding ) )
+ {
+ p += endTag.length();
+ p = SkipWhiteSpace( p, encoding );
+ if ( p && *p && *p == '>' ) {
+ ++p;
+ return p;
+ }
+ if ( document ) document->SetError( TIXML_ERROR_READING_END_TAG, p, data, encoding );
+ return 0;
+ }
+ else
+ {
+ if ( document ) document->SetError( TIXML_ERROR_READING_END_TAG, p, data, encoding );
+ return 0;
+ }
+ }
+ else
+ {
+ // Try to read an attribute:
+ TiXmlAttribute* attrib = new TiXmlAttribute();
+ if ( !attrib )
+ {
+ return 0;
+ }
+
+ attrib->SetDocument( document );
+ pErr = p;
+ p = attrib->Parse( p, data, encoding );
+
+ if ( !p || !*p )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_PARSING_ELEMENT, pErr, data, encoding );
+ delete attrib;
+ return 0;
+ }
+
+ // Handle the strange case of double attributes:
+ #ifdef TIXML_USE_STL
+ TiXmlAttribute* node = attributeSet.Find( attrib->NameTStr() );
+ #else
+ TiXmlAttribute* node = attributeSet.Find( attrib->Name() );
+ #endif
+ if ( node )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_PARSING_ELEMENT, pErr, data, encoding );
+ delete attrib;
+ return 0;
+ }
+
+ attributeSet.Add( attrib );
+ }
+ }
+ return p;
}
const char* TiXmlElement::ReadValue( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding )
{
- TiXmlDocument* document = GetDocument();
-
- // Read in text and elements in any order.
- const char* pWithWhiteSpace = p;
- p = SkipWhiteSpace( p, encoding );
-
- while ( p && *p )
- {
- if ( *p != '<' )
- {
- // Take what we have, make a text element.
- TiXmlText* textNode = new TiXmlText( "" );
-
- if ( !textNode )
- {
- if ( document ) document->SetError( TIXML_ERROR_OUT_OF_MEMORY, 0, 0, encoding );
- return 0;
- }
-
- if ( TiXmlBase::IsWhiteSpaceCondensed() )
- {
- p = textNode->Parse( p, data, encoding );
- }
- else
- {
- // Special case: we want to keep the white space
- // so that leading spaces aren't removed.
- p = textNode->Parse( pWithWhiteSpace, data, encoding );
- }
-
- if ( !textNode->Blank() )
- LinkEndChild( textNode );
- else
- delete textNode;
- }
- else
- {
- // We hit a '<'
- // Have we hit a new element or an end tag? This could also be
- // a TiXmlText in the "CDATA" style.
- if ( StringEqual( p, "</", false, encoding ) )
- {
- return p;
- }
- else
- {
- TiXmlNode* node = Identify( p, encoding );
- if ( node )
- {
- p = node->Parse( p, data, encoding );
- LinkEndChild( node );
- }
- else
- {
- return 0;
- }
- }
- }
- pWithWhiteSpace = p;
- p = SkipWhiteSpace( p, encoding );
- }
-
- if ( !p )
- {
- if ( document ) document->SetError( TIXML_ERROR_READING_ELEMENT_VALUE, 0, 0, encoding );
- }
- return p;
+ TiXmlDocument* document = GetDocument();
+
+ // Read in text and elements in any order.
+ const char* pWithWhiteSpace = p;
+ p = SkipWhiteSpace( p, encoding );
+
+ while ( p && *p )
+ {
+ if ( *p != '<' )
+ {
+ // Take what we have, make a text element.
+ TiXmlText* textNode = new TiXmlText( "" );
+
+ if ( !textNode )
+ {
+ return 0;
+ }
+
+ if ( TiXmlBase::IsWhiteSpaceCondensed() )
+ {
+ p = textNode->Parse( p, data, encoding );
+ }
+ else
+ {
+ // Special case: we want to keep the white space
+ // so that leading spaces aren't removed.
+ p = textNode->Parse( pWithWhiteSpace, data, encoding );
+ }
+
+ if ( !textNode->Blank() )
+ LinkEndChild( textNode );
+ else
+ delete textNode;
+ }
+ else
+ {
+ // We hit a '<'
+ // Have we hit a new element or an end tag? This could also be
+ // a TiXmlText in the "CDATA" style.
+ if ( StringEqual( p, "</", false, encoding ) )
+ {
+ return p;
+ }
+ else
+ {
+ TiXmlNode* node = Identify( p, encoding );
+ if ( node )
+ {
+ p = node->Parse( p, data, encoding );
+ LinkEndChild( node );
+ }
+ else
+ {
+ return 0;
+ }
+ }
+ }
+ pWithWhiteSpace = p;
+ p = SkipWhiteSpace( p, encoding );
+ }
+
+ if ( !p )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_READING_ELEMENT_VALUE, 0, 0, encoding );
+ }
+ return p;
}
#ifdef TIXML_USE_STL
void TiXmlUnknown::StreamIn( std::istream * in, TIXML_STRING * tag )
{
- while ( in->good() )
- {
- int c = in->get();
- if ( c <= 0 )
- {
- TiXmlDocument* document = GetDocument();
- if ( document )
- document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
- return;
- }
- (*tag) += (char) c;
-
- if ( c == '>' )
- {
- // All is well.
- return;
- }
- }
+ while ( in->good() )
+ {
+ int c = in->get();
+ if ( c <= 0 )
+ {
+ TiXmlDocument* document = GetDocument();
+ if ( document )
+ document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+ (*tag) += (char) c;
+
+ if ( c == '>' )
+ {
+ // All is well.
+ return;
+ }
+ }
}
#endif
const char* TiXmlUnknown::Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding )
{
- TiXmlDocument* document = GetDocument();
- p = SkipWhiteSpace( p, encoding );
-
- if ( data )
- {
- data->Stamp( p, encoding );
- location = data->Cursor();
- }
- if ( !p || !*p || *p != '<' )
- {
- if ( document ) document->SetError( TIXML_ERROR_PARSING_UNKNOWN, p, data, encoding );
- return 0;
- }
- ++p;
+ TiXmlDocument* document = GetDocument();
+ p = SkipWhiteSpace( p, encoding );
+
+ if ( data )
+ {
+ data->Stamp( p, encoding );
+ location = data->Cursor();
+ }
+ if ( !p || !*p || *p != '<' )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_PARSING_UNKNOWN, p, data, encoding );
+ return 0;
+ }
+ ++p;
value = "";
- while ( p && *p && *p != '>' )
- {
- value += *p;
- ++p;
- }
-
- if ( !p )
- {
- if ( document ) document->SetError( TIXML_ERROR_PARSING_UNKNOWN, 0, 0, encoding );
- }
- if ( *p == '>' )
- return p+1;
- return p;
+ while ( p && *p && *p != '>' )
+ {
+ value += *p;
+ ++p;
+ }
+
+ if ( !p )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_PARSING_UNKNOWN, 0, 0, encoding );
+ }
+ if ( *p == '>' )
+ return p+1;
+ return p;
}
#ifdef TIXML_USE_STL
void TiXmlComment::StreamIn( std::istream * in, TIXML_STRING * tag )
{
- while ( in->good() )
- {
- int c = in->get();
- if ( c <= 0 )
- {
- TiXmlDocument* document = GetDocument();
- if ( document )
- document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
- return;
- }
-
- (*tag) += (char) c;
-
- if ( c == '>'
- && tag->at( tag->length() - 2 ) == '-'
- && tag->at( tag->length() - 3 ) == '-' )
- {
- // All is well.
- return;
- }
- }
+ while ( in->good() )
+ {
+ int c = in->get();
+ if ( c <= 0 )
+ {
+ TiXmlDocument* document = GetDocument();
+ if ( document )
+ document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+
+ (*tag) += (char) c;
+
+ if ( c == '>'
+ && tag->at( tag->length() - 2 ) == '-'
+ && tag->at( tag->length() - 3 ) == '-' )
+ {
+ // All is well.
+ return;
+ }
+ }
}
#endif
const char* TiXmlComment::Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding )
{
- TiXmlDocument* document = GetDocument();
- value = "";
-
- p = SkipWhiteSpace( p, encoding );
-
- if ( data )
- {
- data->Stamp( p, encoding );
- location = data->Cursor();
- }
- const char* startTag = "<!--";
- const char* endTag = "-->";
-
- if ( !StringEqual( p, startTag, false, encoding ) )
- {
- document->SetError( TIXML_ERROR_PARSING_COMMENT, p, data, encoding );
- return 0;
- }
- p += strlen( startTag );
-
- // [ 1475201 ] TinyXML parses entities in comments
- // Oops - ReadText doesn't work, because we don't want to parse the entities.
- // p = ReadText( p, &value, false, endTag, false, encoding );
- //
- // from the XML spec:
- /*
- [Definition: Comments may appear anywhere in a document outside other markup; in addition,
- they may appear within the document type declaration at places allowed by the grammar.
- They are not part of the document's character data; an XML processor MAY, but need not,
- make it possible for an application to retrieve the text of comments. For compatibility,
- the string "--" (double-hyphen) MUST NOT occur within comments.] Parameter entity
- references MUST NOT be recognized within comments.
-
- An example of a comment:
-
- <!-- declarations for <head> & <body> -->
- */
+ TiXmlDocument* document = GetDocument();
+ value = "";
+
+ p = SkipWhiteSpace( p, encoding );
+
+ if ( data )
+ {
+ data->Stamp( p, encoding );
+ location = data->Cursor();
+ }
+ const char* startTag = "<!--";
+ const char* endTag = "-->";
+
+ if ( !StringEqual( p, startTag, false, encoding ) )
+ {
+ document->SetError( TIXML_ERROR_PARSING_COMMENT, p, data, encoding );
+ return 0;
+ }
+ p += strlen( startTag );
+
+ // [ 1475201 ] TinyXML parses entities in comments
+ // Oops - ReadText doesn't work, because we don't want to parse the entities.
+ // p = ReadText( p, &value, false, endTag, false, encoding );
+ //
+ // from the XML spec:
+ /*
+ [Definition: Comments may appear anywhere in a document outside other markup; in addition,
+ they may appear within the document type declaration at places allowed by the grammar.
+ They are not part of the document's character data; an XML processor MAY, but need not,
+ make it possible for an application to retrieve the text of comments. For compatibility,
+ the string "--" (double-hyphen) MUST NOT occur within comments.] Parameter entity
+ references MUST NOT be recognized within comments.
+
+ An example of a comment:
+
+ <!-- declarations for <head> & <body> -->
+ */
value = "";
- // Keep all the white space.
- while ( p && *p && !StringEqual( p, endTag, false, encoding ) )
- {
- value.append( p, 1 );
- ++p;
- }
- if ( p )
- p += strlen( endTag );
-
- return p;
+ // Keep all the white space.
+ while ( p && *p && !StringEqual( p, endTag, false, encoding ) )
+ {
+ value.append( p, 1 );
+ ++p;
+ }
+ if ( p && *p )
+ p += strlen( endTag );
+
+ return p;
}
const char* TiXmlAttribute::Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding )
{
- p = SkipWhiteSpace( p, encoding );
- if ( !p || !*p ) return 0;
-
-// int tabsize = 4;
-// if ( document )
-// tabsize = document->TabSize();
-
- if ( data )
- {
- data->Stamp( p, encoding );
- location = data->Cursor();
- }
- // Read the name, the '=' and the value.
- const char* pErr = p;
- p = ReadName( p, &name, encoding );
- if ( !p || !*p )
- {
- if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, pErr, data, encoding );
- return 0;
- }
- p = SkipWhiteSpace( p, encoding );
- if ( !p || !*p || *p != '=' )
- {
- if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, p, data, encoding );
- return 0;
- }
-
- ++p; // skip '='
- p = SkipWhiteSpace( p, encoding );
- if ( !p || !*p )
- {
- if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, p, data, encoding );
- return 0;
- }
-
- const char* end;
- const char SINGLE_QUOTE = '\'';
- const char DOUBLE_QUOTE = '\"';
-
- if ( *p == SINGLE_QUOTE )
- {
- ++p;
- end = "\'"; // single quote in string
- p = ReadText( p, &value, false, end, false, encoding );
- }
- else if ( *p == DOUBLE_QUOTE )
- {
- ++p;
- end = "\""; // double quote in string
- p = ReadText( p, &value, false, end, false, encoding );
- }
- else
- {
- // All attribute values should be in single or double quotes.
- // But this is such a common error that the parser will try
- // its best, even without them.
- value = "";
- while ( p && *p // existence
- && !IsWhiteSpace( *p ) && *p != '\n' && *p != '\r' // whitespace
- && *p != '/' && *p != '>' ) // tag end
- {
- if ( *p == SINGLE_QUOTE || *p == DOUBLE_QUOTE )
- {
- // [ 1451649 ] Attribute values with trailing quotes not handled correctly
- // We did not have an opening quote but seem to have a
- // closing one. Give up and throw an error.
- if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, p, data, encoding );
- return 0;
- }
- value += *p;
- ++p;
- }
- }
- return p;
+ p = SkipWhiteSpace( p, encoding );
+ if ( !p || !*p ) return 0;
+
+ if ( data )
+ {
+ data->Stamp( p, encoding );
+ location = data->Cursor();
+ }
+ // Read the name, the '=' and the value.
+ const char* pErr = p;
+ p = ReadName( p, &name, encoding );
+ if ( !p || !*p )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, pErr, data, encoding );
+ return 0;
+ }
+ p = SkipWhiteSpace( p, encoding );
+ if ( !p || !*p || *p != '=' )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, p, data, encoding );
+ return 0;
+ }
+
+ ++p; // skip '='
+ p = SkipWhiteSpace( p, encoding );
+ if ( !p || !*p )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, p, data, encoding );
+ return 0;
+ }
+
+ const char* end;
+ const char SINGLE_QUOTE = '\'';
+ const char DOUBLE_QUOTE = '\"';
+
+ if ( *p == SINGLE_QUOTE )
+ {
+ ++p;
+ end = "\'"; // single quote in string
+ p = ReadText( p, &value, false, end, false, encoding );
+ }
+ else if ( *p == DOUBLE_QUOTE )
+ {
+ ++p;
+ end = "\""; // double quote in string
+ p = ReadText( p, &value, false, end, false, encoding );
+ }
+ else
+ {
+ // All attribute values should be in single or double quotes.
+ // But this is such a common error that the parser will try
+ // its best, even without them.
+ value = "";
+ while ( p && *p // existence
+ && !IsWhiteSpace( *p ) // whitespace
+ && *p != '/' && *p != '>' ) // tag end
+ {
+ if ( *p == SINGLE_QUOTE || *p == DOUBLE_QUOTE ) {
+ // [ 1451649 ] Attribute values with trailing quotes not handled correctly
+ // We did not have an opening quote but seem to have a
+ // closing one. Give up and throw an error.
+ if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, p, data, encoding );
+ return 0;
+ }
+ value += *p;
+ ++p;
+ }
+ }
+ return p;
}
#ifdef TIXML_USE_STL
void TiXmlText::StreamIn( std::istream * in, TIXML_STRING * tag )
{
- while ( in->good() )
- {
- int c = in->peek();
- if ( !cdata && (c == '<' ) )
- {
- return;
- }
- if ( c <= 0 )
- {
- TiXmlDocument* document = GetDocument();
- if ( document )
- document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
- return;
- }
-
- (*tag) += (char) c;
- in->get(); // "commits" the peek made above
-
- if ( cdata && c == '>' && tag->size() >= 3 )
- {
- size_t len = tag->size();
- if ( (*tag)[len-2] == ']' && (*tag)[len-3] == ']' )
- {
- // terminator of cdata.
- return;
- }
- }
- }
+ while ( in->good() )
+ {
+ int c = in->peek();
+ if ( !cdata && (c == '<' ) )
+ {
+ return;
+ }
+ if ( c <= 0 )
+ {
+ TiXmlDocument* document = GetDocument();
+ if ( document )
+ document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+
+ (*tag) += (char) c;
+ in->get(); // "commits" the peek made above
+
+ if ( cdata && c == '>' && tag->size() >= 3 ) {
+ size_t len = tag->size();
+ if ( (*tag)[len-2] == ']' && (*tag)[len-3] == ']' ) {
+ // terminator of cdata.
+ return;
+ }
+ }
+ }
}
#endif
const char* TiXmlText::Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding )
{
- value = "";
- TiXmlDocument* document = GetDocument();
-
- if ( data )
- {
- data->Stamp( p, encoding );
- location = data->Cursor();
- }
-
- const char* const startTag = "<![CDATA[";
- const char* const endTag = "]]>";
-
- if ( cdata || StringEqual( p, startTag, false, encoding ) )
- {
- cdata = true;
-
- if ( !StringEqual( p, startTag, false, encoding ) )
- {
- document->SetError( TIXML_ERROR_PARSING_CDATA, p, data, encoding );
- return 0;
- }
- p += strlen( startTag );
-
- // Keep all the white space, ignore the encoding, etc.
- while ( p && *p
- && !StringEqual( p, endTag, false, encoding )
- )
- {
- value += *p;
- ++p;
- }
-
- TIXML_STRING dummy;
- p = ReadText( p, &dummy, false, endTag, false, encoding );
- return p;
- }
- else
- {
- bool ignoreWhite = true;
-
- const char* end = "<";
- p = ReadText( p, &value, ignoreWhite, end, false, encoding );
- if ( p )
- return p-1; // don't truncate the '<'
- return 0;
- }
+ value = "";
+ TiXmlDocument* document = GetDocument();
+
+ if ( data )
+ {
+ data->Stamp( p, encoding );
+ location = data->Cursor();
+ }
+
+ const char* const startTag = "<![CDATA[";
+ const char* const endTag = "]]>";
+
+ if ( cdata || StringEqual( p, startTag, false, encoding ) )
+ {
+ cdata = true;
+
+ if ( !StringEqual( p, startTag, false, encoding ) )
+ {
+ document->SetError( TIXML_ERROR_PARSING_CDATA, p, data, encoding );
+ return 0;
+ }
+ p += strlen( startTag );
+
+ // Keep all the white space, ignore the encoding, etc.
+ while ( p && *p
+ && !StringEqual( p, endTag, false, encoding )
+ )
+ {
+ value += *p;
+ ++p;
+ }
+
+ TIXML_STRING dummy;
+ p = ReadText( p, &dummy, false, endTag, false, encoding );
+ return p;
+ }
+ else
+ {
+ bool ignoreWhite = true;
+
+ const char* end = "<";
+ p = ReadText( p, &value, ignoreWhite, end, false, encoding );
+ if ( p )
+ return p-1; // don't truncate the '<'
+ return 0;
+ }
}
#ifdef TIXML_USE_STL
void TiXmlDeclaration::StreamIn( std::istream * in, TIXML_STRING * tag )
{
- while ( in->good() )
- {
- int c = in->get();
- if ( c <= 0 )
- {
- TiXmlDocument* document = GetDocument();
- if ( document )
- document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
- return;
- }
- (*tag) += (char) c;
-
- if ( c == '>' )
- {
- // All is well.
- return;
- }
- }
+ while ( in->good() )
+ {
+ int c = in->get();
+ if ( c <= 0 )
+ {
+ TiXmlDocument* document = GetDocument();
+ if ( document )
+ document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+ (*tag) += (char) c;
+
+ if ( c == '>' )
+ {
+ // All is well.
+ return;
+ }
+ }
}
#endif
const char* TiXmlDeclaration::Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding _encoding )
{
- p = SkipWhiteSpace( p, _encoding );
- // Find the beginning, find the end, and look for
- // the stuff in-between.
- TiXmlDocument* document = GetDocument();
- if ( !p || !*p || !StringEqual( p, "<?xml", true, _encoding ) )
- {
- if ( document ) document->SetError( TIXML_ERROR_PARSING_DECLARATION, 0, 0, _encoding );
- return 0;
- }
- if ( data )
- {
- data->Stamp( p, _encoding );
- location = data->Cursor();
- }
- p += 5;
-
- version = "";
- encoding = "";
- standalone = "";
-
- while ( p && *p )
- {
- if ( *p == '>' )
- {
- ++p;
- return p;
- }
-
- p = SkipWhiteSpace( p, _encoding );
- if ( StringEqual( p, "version", true, _encoding ) )
- {
- TiXmlAttribute attrib;
- p = attrib.Parse( p, data, _encoding );
- version = attrib.Value();
- }
- else if ( StringEqual( p, "encoding", true, _encoding ) )
- {
- TiXmlAttribute attrib;
- p = attrib.Parse( p, data, _encoding );
- encoding = attrib.Value();
- }
- else if ( StringEqual( p, "standalone", true, _encoding ) )
- {
- TiXmlAttribute attrib;
- p = attrib.Parse( p, data, _encoding );
- standalone = attrib.Value();
- }
- else
- {
- // Read over whatever it is.
- while ( p && *p && *p != '>' && !IsWhiteSpace( *p ) )
- ++p;
- }
- }
- return 0;
+ p = SkipWhiteSpace( p, _encoding );
+ // Find the beginning, find the end, and look for
+ // the stuff in-between.
+ TiXmlDocument* document = GetDocument();
+ if ( !p || !*p || !StringEqual( p, "<?xml", true, _encoding ) )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_PARSING_DECLARATION, 0, 0, _encoding );
+ return 0;
+ }
+ if ( data )
+ {
+ data->Stamp( p, _encoding );
+ location = data->Cursor();
+ }
+ p += 5;
+
+ version = "";
+ encoding = "";
+ standalone = "";
+
+ while ( p && *p )
+ {
+ if ( *p == '>' )
+ {
+ ++p;
+ return p;
+ }
+
+ p = SkipWhiteSpace( p, _encoding );
+ if ( StringEqual( p, "version", true, _encoding ) )
+ {
+ TiXmlAttribute attrib;
+ p = attrib.Parse( p, data, _encoding );
+ version = attrib.Value();
+ }
+ else if ( StringEqual( p, "encoding", true, _encoding ) )
+ {
+ TiXmlAttribute attrib;
+ p = attrib.Parse( p, data, _encoding );
+ encoding = attrib.Value();
+ }
+ else if ( StringEqual( p, "standalone", true, _encoding ) )
+ {
+ TiXmlAttribute attrib;
+ p = attrib.Parse( p, data, _encoding );
+ standalone = attrib.Value();
+ }
+ else
+ {
+ // Read over whatever it is.
+ while( p && *p && *p != '>' && !IsWhiteSpace( *p ) )
+ ++p;
+ }
+ }
+ return 0;
}
bool TiXmlText::Blank() const
{
- for ( unsigned i=0; i<value.length(); i++ )
- if ( !IsWhiteSpace( value[i] ) )
- return false;
- return true;
+ for ( unsigned i=0; i<value.length(); i++ )
+ if ( !IsWhiteSpace( value[i] ) )
+ return false;
+ return true;
}
diff --git a/shared/tinyxml/xmltest.cpp b/shared/tinyxml/xmltest.cpp
index 5ae3922c..1d01f535 100644
--- a/shared/tinyxml/xmltest.cpp
+++ b/shared/tinyxml/xmltest.cpp
@@ -19,11 +19,15 @@
#include "tinyxml.h"
+bool XmlTest (const char* testString, const char* expected, const char* found, bool noEcho = false);
+bool XmlTest( const char* testString, int expected, int found, bool noEcho = false );
+
static int gPass = 0;
static int gFail = 0;
-bool XmlTest (const char* testString, const char* expected, const char* found, bool noEcho = false)
+
+bool XmlTest (const char* testString, const char* expected, const char* found, bool noEcho )
{
bool pass = !strcmp( expected, found );
if ( pass )
@@ -44,7 +48,7 @@ bool XmlTest (const char* testString, const char* expected, const char* found, b
}
-bool XmlTest( const char* testString, int expected, int found, bool noEcho = false )
+bool XmlTest( const char* testString, int expected, int found, bool noEcho )
{
bool pass = ( expected == found );
if ( pass )
@@ -74,6 +78,7 @@ bool XmlTest( const char* testString, int expected, int found, bool noEcho = fal
int main()
{
+
//
// We start with the 'demoStart' todo list. Process it. And
// should hopefully end up with the todo list as illustrated.
@@ -91,8 +96,8 @@ int main()
{
#ifdef TIXML_USE_STL
- /* What the todo list should look like after processing.
- In stream (no formatting) representation. */
+ // What the todo list should look like after processing.
+ // In stream (no formatting) representation.
const char* demoEnd =
"<?xml version=\"1.0\" standalone=\"no\" ?>"
"<!-- Our to do list data -->"
@@ -399,7 +404,7 @@ int main()
}
#endif
}
-
+
{
const char* str = "<doc attr0='1' attr1='2.0' attr2='foo' />";
@@ -424,6 +429,30 @@ int main()
result = ele->QueryIntAttribute( "bar", &iVal );
XmlTest( "Query attribute: does not exist", result, TIXML_NO_ATTRIBUTE );
}
+
+ {
+ const char* str = "<doc/>";
+
+ TiXmlDocument doc;
+ doc.Parse( str );
+
+ TiXmlElement* ele = doc.FirstChildElement();
+
+ int iVal;
+ double dVal;
+
+ ele->SetAttribute( "str", "strValue" );
+ ele->SetAttribute( "int", 1 );
+ ele->SetDoubleAttribute( "double", -1.0 );
+
+ const char* cStr = ele->Attribute( "str" );
+ ele->QueryIntAttribute( "int", &iVal );
+ ele->QueryDoubleAttribute( "double", &dVal );
+
+ XmlTest( "Attribute round trip. c-string.", "strValue", cStr );
+ XmlTest( "Attribute round trip. int.", 1, iVal );
+ XmlTest( "Attribute round trip. double.", -1, (int)dVal );
+ }
{
const char* str = "\t<?xml version=\"1.0\" standalone=\"no\" ?>\t<room doors='2'>\n"
@@ -1063,8 +1092,8 @@ int main()
TiXmlDocument doc;
doc.Parse( doctype );
- XmlTest( "Parsing repeated attributes.", 0, (int)doc.Error() ); // not an error to tinyxml
- XmlTest( "Parsing repeated attributes.", "blue", doc.FirstChildElement( "element" )->Attribute( "attr" ) );
+ XmlTest( "Parsing repeated attributes.", true, doc.Error() ); // is an error to tinyxml (didn't use to be, but caused issues)
+ //XmlTest( "Parsing repeated attributes.", "blue", doc.FirstChildElement( "element" )->Attribute( "attr" ) );
}
{
@@ -1161,19 +1190,19 @@ int main()
int i;
float f;
bool b;
- //std::string str;
+ std::string str;
XmlTest( "QueryValueAttribute", ele->QueryValueAttribute( "bar", &d ), TIXML_SUCCESS );
XmlTest( "QueryValueAttribute", ele->QueryValueAttribute( "bar", &i ), TIXML_SUCCESS );
XmlTest( "QueryValueAttribute", ele->QueryValueAttribute( "bar", &f ), TIXML_SUCCESS );
XmlTest( "QueryValueAttribute", ele->QueryValueAttribute( "bar", &b ), TIXML_WRONG_TYPE );
XmlTest( "QueryValueAttribute", ele->QueryValueAttribute( "nobar", &b ), TIXML_NO_ATTRIBUTE );
- //XmlTest( "QueryValueAttribute", ele->QueryValueAttribute( "barStr", &str ), TIXML_SUCCESS );
+ XmlTest( "QueryValueAttribute", ele->QueryValueAttribute( "barStr", &str ), TIXML_SUCCESS );
XmlTest( "QueryValueAttribute", (d==3.0), true );
XmlTest( "QueryValueAttribute", (i==3), true );
XmlTest( "QueryValueAttribute", (f==3.0f), true );
- //XmlTest( "QueryValueAttribute", (str==std::string( "a string" )), true );
+ XmlTest( "QueryValueAttribute", (str==std::string( "a string" )), true );
}
#endif
@@ -1256,16 +1285,59 @@ int main()
XmlTest( "Comments ignore entities.", " declarations for <head> & <body> ", c0->Value(), true );
XmlTest( "Comments ignore entities.", " far &amp; away ", c1->Value(), true );
}
- /*
+
{
TiXmlDocument xml;
- xml.Parse( "<tag>/</tag>" );
- xml.Print();
- xml.FirstChild()->Print( stdout, 0 );
- xml.FirstChild()->Type();
+ xml.Parse( "<Parent>"
+ "<child1 att=''/>"
+ "<!-- With this comment, child2 will not be parsed! -->"
+ "<child2 att=''/>"
+ "</Parent>" );
+ int count = 0;
+
+ TiXmlNode* ele = 0;
+ while ( (ele = xml.FirstChildElement( "Parent" )->IterateChildren( ele ) ) != 0 ) {
+ ++count;
+ }
+ XmlTest( "Comments iterate correctly.", 3, count );
}
- */
-
+
+ {
+ // trying to repro ]1874301]. If it doesn't go into an infinite loop, all is well.
+ unsigned char buf[] = "<?xml version=\"1.0\" encoding=\"utf-8\"?><feed><![CDATA[Test XMLblablablalblbl";
+ buf[60] = 239;
+ buf[61] = 0;
+
+ TiXmlDocument doc;
+ doc.Parse( (const char*)buf);
+ }
+
+
+ {
+ // bug 1827248 Error while parsing a little bit malformed file
+ // Actually not malformed - should work.
+ TiXmlDocument xml;
+ xml.Parse( "<attributelist> </attributelist >" );
+ XmlTest( "Handle end tag whitespace", false, xml.Error() );
+ }
+
+ {
+ // 1709904 - can not repro the crash
+ {
+ TiXmlDocument xml;
+ xml.Parse( "<tag>/</tag>" );
+ XmlTest( "Odd XML parsing.", xml.FirstChild()->Value(), "tag" );
+ }
+ /* Could not repro. {
+ TiXmlDocument xml;
+ xml.LoadFile( "EQUI_Inventory.xml" );
+ //XmlTest( "Odd XML parsing.", xml.FirstChildElement()->Value(), "XML" );
+ TiXmlPrinter printer;
+ xml.Accept( &printer );
+ fprintf( stdout, "%s", printer.CStr() );
+ }*/
+ }
+
/* 1417717 experiment
{
TiXmlDocument xml;
@@ -1290,5 +1362,3 @@ int main()
printf ("\nPass %d, Fail %d\n", gPass, gFail);
return gFail;
}
-
-
diff --git a/ui/util.cpp b/shared/util.cpp
index c611e252..e6571151 100644
--- a/ui/util.cpp
+++ b/shared/util.cpp
@@ -33,7 +33,7 @@ wxString FreeFileSync::formatFilesizeToShortString(const wxULongLong& filesize)
}
-wxString FreeFileSync::formatFilesizeToShortString(const double filesize)
+wxString FreeFileSync::formatFilesizeToShortString(double filesize)
{
if (filesize < 0)
return _("Error");
@@ -41,25 +41,23 @@ wxString FreeFileSync::formatFilesizeToShortString(const double filesize)
if (filesize <= 999)
return wxString::Format(wxT("%i"), static_cast<int>(filesize)) + _(" Byte"); //no decimal places in case of bytes
- double nrOfBytes = filesize;
-
- nrOfBytes /= 1024;
+ filesize /= 1024;
wxString unit = _(" kB");
- if (nrOfBytes > 999)
+ if (filesize > 999)
{
- nrOfBytes /= 1024;
+ filesize /= 1024;
unit = _(" MB");
- if (nrOfBytes > 999)
+ if (filesize > 999)
{
- nrOfBytes /= 1024;
+ filesize /= 1024;
unit = _(" GB");
- if (nrOfBytes > 999)
+ if (filesize > 999)
{
- nrOfBytes /= 1024;
+ filesize /= 1024;
unit = _(" TB");
- if (nrOfBytes > 999)
+ if (filesize > 999)
{
- nrOfBytes /= 1024;
+ filesize /= 1024;
unit = _(" PB");
}
}
@@ -68,47 +66,70 @@ wxString FreeFileSync::formatFilesizeToShortString(const double filesize)
//print just three significant digits: 0,01 | 0,11 | 1,11 | 11,1 | 111
- const unsigned int leadDigitCount = globalFunctions::getDigitCount(static_cast<unsigned int>(nrOfBytes)); //number of digits before decimal point
+ const unsigned int leadDigitCount = globalFunctions::getDigitCount(static_cast<unsigned int>(filesize)); //number of digits before decimal point
if (leadDigitCount == 0 || leadDigitCount > 3)
return _("Error");
if (leadDigitCount == 3)
- return wxString::Format(wxT("%i"), static_cast<int>(nrOfBytes)) + unit;
+ return wxString::Format(wxT("%i"), static_cast<int>(filesize)) + unit;
else if (leadDigitCount == 2)
{
- wxString output = wxString::Format(wxT("%i"), static_cast<int>(nrOfBytes * 10));
- output.insert(leadDigitCount, FreeFileSync::DECIMAL_POINT);
+ wxString output = wxString::Format(wxT("%i"), static_cast<int>(filesize * 10));
+ output.insert(leadDigitCount, getDecimalPoint());
return output + unit;
}
else //leadDigitCount == 1
{
- wxString output = wxString::Format(wxT("%03i"), static_cast<int>(nrOfBytes * 100));
- output.insert(leadDigitCount, FreeFileSync::DECIMAL_POINT);
+ wxString output = wxString::Format(wxT("%03i"), static_cast<int>(filesize * 100));
+ output.insert(leadDigitCount, getDecimalPoint());
return output + unit;
}
- //return wxString::Format(wxT("%.*f"), 3 - leadDigitCount, nrOfBytes) + unit;
+ //return wxString::Format(wxT("%.*f"), 3 - leadDigitCount, filesize) + unit;
}
wxString FreeFileSync::formatPercentage(const wxLongLong& dividend, const wxLongLong& divisor)
{
const double ratio = divisor != 0 ? dividend.ToDouble() * 100 / divisor.ToDouble() : 0;
- wxString output = _("%x Percent");
+ wxString output = _("%x%");
output.Replace(wxT("%x"), wxString::Format(wxT("%3.2f"), ratio), false);
return output;
}
-
-wxString FreeFileSync::includeNumberSeparator(const wxString& number)
+namespace
+{
+wxString includeNumberSeparator(const wxString& number)
{
wxString output(number);
- for (int i = output.size() - 3; i > 0; i -= 3)
- output.insert(i, FreeFileSync::THOUSANDS_SEPARATOR);
+ for (size_t i = output.size(); i > 3; i -= 3)
+ output.insert(i - 3, FreeFileSync::getThousandsSeparator());
return output;
}
+}
+
+
+wxString FreeFileSync::numberToWxString(size_t number, bool includeNumberSep)
+{
+ const wxString output = wxString::Format(wxT("%u"), number);
+ return includeNumberSep ? includeNumberSeparator(output) : output;
+}
+
+
+
+wxString FreeFileSync::numberToWxString(int number, bool includeNumberSep)
+{
+ const wxString output = wxString::Format(wxT("%i"), number);
+ return includeNumberSep ? includeNumberSeparator(output) : output;
+}
+
+
+wxString FreeFileSync::numberToWxString(const wxULongLong& number, bool includeNumberSep)
+{
+ return includeNumberSep ? includeNumberSeparator(number.ToString()) : number.ToString();
+}
template <class T>
@@ -156,9 +177,6 @@ void FreeFileSync::scrollToBottom(wxScrolledWindow* scrWindow)
}
-
-
-
inline
void writeTwoDigitNumber(unsigned int number, wxString& string)
{
diff --git a/ui/util.h b/shared/util.h
index de986554..918ba509 100644
--- a/ui/util.h
+++ b/shared/util.h
@@ -21,11 +21,13 @@ namespace FreeFileSync
{
wxString formatFilesizeToShortString(const wxLongLong& filesize);
wxString formatFilesizeToShortString(const wxULongLong& filesize);
-wxString formatFilesizeToShortString(const double filesize);
+wxString formatFilesizeToShortString(double filesize);
wxString formatPercentage(const wxLongLong& dividend, const wxLongLong& divisor);
-wxString includeNumberSeparator(const wxString& number);
+wxString numberToWxString(size_t number, bool includeNumberSep); //convert number to wxString
+wxString numberToWxString(int number, bool includeNumberSep); //convert number to wxString
+wxString numberToWxString(const wxULongLong& number, bool includeNumberSep); //convert number to wxString
void setDirectoryName(const wxString& dirname, wxTextCtrl* txtCtrl, wxDirPickerCtrl* dirPicker);
void setDirectoryName(const wxString& dirname, wxComboBox* txtCtrl, wxDirPickerCtrl* dirPicker);
diff --git a/shared/xmlBase.cpp b/shared/xmlBase.cpp
index 759f24d2..1a41f02f 100644
--- a/shared/xmlBase.cpp
+++ b/shared/xmlBase.cpp
@@ -6,8 +6,15 @@
//
#include "xmlBase.h"
#include "globalFunctions.h"
-#include <wx/ffile.h>
#include <wx/intl.h>
+#include <wx/ffile.h>
+#include "fileIO.h"
+#include "stringConv.h"
+#include "systemConstants.h"
+#include <boost/scoped_array.hpp>
+#include <wx/log.h>
+
+using namespace FreeFileSync;
std::string getTypeName(xmlAccess::XmlType type)
@@ -30,8 +37,12 @@ std::string getTypeName(xmlAccess::XmlType type)
}
-xmlAccess::XmlType xmlAccess::getXmlType(const wxString& filename)
+xmlAccess::XmlType xmlAccess::getXmlType(const wxString& filename) //throw()
{
+#ifndef __WXDEBUG__
+ wxLogNull noWxLogs; //hide wxWidgets log messages in release build
+#endif
+
if (!wxFileExists(filename))
return XML_OTHER;
@@ -77,34 +88,70 @@ xmlAccess::XmlType xmlAccess::getXmlType(const wxString& filename)
return XML_OTHER;
}
+namespace
+{
+//convert (0xD, 0xA) and (0xD) to 0xA: just like in TiXmlDocument::LoadFile(); not sure if actually needed
+void normalize(std::vector<char>& stream)
+{
+ std::vector<char> tmp;
+ for (std::vector<char>::const_iterator i = stream.begin(); i != stream.end(); ++i)
+ switch (*i)
+ {
+ case 0xD:
+ tmp.push_back(0xA);
+ if (i + 1 != stream.end() && *(i + 1) == 0xA)
+ ++i;
+ break;
+ default:
+ tmp.push_back(*i);
+ }
-bool xmlAccess::loadXmlDocument(const wxString& fileName, const xmlAccess::XmlType type, TiXmlDocument& document)
+ stream.swap(tmp);
+}
+}
+
+
+void xmlAccess::loadXmlDocument(const wxString& filename, const xmlAccess::XmlType type, TiXmlDocument& document) //throw FileError()
{
- if (!wxFileExists(fileName)) //avoid wxWidgets error message when wxFFile receives not existing file
- return false;
+ std::vector<char> inputStream;
- //workaround to get a FILE* from a unicode filename
- wxFFile dummyFile(fileName, wxT("rb")); //binary mode needed for TiXml to work correctly in this case
- if (dummyFile.IsOpened())
+ try
{
- FILE* inputFile = dummyFile.fp();
+ const size_t BUFFER_SIZE = 512 * 1024;
+ static boost::scoped_array<unsigned char> buffer(new unsigned char[BUFFER_SIZE]);
+
+ FileInput inputFile(wxToZ(filename)); //throw FileError();
+ do
+ {
+ const size_t bytesRead = inputFile.read(buffer.get(), BUFFER_SIZE); //throw FileError()
+ inputStream.insert(inputStream.end(), buffer.get(), buffer.get() + bytesRead);
+ }
+ while (!inputFile.eof());
+ }
+ catch (const FileError& error) //more detailed error messages than with wxWidgets
+ {
+ throw XmlError(error.show());
+ }
+
+ if (!inputStream.empty())
+ {
+ //convert (0xD, 0xA) and (0xD) to (0xA): just like in TiXmlDocument::LoadFile(); not sure if actually needed
+ ::normalize(inputStream);
TiXmlBase::SetCondenseWhiteSpace(false); //do not condense whitespace characters
+ document.Parse(&inputStream[0], 0, TIXML_DEFAULT_ENCODING);
+
+ TiXmlElement* root = document.RootElement();
- if (document.LoadFile(inputFile)) //load XML; fails if inputFile is no proper XML
+ if (root && (root->ValueStr() == std::string("FreeFileSync"))) //check for FFS configuration xml
{
- TiXmlElement* root = document.RootElement();
-
- if (root && (root->ValueStr() == std::string("FreeFileSync"))) //check for FFS configuration xml
- {
- const char* cfgType = root->Attribute("XmlType");
- if (cfgType)
- return std::string(cfgType) == getTypeName(type);
- }
+ const char* cfgType = root->Attribute("XmlType");
+ if (cfgType && std::string(cfgType) == getTypeName(type))
+ return; //finally... success!
}
}
- return false;
+ throw XmlError(wxString(_("Error parsing configuration file:")) + wxT("\n\"") + filename + wxT("\""));
}
@@ -123,22 +170,24 @@ void xmlAccess::getDefaultXmlDocument(const XmlType type, TiXmlDocument& documen
}
-bool xmlAccess::saveXmlDocument(const wxString& fileName, const TiXmlDocument& document)
+void xmlAccess::saveXmlDocument(const wxString& filename, const TiXmlDocument& document) //throw (XmlError)
{
- //workaround to get a FILE* from a unicode filename
- wxFFile dummyFile(fileName, wxT("w")); //no need for "binary" mode here
- if (!dummyFile.IsOpened())
- return false;
-
- FILE* outputFile = dummyFile.fp();
+ //convert XML into continuous byte sequence
+ TiXmlPrinter printer;
+ printer.SetLineBreak(wxString(globalFunctions::LINE_BREAK).ToUTF8());
+ document.Accept(&printer);
+ const std::string buffer = printer.Str();
- if (!document.SaveFile(outputFile)) //save XML
- return false;
-
- return dummyFile.Flush(); //flush data to disk! (think of multiple batch jobs writing/reading)
+ try
+ {
+ FileOutput outputFile(wxToZ(filename)); //throw FileError()
+ outputFile.write(buffer.c_str(), buffer.length()); //
+ }
+ catch (const FileError& error) //more detailed error messages than with wxWidgets
+ {
+ throw XmlError(error.show());
+ }
}
-
-
//################################################################################################################
diff --git a/shared/xmlBase.h b/shared/xmlBase.h
index d8e389ad..ceed1afe 100644
--- a/shared/xmlBase.h
+++ b/shared/xmlBase.h
@@ -25,11 +25,11 @@ enum XmlType
XML_OTHER
};
-XmlType getXmlType(const wxString& filename);
+XmlType getXmlType(const wxString& filename); //throw()
-bool loadXmlDocument(const wxString& fileName, const XmlType type, TiXmlDocument& document);
+void loadXmlDocument(const wxString& fileName, const XmlType type, TiXmlDocument& document); //throw (XmlError)
void getDefaultXmlDocument(const XmlType type, TiXmlDocument& document);
-bool saveXmlDocument(const wxString& fileName, const TiXmlDocument& document);
+void saveXmlDocument(const wxString& fileName, const TiXmlDocument& document); //throw (XmlError)
//------------------------------------------------------------------------------------------
@@ -90,6 +90,12 @@ protected:
logError(name);
}
+ const TiXmlElement* const getRoot() const
+ {
+ return root;
+ }
+
+private:
const TiXmlElement* const root;
std::vector<wxString> failedNodes;
};
diff --git a/shared/zstring.cpp b/shared/zstring.cpp
index 312f98e7..ce46d3e9 100644
--- a/shared/zstring.cpp
+++ b/shared/zstring.cpp
@@ -53,6 +53,8 @@ AllocationCount& AllocationCount::getInstance()
#endif
#ifdef FFS_WIN
+namespace
+{
bool hasInvariantLocale()
{
OSVERSIONINFO osvi;
@@ -73,12 +75,10 @@ bool hasInvariantLocale()
//warning: LOCALE_INVARIANT is NOT available with Windows 2000, so we have to make yet another distinction...
-namespace
-{
const LCID invariantLocale = hasInvariantLocale() ?
LOCALE_INVARIANT :
MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT); //see: http://msdn.microsoft.com/en-us/goglobal/bb688122.aspx
-}
+
inline
int compareFilenamesWin32(const wchar_t* a, const wchar_t* b, size_t sizeA, size_t sizeB)
@@ -108,7 +108,7 @@ int compareFilenamesWin32(const wchar_t* a, const wchar_t* b, size_t sizeA, size
}
else //fallback
{
-//do NOT use "CompareString"; this function is NOT accurate (even with LOCALE_INVARIANT and SORT_STRINGSORT): for example "wei�" == "weiss"!!!
+//do NOT use "CompareString"; this function is NOT accurate (even with LOCALE_INVARIANT and SORT_STRINGSORT): for example "weiß" == "weiss"!!!
//the only reliable way to compare filenames (with XP) is to call "CharUpper" or "LCMapString":
const size_t minSize = std::min(sizeA, sizeB);
@@ -169,6 +169,7 @@ int compareFilenamesWin32(const wchar_t* a, const wchar_t* b, size_t sizeA, size
// else
// return rv - 2; //convert to C-style string compare result
}
+}
#endif
@@ -177,7 +178,7 @@ int Zstring::cmpFileName(const Zstring& other) const
#ifdef FFS_WIN
return ::compareFilenamesWin32(c_str(), other.c_str(), length(), other.length()); //way faster than wxString::CmpNoCase()
#elif defined FFS_LINUX
- return this->compare(other);
+ return defaultCompare(c_str(), other.c_str());
#endif
}
@@ -187,7 +188,7 @@ int Zstring::cmpFileName(const DefaultChar* other) const
#ifdef FFS_WIN
return ::compareFilenamesWin32(c_str(), other, length(), ::wcslen(other)); //way faster than wxString::CmpNoCase()
#elif defined FFS_LINUX
- return this->compare(other);
+ return defaultCompare(c_str(), other);
#endif
}
@@ -215,7 +216,7 @@ Zstring& Zstring::Replace(const DefaultChar* old, const DefaultChar* replacement
}
-bool matchesHelper(const DefaultChar* string, const DefaultChar* mask)
+bool Zstring::matchesHelper(const DefaultChar* string, const DefaultChar* mask)
{
for (DefaultChar ch; (ch = *mask) != 0; ++mask, ++string)
{
@@ -268,6 +269,27 @@ bool Zstring::Matches(const DefaultChar* name, const DefaultChar* mask)
}
+namespace
+{
+#ifdef ZSTRING_CHAR
+inline
+bool defaultIsWhiteSpace(const char ch)
+{
+ // some compilers (e.g. VC++ 6.0) return true for a call to isspace('\xEA') => exclude char(128) to char(255)
+ return (static_cast<unsigned char>(ch) < 128) && isspace(static_cast<unsigned char>(ch)) != 0;
+}
+
+#elif defined ZSTRING_WIDE_CHAR
+inline
+bool defaultIsWhiteSpace(const wchar_t ch)
+{
+ // some compilers (e.g. VC++ 6.0) return true for a call to isspace('\xEA') => exclude char(128) to char(255)
+ return (ch < 128 || ch > 255) && iswspace(ch) != 0;
+}
+#endif
+}
+
+
Zstring& Zstring::Trim(bool fromRight)
{
const size_t thisLen = length();
@@ -386,7 +408,7 @@ Zstring Zstring::substr(size_t pos, size_t len) const
}
-size_t Zstring::rfind(const DefaultChar ch, size_t pos) const
+size_t Zstring::rfind(DefaultChar ch, size_t pos) const
{
const size_t thisLen = length();
if (thisLen == 0)
@@ -403,6 +425,7 @@ size_t Zstring::rfind(const DefaultChar ch, size_t pos) const
return pos;
}
while (--pos != static_cast<size_t>(-1));
+
return npos;
}
diff --git a/shared/zstring.h b/shared/zstring.h
index f87918bc..f6050bb5 100644
--- a/shared/zstring.h
+++ b/shared/zstring.h
@@ -7,11 +7,9 @@
#ifndef ZSTRING_H_INCLUDED
#define ZSTRING_H_INCLUDED
-#include <cstring>
-#include <cctype>
+#include <cstring> //size_t, memcpy(), memcmp()
+#include <cstdlib> //malloc(), free()
#include <assert.h>
-#include <new>
-#include <stdlib.h>
#include <vector>
#include <sstream>
@@ -74,12 +72,10 @@ public:
Zstring substr(size_t pos = 0, size_t len = npos) const; //allocate new string
bool empty() const;
void clear();
- int compare(const DefaultChar* other) const;
- int compare(const Zstring& other) const;
- int compare(const size_t pos1, const size_t n1, const DefaultChar* other) const;
- size_t find(const DefaultChar* str, const size_t pos = 0 ) const;
- size_t find(const DefaultChar ch, const size_t pos = 0) const;
- size_t rfind(const DefaultChar ch, size_t pos = npos) const;
+ int compare(size_t pos1, size_t n1, const DefaultChar* other) const;
+ size_t find(const DefaultChar* str, size_t pos = 0 ) const;
+ size_t find(DefaultChar ch, size_t pos = 0) const;
+ size_t rfind(DefaultChar ch, size_t pos = npos) const;
Zstring& replace(size_t pos1, size_t n1, const DefaultChar* str, size_t n2);
size_t size() const;
void reserve(size_t minCapacity);
@@ -120,6 +116,14 @@ private:
void incRef() const; //support for reference-counting
void decRef(); //
+ //helper methods
+ static size_t defaultLength (const DefaultChar* input); //strlen()
+ static int defaultCompare(const DefaultChar* str1, const DefaultChar* str2); //strcmp()
+ static int defaultCompare(const DefaultChar* str1, const DefaultChar* str2, size_t count); //strncmp()
+ static const DefaultChar* defaultStrFind(const DefaultChar* str1, DefaultChar ch); //strchr()
+ static const DefaultChar* defaultStrFind(const DefaultChar* str1, const DefaultChar* str1End, const DefaultChar* str2); //"analog" to strstr()
+ static bool matchesHelper(const DefaultChar* string, const DefaultChar* mask);
+
struct StringDescriptor
{
mutable unsigned int refCount;
@@ -161,94 +165,83 @@ Zstring numberToZstring(const T& number); //convert number to Zstring
//#######################################################################################
//begin of implementation
-#ifdef ZSTRING_CHAR
+//-------------standard helper functions ---------------------------------------------------------------
inline
-size_t defaultLength(const char* input)
+size_t Zstring::defaultLength(const DefaultChar* input) //strlen()
{
- return strlen(input);
-}
+ const DefaultChar* const startPos = input;
+ while (*input != 0)
+ ++input;
-inline
-int defaultCompare(const char* str1, const char* str2)
-{
- return strcmp(str1, str2);
+ return input - startPos;
}
-inline
-int defaultCompare(const char* str1, const char* str2, const size_t count)
-{
- return strncmp(str1, str2, count);
-}
inline
-const char* defaultStrFind(const char* str1, const char* str2)
+int Zstring::defaultCompare(const DefaultChar* str1, const DefaultChar* str2) //strcmp()
{
- return strstr(str1, str2);
-}
+ while (*str1 == *str2)
+ {
+ if (*str1 == 0)
+ return 0;
+ ++str1;
+ ++str2;
+ }
-inline
-const char* defaultStrFind(const char* str1, int ch)
-{
- return strchr(str1, ch);
+ return *str1 - *str2;
}
-inline
-bool defaultIsWhiteSpace(const char ch)
-{
- // some compilers (e.g. VC++ 6.0) return true for a call to isspace('\xEA') => exclude char(128) to char(255)
- return (static_cast<unsigned char>(ch) < 128) && isspace(static_cast<unsigned char>(ch)) != 0;
-}
-//inline
-//char defaultToLower(const char ch)
-//{
-// return tolower(static_cast<unsigned char>(ch)); //caution: although tolower() has int as input parameter it expects unsigned chars!
-//}
-//
-#elif defined ZSTRING_WIDE_CHAR
inline
-size_t defaultLength(const wchar_t* input)
+int Zstring::defaultCompare(const DefaultChar* str1, const DefaultChar* str2, size_t count) //strncmp()
{
- return wcslen(input);
-}
+ while (count-- != 0)
+ {
+ if (*str1 != *str2)
+ return *str1 - *str2;
-inline
-int defaultCompare(const wchar_t* str1, const wchar_t* str2)
-{
- return wcscmp(str1, str2);
-}
+ if (*str1 == 0)
+ return 0;
+ ++str1;
+ ++str2;
+ }
-inline
-int defaultCompare(const wchar_t* str1, const wchar_t* str2, const size_t count)
-{
- return wcsncmp(str1, str2, count);
+ return 0;
}
-inline
-const wchar_t* defaultStrFind(const wchar_t* str1, const wchar_t* str2)
-{
- return wcsstr(str1, str2);
-}
inline
-const wchar_t* defaultStrFind(const wchar_t* str1, wchar_t ch)
+const DefaultChar* Zstring::defaultStrFind(const DefaultChar* str1, DefaultChar ch) //strchr()
{
- return wcschr(str1, ch);
+ while (*str1 != ch) //ch is allowed to be 0 by contract! must return end of string in this case
+ {
+ if (*str1 == 0)
+ return NULL;
+
+ ++str1;
+ }
+
+ return str1;
}
+
inline
-bool defaultIsWhiteSpace(const wchar_t ch)
+const DefaultChar* Zstring::defaultStrFind(const DefaultChar* str1, const DefaultChar* str1End, const DefaultChar* str2) //"analog" to strstr()
{
- // some compilers (e.g. VC++ 6.0) return true for a call to isspace('\xEA') => exclude char(128) to char(255)
- return (ch < 128 || ch > 255) && iswspace(ch) != 0;
-}
+ const size_t str2Len = defaultLength(str2);
-//inline
-//wchar_t defaultToLower(const wchar_t ch)
-//{
-// return towlower(ch);
-//}
-#endif
+ str1End -= str2Len; //no need to process the "last chunk" of str1
+ ++str1End; //
+
+ while(str1 < str1End) //don't use !=; str1End may be smaller than str1!
+ {
+ if(::memcmp(str1, str2, str2Len * sizeof(DefaultChar)) == 0)
+ return str1;
+ ++str1;
+ }
+ return NULL;
+}
+//--------------------------------------------------------------------------------------------------
#ifdef __WXDEBUG__
@@ -408,10 +401,9 @@ Zstring& Zstring::operator=(const Zstring& source)
inline
size_t Zstring::Find(DefaultChar ch, bool fromEnd) const
{
- if (fromEnd)
- return rfind(ch, npos);
- else
- return find(ch, 0);
+ return fromEnd ?
+ rfind(ch, npos) :
+ find(ch, 0);
}
@@ -542,17 +534,16 @@ Zstring& Zstring::Truncate(size_t newLen)
inline
-size_t Zstring::find(const DefaultChar* str, const size_t pos) const
+size_t Zstring::find(const DefaultChar* str, size_t pos) const
{
assert(pos <= length());
- const DefaultChar* thisStr = c_str();
- const DefaultChar* found = defaultStrFind(thisStr + pos, str);
- return found == NULL ? npos : found - thisStr;
+ const DefaultChar* const found = defaultStrFind(c_str() + pos, c_str() + length(), str);
+ return found == NULL ? npos : found - c_str();
}
inline
-size_t Zstring::find(const DefaultChar ch, const size_t pos) const
+size_t Zstring::find(DefaultChar ch, size_t pos) const
{
assert(pos <= length());
const DefaultChar* thisStr = c_str();
@@ -562,65 +553,51 @@ size_t Zstring::find(const DefaultChar ch, const size_t pos) const
inline
-bool Zstring::operator == (const Zstring& other) const
+bool Zstring::operator==(const Zstring& other) const
{
- return length() != other.length() ? false : defaultCompare(c_str(), other.c_str()) == 0;
+ return length() != other.length() ? false : defaultCompare(c_str(), other.c_str()) == 0; //memcmp() offers no better performance here...
}
inline
-bool Zstring::operator == (const DefaultChar* other) const
+bool Zstring::operator==(const DefaultChar* other) const
{
return defaultCompare(c_str(), other) == 0; //overload using strcmp(char*, char*) should be fastest!
}
inline
-bool Zstring::operator < (const Zstring& other) const
+bool Zstring::operator<(const Zstring& other) const
{
return defaultCompare(c_str(), other.c_str()) < 0;
}
inline
-bool Zstring::operator < (const DefaultChar* other) const
+bool Zstring::operator<(const DefaultChar* other) const
{
return defaultCompare(c_str(), other) < 0; //overload using strcmp(char*, char*) should be fastest!
}
inline
-bool Zstring::operator != (const Zstring& other) const
-{
- return length() != other.length() ? true: defaultCompare(c_str(), other.c_str()) != 0;
-}
-
-
-inline
-bool Zstring::operator != (const DefaultChar* other) const
-{
- return defaultCompare(c_str(), other) != 0; //overload using strcmp(char*, char*) should be fastest!
-}
-
-
-inline
-int Zstring::compare(const Zstring& other) const
+bool Zstring::operator!=(const Zstring& other) const
{
- return defaultCompare(c_str(), other.c_str()); //overload using strcmp(char*, char*) should be fastest!
+ return !(*this==other);
}
inline
-int Zstring::compare(const DefaultChar* other) const
+bool Zstring::operator!=(const DefaultChar* other) const
{
- return defaultCompare(c_str(), other); //overload using strcmp(char*, char*) should be fastest!
+ return !(*this==other);
}
inline
-int Zstring::compare(const size_t pos1, const size_t n1, const DefaultChar* other) const
+int Zstring::compare(size_t pos1, size_t n1, const DefaultChar* other) const
{
- assert(length() - pos1 >= n1);
+ assert(n1 <= length() - pos1);
return defaultCompare(c_str() + pos1, other, n1);
}
diff --git a/structures.cpp b/structures.cpp
index 72a18ad3..47777b84 100644
--- a/structures.cpp
+++ b/structures.cpp
@@ -122,7 +122,7 @@ void FreeFileSync::setVariant(SyncConfiguration& syncCfg, const SyncConfiguratio
syncCfg.conflict = SYNC_DIR_NONE;
break;
case SyncConfiguration::CUSTOM:
- assert(false);
+ assert(false);
break;
}
}
diff --git a/synchronization.cpp b/synchronization.cpp
index 9cb9054c..b4f30b1e 100644
--- a/synchronization.cpp
+++ b/synchronization.cpp
@@ -10,7 +10,7 @@
#include <wx/msgdlg.h>
#include <wx/log.h>
#include "shared/stringConv.h"
-#include "ui/util.h"
+#include "shared/util.h"
#include "shared/systemConstants.h"
#include "library/statusHandler.h"
#include "shared/fileHandling.h"
@@ -20,10 +20,9 @@
#include "shared/globalFunctions.h"
#include <boost/scoped_array.hpp>
#include <memory>
-//#include "library/detectRenaming.h"
+#include "library/dbFile.h"
#ifdef FFS_WIN
-#include "shared/shadow.h"
#include "shared/longPathPrefix.h"
#include <boost/scoped_ptr.hpp>
#endif
@@ -95,7 +94,7 @@ wxULongLong SyncStatistics::getDataToProcess() const
}
-int SyncStatistics::getRowCount() const
+size_t SyncStatistics::getRowCount() const
{
return rowsTotal;
}
@@ -105,15 +104,15 @@ inline
void SyncStatistics::getNumbersRecursively(const HierarchyObject& hierObj)
{
//process directories
- std::for_each(hierObj.subDirs.begin(), hierObj.subDirs.end(),
+ std::for_each(hierObj.useSubDirs().begin(), hierObj.useSubDirs().end(),
boost::bind(&SyncStatistics::getDirNumbers, this, _1));
//process files
- std::for_each(hierObj.subFiles.begin(), hierObj.subFiles.end(),
+ std::for_each(hierObj.useSubFiles().begin(), hierObj.useSubFiles().end(),
boost::bind(&SyncStatistics::getFileNumbers, this, _1));
- rowsTotal += hierObj.subDirs.size();
- rowsTotal += hierObj.subFiles.size();
+ rowsTotal += hierObj.useSubDirs().size();
+ rowsTotal += hierObj.useSubFiles().size();
}
@@ -248,7 +247,7 @@ private:
//don't process directories
//process files
- for (HierarchyObject::SubFileMapping::const_iterator i = hierObj.subFiles.begin(); i != hierObj.subFiles.end(); ++i)
+ for (HierarchyObject::SubFileMapping::const_iterator i = hierObj.useSubFiles().begin(); i != hierObj.useSubFiles().end(); ++i)
switch (i->getSyncOperation()) //evaluate comparison result and sync direction
{
case SO_CREATE_NEW_LEFT:
@@ -289,7 +288,7 @@ private:
//recurse into sub-dirs
- std::for_each(hierObj.subDirs.begin(), hierObj.subDirs.end(), boost::bind(&DiskSpaceNeeded<recyclerUsed>::processRecursively, this, _1));
+ std::for_each(hierObj.useSubDirs().begin(), hierObj.useSubDirs().end(), boost::bind(&DiskSpaceNeeded<recyclerUsed>::processRecursively, this, _1));
}
wxLongLong spaceNeededLeft;
@@ -859,7 +858,7 @@ template <bool reduceDiskSpace> //"true" if files deletion shall happen only
void SynchronizeFolderPair::execute(HierarchyObject& hierObj)
{
//synchronize files:
- for (HierarchyObject::SubFileMapping::iterator i = hierObj.subFiles.begin(); i != hierObj.subFiles.end(); ++i)
+ for (HierarchyObject::SubFileMapping::iterator i = hierObj.useSubFiles().begin(); i != hierObj.useSubFiles().end(); ++i)
{
if ( ( reduceDiskSpace && diskSpaceIsReduced(*i)) ||
(!reduceDiskSpace && !diskSpaceIsReduced(*i)))
@@ -867,7 +866,7 @@ void SynchronizeFolderPair::execute(HierarchyObject& hierObj)
}
//synchronize folders:
- for (HierarchyObject::SubDirMapping::iterator i = hierObj.subDirs.begin(); i != hierObj.subDirs.end(); ++i)
+ for (HierarchyObject::SubDirMapping::iterator i = hierObj.useSubDirs().begin(); i != hierObj.useSubDirs().end(); ++i)
{
const SyncOperation syncOp = i->getSyncOperation();
@@ -1109,8 +1108,8 @@ void SynchronizeFolderPair::synchronizeFolder(DirMapping& dirObj) const
//progress indicator update: DON'T forget to notify about implicitly deleted objects!
const SyncStatistics subObjects(dirObj);
//...then remove everything
- dirObj.subFiles.clear();
- dirObj.subDirs.clear();
+ dirObj.useSubFiles().clear();
+ dirObj.useSubDirs().clear();
statusUpdater_.updateProcessedData(subObjects.getCreate() + subObjects.getOverwrite() + subObjects.getDelete(), subObjects.getDataToProcess().ToDouble());
}
break;
@@ -1127,8 +1126,8 @@ void SynchronizeFolderPair::synchronizeFolder(DirMapping& dirObj) const
//progress indicator update: DON'T forget to notify about implicitly deleted objects!
const SyncStatistics subObjects(dirObj);
//...then remove everything
- dirObj.subFiles.clear();
- dirObj.subDirs.clear();
+ dirObj.useSubFiles().clear();
+ dirObj.useSubDirs().clear();
statusUpdater_.updateProcessedData(subObjects.getCreate() + subObjects.getOverwrite() + subObjects.getDelete(), subObjects.getDataToProcess().ToDouble());
}
break;
@@ -1245,7 +1244,8 @@ void SyncProcess::startSynchronizationProcess(const std::vector<FolderPairSyncCf
wxLongLong freeDiskSpaceLeft;
if (wxGetDiskSpace(zToWx(j->getBaseDir<LEFT_SIDE>()), NULL, &freeDiskSpaceLeft))
{
- if (freeDiskSpaceLeft < spaceNeeded.first)
+ if (0 < freeDiskSpaceLeft && //zero disk space is either an error or not: in both cases this warning message is obsolete (WebDav seems to report 0)
+ freeDiskSpaceLeft < spaceNeeded.first)
statusUpdater.reportWarning(wxString(_("Not enough free disk space available in:")) + wxT("\n") +
wxT("\"") + zToWx(j->getBaseDir<LEFT_SIDE>()) + wxT("\"\n\n") +
_("Total required free disk space:") + wxT(" ") + formatFilesizeToShortString(spaceNeeded.first) + wxT("\n") +
@@ -1257,7 +1257,8 @@ void SyncProcess::startSynchronizationProcess(const std::vector<FolderPairSyncCf
wxLongLong freeDiskSpaceRight;
if (wxGetDiskSpace(zToWx(j->getBaseDir<RIGHT_SIDE>()), NULL, &freeDiskSpaceRight))
{
- if (freeDiskSpaceRight < spaceNeeded.second)
+ if (0 < freeDiskSpaceRight && //zero disk space is either an error or not: in both cases this warning message is obsolete (WebDav seems to report 0)
+ freeDiskSpaceRight < spaceNeeded.second)
statusUpdater.reportWarning(wxString(_("Not enough free disk space available in:")) + wxT("\n") +
wxT("\"") + zToWx(j->getBaseDir<RIGHT_SIDE>()) + wxT("\"\n\n") +
_("Total required free disk space:") + wxT(" ") + formatFilesizeToShortString(spaceNeeded.second) + wxT("\n") +
@@ -1271,7 +1272,7 @@ void SyncProcess::startSynchronizationProcess(const std::vector<FolderPairSyncCf
{
//show the first few conflicts in warning message also:
wxString warningMessage = wxString(_("Unresolved conflicts existing!")) +
- wxT(" (") + globalFunctions::numberToWxString(statisticsTotal.getConflict()) + wxT(")\n\n");
+ wxT(" (") + numberToWxString(statisticsTotal.getConflict(), true) + wxT(")\n\n");
const SyncStatistics::ConflictTexts& firstConflicts = statisticsTotal.getFirstConflicts(); //get first few sync conflicts
for (SyncStatistics::ConflictTexts::const_iterator i = firstConflicts.begin(); i != firstConflicts.end(); ++i)
diff --git a/synchronization.h b/synchronization.h
index a030590c..79c91fe6 100644
--- a/synchronization.h
+++ b/synchronization.h
@@ -31,7 +31,7 @@ public:
const ConflictTexts& getFirstConflicts() const; //get first few sync conflicts
wxULongLong getDataToProcess() const;
- int getRowCount() const;
+ size_t getRowCount() const;
private:
void init();
@@ -47,7 +47,7 @@ private:
int conflict;
ConflictTexts firstConflicts; //save the first few conflict texts to display as a warning message
wxULongLong dataToProcess;
- int rowsTotal;
+ size_t rowsTotal;
};
bool synchronizationNeeded(const FolderComparison& folderCmp);
diff --git a/ui/MainDialog.cpp b/ui/MainDialog.cpp
index 932d0b4a..9c5e0f46 100644
--- a/ui/MainDialog.cpp
+++ b/ui/MainDialog.cpp
@@ -18,7 +18,7 @@
#include "../comparison.h"
#include "../synchronization.h"
#include "../algorithm.h"
-#include "util.h"
+#include "../shared/util.h"
#include "checkVersion.h"
#include "guiStatusHandler.h"
#include "settingsDialog.h"
@@ -269,8 +269,8 @@ MainDialog::MainDialog(wxFrame* frame,
wxWindowUpdateLocker dummy(this); //avoid display distortion
//avoid mirroring this dialog in RTL languages like Hebrew or Arabic
-SetLayoutDirection(wxLayout_LeftToRight);
-m_panelStatusBar->SetLayoutDirection(wxLayout_LeftToRight);
+ SetLayoutDirection(wxLayout_LeftToRight);
+ m_panelStatusBar->SetLayoutDirection(wxLayout_LeftToRight);
//init handling of first folder pair
@@ -513,11 +513,11 @@ void MainDialog::writeGlobalSettings()
}
-void MainDialog::setSyncDirManually(const std::set<unsigned int>& rowsToSetOnUiTable, const FreeFileSync::SyncDirection dir)
+void MainDialog::setSyncDirManually(const std::set<size_t>& rowsToSetOnUiTable, const FreeFileSync::SyncDirection dir)
{
if (rowsToSetOnUiTable.size() > 0)
{
- for (std::set<unsigned int>::const_iterator i = rowsToSetOnUiTable.begin(); i != rowsToSetOnUiTable.end(); ++i)
+ for (std::set<size_t>::const_iterator i = rowsToSetOnUiTable.begin(); i != rowsToSetOnUiTable.end(); ++i)
{
FileSystemObject* fsObj = gridDataView->getObject(*i);
if (fsObj)
@@ -532,7 +532,7 @@ void MainDialog::setSyncDirManually(const std::set<unsigned int>& rowsToSetOnUiT
}
-void MainDialog::filterRangeManually(const std::set<unsigned int>& rowsToFilterOnUiTable, const int leadingRow)
+void MainDialog::filterRangeManually(const std::set<size_t>& rowsToFilterOnUiTable, int leadingRow)
{
if (rowsToFilterOnUiTable.size() > 0)
{
@@ -584,16 +584,16 @@ void MainDialog::OnIdleEvent(wxEvent& event)
void MainDialog::copySelectionToClipboard(const CustomGrid* selectedGrid)
{
- const std::set<unsigned int> selectedRows = getSelectedRows(selectedGrid);
+ const std::set<size_t> selectedRows = getSelectedRows(selectedGrid);
if (selectedRows.size() > 0)
{
wxString clipboardString;
- for (std::set<unsigned int>::const_iterator i = selectedRows.begin(); i != selectedRows.end(); ++i)
+ for (std::set<size_t>::const_iterator i = selectedRows.begin(); i != selectedRows.end(); ++i)
{
for (int k = 0; k < const_cast<CustomGrid*>(selectedGrid)->GetNumberCols(); ++k)
{
- clipboardString+= const_cast<CustomGrid*>(selectedGrid)->GetCellValue(*i, k);
+ clipboardString+= const_cast<CustomGrid*>(selectedGrid)->GetCellValue(static_cast<int>(*i), k);
if (k != const_cast<CustomGrid*>(selectedGrid)->GetNumberCols() - 1)
clipboardString+= '\t';
}
@@ -613,9 +613,9 @@ void MainDialog::copySelectionToClipboard(const CustomGrid* selectedGrid)
}
-std::set<unsigned int> MainDialog::getSelectedRows(const CustomGrid* grid) const
+std::set<size_t> MainDialog::getSelectedRows(const CustomGrid* grid) const
{
- std::set<unsigned int> output = grid->getAllSelectedRows();
+ std::set<size_t> output = grid->getAllSelectedRows();
//remove invalid rows
output.erase(output.lower_bound(gridDataView->rowsOnView()), output.end());
@@ -624,11 +624,11 @@ std::set<unsigned int> MainDialog::getSelectedRows(const CustomGrid* grid) const
}
-std::set<unsigned int> MainDialog::getSelectedRows() const
+std::set<size_t> MainDialog::getSelectedRows() const
{
//merge selections from left and right grid
- std::set<unsigned int> selection = getSelectedRows(m_gridLeft);
- std::set<unsigned int> additional = getSelectedRows(m_gridRight);
+ std::set<size_t> selection = getSelectedRows(m_gridLeft);
+ std::set<size_t> additional = getSelectedRows(m_gridRight);
selection.insert(additional.begin(), additional.end());
return selection;
}
@@ -637,7 +637,7 @@ std::set<unsigned int> MainDialog::getSelectedRows() const
class ManualDeletionHandler : private wxEvtHandler, public DeleteFilesHandler
{
public:
- ManualDeletionHandler(MainDialog* main, int totalObjToDel) :
+ ManualDeletionHandler(MainDialog* main, size_t totalObjToDel) :
mainDlg(main),
totalObjToDelete(totalObjToDel),
abortRequested(false),
@@ -695,8 +695,8 @@ public:
if (updateUiIsAllowed()) //test if specific time span between ui updates is over
{
wxString statusMessage = _("%x / %y objects deleted successfully");
- statusMessage.Replace(wxT("%x"), globalFunctions::numberToWxString(deletionCount), false);
- statusMessage.Replace(wxT("%y"), globalFunctions::numberToWxString(totalObjToDelete), false);
+ statusMessage.Replace(wxT("%x"), FreeFileSync::numberToWxString(deletionCount, true), false);
+ statusMessage.Replace(wxT("%y"), FreeFileSync::numberToWxString(totalObjToDelete, true), false);
mainDlg->m_staticTextStatusMiddle->SetLabel(statusMessage);
mainDlg->m_panelStatusBar->Layout();
@@ -715,19 +715,19 @@ private:
}
MainDialog* const mainDlg;
- const int totalObjToDelete;
+ const size_t totalObjToDelete;
bool abortRequested;
bool ignoreErrors;
- unsigned int deletionCount;
+ size_t deletionCount;
};
void MainDialog::deleteSelectedFiles()
{
//get set of selected rows on view
- const std::set<unsigned int> viewSelectionLeft = getSelectedRows(m_gridLeft);
- const std::set<unsigned int> viewSelectionRight = getSelectedRows(m_gridRight);
+ const std::set<size_t> viewSelectionLeft = getSelectedRows(m_gridLeft);
+ const std::set<size_t> viewSelectionRight = getSelectedRows(m_gridRight);
if (viewSelectionLeft.size() + viewSelectionRight.size())
{
@@ -806,7 +806,7 @@ void exstractNames(const FileSystemObject& fsObj, wxString& name, wxString& dir)
}
-void MainDialog::openExternalApplication(unsigned int rowNumber, bool leftSide, const wxString& commandline)
+void MainDialog::openExternalApplication(size_t rowNumber, bool leftSide, const wxString& commandline)
{
if (commandline.empty())
return;
@@ -1241,10 +1241,10 @@ void MainDialog::OnContextRim(wxGridEvent& event)
//------------------------------------------------------------------------------
- const std::set<unsigned int> selectionLeft = getSelectedRows(m_gridLeft);
- const std::set<unsigned int> selectionRight = getSelectedRows(m_gridRight);
+ const std::set<size_t> selectionLeft = getSelectedRows(m_gridLeft);
+ const std::set<size_t> selectionRight = getSelectedRows(m_gridRight);
- const unsigned int selectionBegin = selectionLeft.size() + selectionRight.size() == 0 ? 0 :
+ const size_t selectionBegin = selectionLeft.size() + selectionRight.size() == 0 ? 0 :
selectionLeft.size() == 0 ? *selectionRight.begin() :
selectionRight.size() == 0 ? *selectionLeft.begin() :
std::min(*selectionLeft.begin(), *selectionRight.begin());
@@ -1312,14 +1312,14 @@ void MainDialog::OnContextRim(wxGridEvent& event)
//###############################################################################################
//get list of relative file/dir-names for filtering
FilterObjList exFilterCandidateObj;
- for (std::set<unsigned int>::const_iterator i = selectionLeft.begin(); i != selectionLeft.end(); ++i)
+ for (std::set<size_t>::const_iterator i = selectionLeft.begin(); i != selectionLeft.end(); ++i)
{
const FileSystemObject* currObj = gridDataView->getObject(*i);
if (currObj && !currObj->isEmpty<LEFT_SIDE>())
exFilterCandidateObj.push_back(
FilterObject(currObj->getRelativeName<LEFT_SIDE>(), isDirectoryMapping(*currObj)));
}
- for (std::set<unsigned int>::const_iterator i = selectionRight.begin(); i != selectionRight.end(); ++i)
+ for (std::set<size_t>::const_iterator i = selectionRight.begin(); i != selectionRight.end(); ++i)
{
const FileSystemObject* currObj = gridDataView->getObject(*i);
if (currObj && !currObj->isEmpty<RIGHT_SIDE>())
@@ -1441,9 +1441,9 @@ void MainDialog::OnContextRim(wxGridEvent& event)
void MainDialog::OnContextFilterTemp(wxCommandEvent& event)
{
//merge selections from left and right grid
- std::set<unsigned int> selection = getSelectedRows();
+ std::set<size_t> selection = getSelectedRows();
if (!selection.empty())
- filterRangeManually(selection, *selection.begin());
+ filterRangeManually(selection, static_cast<int>(*selection.begin()));
}
@@ -1524,12 +1524,12 @@ void MainDialog::OnContextOpenWith(wxCommandEvent& event)
const CustomGrid* leadGrid = m_gridLeft->isLeadGrid() ?
static_cast<CustomGrid*>(m_gridLeft) :
static_cast<CustomGrid*>(m_gridRight);
- std::set<unsigned int> selection = getSelectedRows(leadGrid);
+ std::set<size_t> selection = getSelectedRows(leadGrid);
const int index = event.GetId() - externalAppIDFirst;
if ( selection.size() == 1 &&
- 0 <= index && static_cast<unsigned>(index) < globalSettings.gui.externelApplications.size())
+ 0 <= index && static_cast<size_t>(index) < globalSettings.gui.externelApplications.size())
openExternalApplication(*selection.begin(), m_gridLeft->isLeadGrid(), globalSettings.gui.externelApplications[index].second);
}
}
@@ -1544,7 +1544,7 @@ void MainDialog::OnContextDeleteFiles(wxCommandEvent& event)
void MainDialog::OnContextSyncDirLeft(wxCommandEvent& event)
{
//merge selections from left and right grid
- const std::set<unsigned int> selection = getSelectedRows();
+ const std::set<size_t> selection = getSelectedRows();
setSyncDirManually(selection, FreeFileSync::SYNC_DIR_LEFT);
}
@@ -1552,7 +1552,7 @@ void MainDialog::OnContextSyncDirLeft(wxCommandEvent& event)
void MainDialog::OnContextSyncDirNone(wxCommandEvent& event)
{
//merge selections from left and right grid
- const std::set<unsigned int> selection = getSelectedRows();
+ const std::set<size_t> selection = getSelectedRows();
setSyncDirManually(selection, FreeFileSync::SYNC_DIR_NONE);
}
@@ -1560,7 +1560,7 @@ void MainDialog::OnContextSyncDirNone(wxCommandEvent& event)
void MainDialog::OnContextSyncDirRight(wxCommandEvent& event)
{
//merge selections from left and right grid
- const std::set<unsigned int> selection = getSelectedRows();
+ const std::set<size_t> selection = getSelectedRows();
setSyncDirManually(selection, FreeFileSync::SYNC_DIR_RIGHT);
}
@@ -1963,7 +1963,7 @@ void MainDialog::OnCheckRows(FFSCheckRowsEvent& event)
if (0 <= lowerBound)
{
- std::set<unsigned int> selectedRowsOnView;
+ std::set<size_t> selectedRowsOnView;
for (int i = lowerBound; i <= std::min(upperBound, int(gridDataView->rowsOnView()) - 1); ++i)
selectedRowsOnView.insert(i);
@@ -2010,15 +2010,15 @@ bool MainDialog::readConfigurationFromXml(const wxString& filename, bool program
;
else
{
+ parsingError = true;
+
if (error.getSeverity() == xmlAccess::XmlError::WARNING)
- {
wxMessageBox(error.show(), _("Warning"), wxOK | wxICON_WARNING);
- parsingError = true;
- }
else
{
wxMessageBox(error.show(), _("Error"), wxOK | wxICON_ERROR);
- return false;
+ if (!programStartup)
+ return false;
}
}
}
@@ -2028,8 +2028,6 @@ bool MainDialog::readConfigurationFromXml(const wxString& filename, bool program
//###########################################################
addFileToCfgHistory(filename); //put filename on list of last used config files
- lastConfigurationSaved = parsingError ? xmlAccess::XmlGuiConfig() : currentCfg; //simulate changed config on parsing errors
-
//set title
if (filename == lastConfigFileName())
{
@@ -2040,9 +2038,11 @@ bool MainDialog::readConfigurationFromXml(const wxString& filename, bool program
{
SetTitle(wxString(wxT("FreeFileSync - ")) + filename);
currentConfigFileName = filename;
+
+ lastConfigurationSaved = parsingError ? xmlAccess::XmlGuiConfig() : currentCfg; //simulate changed config on parsing errors
}
- return true;
+ return !parsingError;
}
@@ -2611,9 +2611,9 @@ void MainDialog::calculatePreview()
{
//update preview of bytes to be transferred:
const SyncStatistics st(gridDataView->getDataTentative());
- const wxString toCreate = FreeFileSync::includeNumberSeparator(globalFunctions::numberToWxString(st.getCreate()));
- const wxString toUpdate = FreeFileSync::includeNumberSeparator(globalFunctions::numberToWxString(st.getOverwrite()));
- const wxString toDelete = FreeFileSync::includeNumberSeparator(globalFunctions::numberToWxString(st.getDelete()));
+ const wxString toCreate = FreeFileSync::numberToWxString(st.getCreate(), true);
+ const wxString toUpdate = FreeFileSync::numberToWxString(st.getOverwrite(), true);
+ const wxString toDelete = FreeFileSync::numberToWxString(st.getDelete(), true);
const wxString data = FreeFileSync::formatFilesizeToShortString(st.getDataToProcess());
m_textCtrlCreate->SetValue(toCreate);
@@ -2948,10 +2948,10 @@ void MainDialog::OnSwapSides(wxCommandEvent& event)
void MainDialog::updateGridViewData()
{
- unsigned int filesOnLeftView = 0;
- unsigned int foldersOnLeftView = 0;
- unsigned int filesOnRightView = 0;
- unsigned int foldersOnRightView = 0;
+ size_t filesOnLeftView = 0;
+ size_t foldersOnLeftView = 0;
+ size_t filesOnRightView = 0;
+ size_t foldersOnRightView = 0;
wxULongLong filesizeLeftView;
wxULongLong filesizeRightView;
@@ -3086,7 +3086,7 @@ void MainDialog::updateGridViewData()
statusLeftNew += _("1 directory");
else
{
- wxString folderCount = FreeFileSync::includeNumberSeparator(globalFunctions::numberToWxString(foldersOnLeftView));
+ wxString folderCount = FreeFileSync::numberToWxString(foldersOnLeftView, true);
wxString outputString = _("%x directories");
outputString.Replace(wxT("%x"), folderCount, false);
@@ -3103,7 +3103,7 @@ void MainDialog::updateGridViewData()
statusLeftNew += _("1 file,");
else
{
- wxString fileCount = FreeFileSync::includeNumberSeparator(globalFunctions::numberToWxString(filesOnLeftView));
+ wxString fileCount = FreeFileSync::numberToWxString(filesOnLeftView, true);
wxString outputString = _("%x files,");
outputString.Replace(wxT("%x"), fileCount, false);
@@ -3113,8 +3113,7 @@ void MainDialog::updateGridViewData()
statusLeftNew += FreeFileSync::formatFilesizeToShortString(filesizeLeftView);
}
- const wxString objectsView = FreeFileSync::includeNumberSeparator(
- globalFunctions::numberToWxString(static_cast<unsigned int>(gridDataView->rowsOnView())));
+ const wxString objectsView = FreeFileSync::numberToWxString(gridDataView->rowsOnView(), true);
if (gridDataView->rowsTotal() == 1)
{
wxString outputString = _("%x of 1 row in view");
@@ -3123,8 +3122,7 @@ void MainDialog::updateGridViewData()
}
else
{
- const wxString objectsTotal = FreeFileSync::includeNumberSeparator(
- globalFunctions::numberToWxString(static_cast<unsigned int>(gridDataView->rowsTotal())));
+ const wxString objectsTotal = FreeFileSync::numberToWxString(gridDataView->rowsTotal(), true);
wxString outputString = _("%x of %y rows in view");
outputString.Replace(wxT("%x"), objectsView, false);
@@ -3138,7 +3136,7 @@ void MainDialog::updateGridViewData()
statusRightNew += _("1 directory");
else
{
- wxString folderCount = FreeFileSync::includeNumberSeparator(globalFunctions::numberToWxString(foldersOnRightView));
+ wxString folderCount = FreeFileSync::numberToWxString(foldersOnRightView, true);
wxString outputString = _("%x directories");
outputString.Replace(wxT("%x"), folderCount, false);
@@ -3155,7 +3153,7 @@ void MainDialog::updateGridViewData()
statusRightNew += _("1 file,");
else
{
- wxString fileCount = FreeFileSync::includeNumberSeparator(globalFunctions::numberToWxString(filesOnRightView));
+ wxString fileCount = FreeFileSync::numberToWxString(filesOnRightView, true);
wxString outputString = _("%x files,");
outputString.Replace(wxT("%x"), fileCount, false);
@@ -3383,8 +3381,8 @@ void MainDialog::addFolderPair(const std::vector<FolderPairEnh>& newPairs, bool
}
//set size of scrolled window
- const int visiblePairs = std::min(additionalFolderPairs.size(), MAX_ADD_FOLDER_PAIRS); //up to MAX_ADD_FOLDER_PAIRS additional pairs shall be shown
- m_scrolledWindowFolderPairs->SetMinSize(wxSize( -1, pairHeight * visiblePairs));
+ const size_t visiblePairs = std::min(additionalFolderPairs.size(), MAX_ADD_FOLDER_PAIRS); //up to MAX_ADD_FOLDER_PAIRS additional pairs shall be shown
+ m_scrolledWindowFolderPairs->SetMinSize(wxSize( -1, pairHeight * static_cast<int>(visiblePairs)));
//update controls
m_scrolledWindowFolderPairs->Fit(); //adjust scrolled window size
@@ -3413,7 +3411,7 @@ void MainDialog::removeAddFolderPair(const unsigned int pos)
//set size of scrolled window
const size_t additionalRows = additionalFolderPairs.size();
if (additionalRows <= MAX_ADD_FOLDER_PAIRS) //up to MAX_ADD_FOLDER_PAIRS additional pairs shall be shown
- m_scrolledWindowFolderPairs->SetMinSize(wxSize(-1, pairHeight * additionalRows));
+ m_scrolledWindowFolderPairs->SetMinSize(wxSize(-1, pairHeight * static_cast<int>(additionalRows)));
//update controls
m_scrolledWindowFolderPairs->Fit(); //adjust scrolled window size
@@ -3586,7 +3584,7 @@ void MainDialog::OnRegularUpdateCheck(wxIdleEvent& event)
//execute just once per startup!
Disconnect(wxEVT_IDLE, wxIdleEventHandler(MainDialog::OnRegularUpdateCheck), NULL, this);
- FreeFileSync::checkForUpdatePeriodically(globalSettings.lastUpdateCheck);
+ FreeFileSync::checkForUpdatePeriodically(globalSettings.gui.lastUpdateCheck);
}
@@ -3613,7 +3611,7 @@ void MainDialog::OnMenuAbout(wxCommandEvent& event)
void MainDialog::OnShowHelp(wxCommandEvent& event)
{
-FreeFileSync::displayHelpEntry();
+ FreeFileSync::displayHelpEntry();
}
@@ -3712,10 +3710,3 @@ bool MainDialog::SyncPreview::synchronizationIsEnabled() const
{
return synchronizationEnabled;
}
-
-
-
-
-
-
-
diff --git a/ui/MainDialog.h b/ui/MainDialog.h
index 7c30f8a3..5f28b36c 100644
--- a/ui/MainDialog.h
+++ b/ui/MainDialog.h
@@ -121,14 +121,14 @@ private:
void updateGridViewData();
//context menu functions
- std::set<unsigned int> getSelectedRows(const CustomGrid* grid) const;
- std::set<unsigned int> getSelectedRows() const;
- void setSyncDirManually(const std::set<unsigned int>& rowsToSetOnUiTable, const FreeFileSync::SyncDirection dir);
- void filterRangeManually(const std::set<unsigned int>& rowsToFilterOnUiTable, const int leadingRow);
+ std::set<size_t> getSelectedRows(const CustomGrid* grid) const;
+ std::set<size_t> getSelectedRows() const;
+ void setSyncDirManually(const std::set<size_t>& rowsToSetOnUiTable, const FreeFileSync::SyncDirection dir);
+ void filterRangeManually(const std::set<size_t>& rowsToFilterOnUiTable, int leadingRow);
void copySelectionToClipboard(const CustomGrid* selectedGrid);
void deleteSelectedFiles();
- void openExternalApplication(unsigned int rowNumber, bool leftSide, const wxString& commandline);
+ void openExternalApplication(size_t rowNumber, bool leftSide, const wxString& commandline);
static const int externalAppIDFirst = 1000; //id of first external app item
//work to be done in idle time
diff --git a/ui/SmallDialogs.cpp b/ui/SmallDialogs.cpp
index 346b0ae6..bd90f14d 100644
--- a/ui/SmallDialogs.cpp
+++ b/ui/SmallDialogs.cpp
@@ -10,7 +10,7 @@
#include "../library/resources.h"
#include "../algorithm.h"
#include "../shared/stringConv.h"
-#include "util.h"
+#include "../shared/util.h"
#include "../synchronization.h"
#include "../library/customGrid.h"
#include "../shared/customButton.h"
@@ -617,8 +617,7 @@ SyncPreviewDlg::SyncPreviewDlg(wxWindow* parentWindow,
SyncPreviewDlgGenerated(parentWindow),
m_dontShowAgain(dontShowAgain)
{
- using FreeFileSync::includeNumberSeparator;
- using globalFunctions::numberToWxString;
+ using FreeFileSync::numberToWxString;
m_buttonStartSync->setBitmapFront(GlobalResources::getInstance().getImageByName(wxT("startSync")));
m_bitmapCreate->SetBitmap(GlobalResources::getInstance().getImageByName(wxT("create")));
@@ -629,13 +628,13 @@ SyncPreviewDlg::SyncPreviewDlg(wxWindow* parentWindow,
m_staticTextVariant->SetLabel(variantName);
m_textCtrlData->SetValue(FreeFileSync::formatFilesizeToShortString(statistics.getDataToProcess()));
- m_textCtrlCreateL->SetValue(includeNumberSeparator(numberToWxString(statistics.getCreate( true, false))));
- m_textCtrlUpdateL->SetValue(includeNumberSeparator(numberToWxString(statistics.getOverwrite(true, false))));
- m_textCtrlDeleteL->SetValue(includeNumberSeparator(numberToWxString(statistics.getDelete( true, false))));
+ m_textCtrlCreateL->SetValue(numberToWxString(statistics.getCreate( true, false), true));
+ m_textCtrlUpdateL->SetValue(numberToWxString(statistics.getOverwrite(true, false), true));
+ m_textCtrlDeleteL->SetValue(numberToWxString(statistics.getDelete( true, false), true));
- m_textCtrlCreateR->SetValue(includeNumberSeparator(numberToWxString(statistics.getCreate( false, true))));
- m_textCtrlUpdateR->SetValue(includeNumberSeparator(numberToWxString(statistics.getOverwrite(false, true))));
- m_textCtrlDeleteR->SetValue(includeNumberSeparator(numberToWxString(statistics.getDelete( false, true))));
+ m_textCtrlCreateR->SetValue(numberToWxString(statistics.getCreate( false, true), true));
+ m_textCtrlUpdateR->SetValue(numberToWxString(statistics.getOverwrite(false, true), true));
+ m_textCtrlDeleteR->SetValue(numberToWxString(statistics.getDelete( false, true), true));
m_checkBoxDontShowAgain->SetValue(dontShowAgain);
diff --git a/ui/batchStatusHandler.cpp b/ui/batchStatusHandler.cpp
index f6e59924..e8b2b31b 100644
--- a/ui/batchStatusHandler.cpp
+++ b/ui/batchStatusHandler.cpp
@@ -14,6 +14,7 @@
#include "../shared/stringConv.h"
#include "../shared/globalFunctions.h"
#include "../shared/appMain.h"
+#include "../shared/util.h"
using namespace FreeFileSync;
@@ -108,10 +109,10 @@ private:
{
//if it's not unique, add a postfix number
int postfix = 1;
- while (FreeFileSync::fileExists(wxToZ(logfileName + wxT('_') + numberToWxString(postfix) + wxT(".log"))))
+ while (FreeFileSync::fileExists(wxToZ(logfileName + wxT('_') + FreeFileSync::numberToWxString(postfix, false) + wxT(".log"))))
++postfix;
- output = logfileName + wxT('_') + numberToWxString(postfix) + wxT(".log");
+ output = logfileName + wxT('_') + numberToWxString(postfix, false) + wxT(".log");
}
return output;
@@ -183,7 +184,7 @@ BatchStatusHandler::~BatchStatusHandler()
if (totalErrors > 0)
{
wxString header(_("Warning: Synchronization failed for %x item(s):"));
- header.Replace(wxT("%x"), globalFunctions::numberToWxString(totalErrors), false);
+ header.Replace(wxT("%x"), FreeFileSync::numberToWxString(totalErrors, true), false);
finalMessage += header + wxT("\n\n");
}
@@ -227,7 +228,7 @@ void BatchStatusHandler::initNewProcess(int objectsTotal, wxLongLong dataTotal,
switch (currentProcess)
{
case StatusHandler::PROCESS_SCANNING:
- syncStatusFrame.resetGauge(0, 0); //dummy call to initialize some gui elements (remaining time, speed)
+ syncStatusFrame.resetGauge(0, 0); //initialize some gui elements (remaining time, speed)
syncStatusFrame.setCurrentStatus(SyncStatus::SCANNING);
break;
case StatusHandler::PROCESS_COMPARING_CONTENT:
@@ -251,6 +252,7 @@ void BatchStatusHandler::updateProcessedData(int objectsProcessed, wxLongLong da
switch (currentProcess)
{
case StatusHandler::PROCESS_SCANNING:
+ syncStatusFrame.incScannedObjects_NoUpdate(objectsProcessed);
break;
case StatusHandler::PROCESS_COMPARING_CONTENT:
case StatusHandler::PROCESS_SYNCHRONIZING:
@@ -282,12 +284,12 @@ void BatchStatusHandler::reportWarning(const wxString& warningMessage, bool& war
{
//show popup and ask user how to handle warning
bool dontWarnAgain = false;
- WarningDlg* warningDlg = new WarningDlg(NULL,
- WarningDlg::BUTTON_IGNORE | WarningDlg::BUTTON_ABORT,
- warningMessage,
- dontWarnAgain);
- const WarningDlg::Response rv = static_cast<WarningDlg::Response>(warningDlg->ShowModal());
- warningDlg->Destroy();
+ WarningDlg warningDlg(NULL,
+ WarningDlg::BUTTON_IGNORE | WarningDlg::BUTTON_ABORT,
+ warningMessage,
+ dontWarnAgain);
+ warningDlg.Raise();
+ const WarningDlg::Response rv = static_cast<WarningDlg::Response>(warningDlg.ShowModal());
switch (rv)
{
case WarningDlg::BUTTON_ABORT:
@@ -318,12 +320,12 @@ ErrorHandler::Response BatchStatusHandler::reportError(const wxString& errorMess
case xmlAccess::ON_ERROR_POPUP:
{
bool ignoreNextErrors = false;
- ErrorDlg* errorDlg = new ErrorDlg(NULL,
- ErrorDlg::BUTTON_IGNORE | ErrorDlg::BUTTON_RETRY | ErrorDlg::BUTTON_ABORT,
- errorMessage + wxT("\n\n\n") + _("Ignore this error, retry or abort?"),
- ignoreNextErrors);
- const ErrorDlg::ReturnCodes rv = static_cast<ErrorDlg::ReturnCodes>(errorDlg->ShowModal());
- errorDlg->Destroy();
+ ErrorDlg errorDlg(NULL,
+ ErrorDlg::BUTTON_IGNORE | ErrorDlg::BUTTON_RETRY | ErrorDlg::BUTTON_ABORT,
+ errorMessage + wxT("\n\n\n") + _("Ignore this error, retry or abort?"),
+ ignoreNextErrors);
+ errorDlg.Raise();
+ const ErrorDlg::ReturnCodes rv = static_cast<ErrorDlg::ReturnCodes>(errorDlg.ShowModal());
switch (rv)
{
case ErrorDlg::BUTTON_IGNORE:
diff --git a/ui/gridView.cpp b/ui/gridView.cpp
index 585296a9..4989db3d 100644
--- a/ui/gridView.cpp
+++ b/ui/gridView.cpp
@@ -227,13 +227,13 @@ GridView::StatusSyncPreview GridView::updateSyncPreview(bool hideFiltered, //map
}
-void GridView::getAllFileRef(const std::set<unsigned int>& guiRows, std::vector<FileSystemObject*>& output)
+void GridView::getAllFileRef(const std::set<size_t>& guiRows, std::vector<FileSystemObject*>& output)
{
- std::set<unsigned int>::const_iterator upperEnd = guiRows.lower_bound(rowsOnView()); //loop over valid rows only!
+ std::set<size_t>::const_iterator upperEnd = guiRows.lower_bound(rowsOnView()); //loop over valid rows only!
output.clear();
output.reserve(guiRows.size());
- for (std::set<unsigned int>::const_iterator i = guiRows.begin(); i != upperEnd; ++i)
+ for (std::set<size_t>::const_iterator i = guiRows.begin(); i != upperEnd; ++i)
{
FileSystemObject* fsObj = getReferencedRow(viewRef[*i]);
if (fsObj)
@@ -277,10 +277,10 @@ public:
void execute(const HierarchyObject& hierObj)
{
//add file references
- std::for_each(hierObj.subFiles.begin(), hierObj.subFiles.end(), *this);
+ std::for_each(hierObj.useSubFiles().begin(), hierObj.useSubFiles().end(), *this);
//add dir references
- std::for_each(hierObj.subDirs.begin(), hierObj.subDirs.end(), *this);
+ std::for_each(hierObj.useSubDirs().begin(), hierObj.useSubDirs().end(), *this);
}
void operator()(const FileMapping& fileObj)
diff --git a/ui/gridView.h b/ui/gridView.h
index 8cd21915..5310eb7e 100644
--- a/ui/gridView.h
+++ b/ui/gridView.h
@@ -17,13 +17,13 @@ class GridView
{
public:
//direct data access via row number
- const FileSystemObject* getObject(unsigned int row) const; //returns NULL if object is not found; logarithmic complexity
- FileSystemObject* getObject(unsigned int row); //
+ const FileSystemObject* getObject(size_t row) const; //returns NULL if object is not found; logarithmic complexity
+ FileSystemObject* getObject(size_t row); //
size_t rowsOnView() const; //only the currently visible elements
size_t rowsTotal() const; //total number of rows available
//get references to FileSystemObject: no NULL-check needed! Everything's bound.
- void getAllFileRef(const std::set<unsigned int>& guiRows, std::vector<FileSystemObject*>& output);
+ void getAllFileRef(const std::set<size_t>& guiRows, std::vector<FileSystemObject*>& output);
struct StatusCmpResult
{
@@ -180,7 +180,7 @@ private:
//inline implementation
inline
-const FileSystemObject* GridView::getObject(unsigned int row) const
+const FileSystemObject* GridView::getObject(size_t row) const
{
if (row < rowsOnView())
return getReferencedRow(viewRef[row]);
@@ -189,7 +189,7 @@ const FileSystemObject* GridView::getObject(unsigned int row) const
}
inline
-FileSystemObject* GridView::getObject(unsigned int row)
+FileSystemObject* GridView::getObject(size_t row)
{
//code re-use of const method: see Meyers Effective C++
return const_cast<FileSystemObject*>(static_cast<const GridView&>(*this).getObject(row));
diff --git a/ui/guiGenerated.cpp b/ui/guiGenerated.cpp
index 573c7b1c..90929704 100644
--- a/ui/guiGenerated.cpp
+++ b/ui/guiGenerated.cpp
@@ -1919,7 +1919,7 @@ SyncCfgDlgGenerated::SyncCfgDlgGenerated( wxWindow* parent, wxWindowID id, const
bSizer1151 = new wxBoxSizer( wxHORIZONTAL );
m_textCtrlCustomDelFolder = new wxTextCtrl( m_panelCustomDeletionDir, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- m_textCtrlCustomDelFolder->SetMinSize( wxSize( 160,-1 ) );
+ m_textCtrlCustomDelFolder->SetMinSize( wxSize( 200,-1 ) );
bSizer1151->Add( m_textCtrlCustomDelFolder, 1, wxALIGN_CENTER_VERTICAL, 5 );
@@ -2389,9 +2389,10 @@ SyncStatusDlgGenerated::SyncStatusDlgGenerated( wxWindow* parent, wxWindowID id,
m_buttonOK = new wxButton( this, wxID_OK, _("&OK"), wxDefaultPosition, wxSize( 100,32 ), 0 );
m_buttonOK->SetFont( wxFont( 10, 74, 90, 90, false, wxT("Tahoma") ) );
+ m_buttonOK->Enable( false );
m_buttonOK->Hide();
- bSizer28->Add( m_buttonOK, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+ bSizer28->Add( m_buttonOK, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
m_buttonPause = new wxButton( this, wxID_ANY, _("&Pause"), wxDefaultPosition, wxSize( 100,32 ), 0 );
m_buttonPause->SetFont( wxFont( 10, 74, 90, 90, false, wxT("Tahoma") ) );
@@ -2685,12 +2686,6 @@ AboutDlgGenerated::AboutDlgGenerated( wxWindow* parent, wxWindowID id, const wxS
bSizer36->Fit( m_panel5 );
bSizer31->Add( m_panel5, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
- m_staticText15 = new wxStaticText( this, wxID_ANY, _("-Open-Source file synchronization-"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText15->Wrap( -1 );
- m_staticText15->SetFont( wxFont( 8, 74, 90, 92, false, wxT("Tahoma") ) );
-
- bSizer31->Add( m_staticText15, 0, wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
-
m_build = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
m_build->Wrap( -1 );
m_build->SetFont( wxFont( 8, 74, 90, 90, false, wxT("Tahoma") ) );
diff --git a/ui/guiGenerated.h b/ui/guiGenerated.h
index ff1c4ddc..2c5659b5 100644
--- a/ui/guiGenerated.h
+++ b/ui/guiGenerated.h
@@ -682,7 +682,6 @@ class AboutDlgGenerated : public wxDialog
wxPanel* m_panel5;
wxStaticBitmap* m_bitmap11;
- wxStaticText* m_staticText15;
wxStaticText* m_build;
wxScrolledWindow* m_scrolledWindowCodeInfo;
diff --git a/ui/guiStatusHandler.cpp b/ui/guiStatusHandler.cpp
index bd5f001e..19eccb1c 100644
--- a/ui/guiStatusHandler.cpp
+++ b/ui/guiStatusHandler.cpp
@@ -12,6 +12,7 @@
#include <wx/wupdlock.h>
#include "../shared/globalFunctions.h"
#include "../shared/stringConv.h"
+#include "../shared/util.h"
using namespace FreeFileSync;
@@ -27,15 +28,17 @@ CompareStatusHandler::CompareStatusHandler(MainDialog* dlg) :
mainDialog->disableAllElements();
//display status panel during compare
- mainDialog->compareStatus.init(); //clear old values
- mainDialog->compareStatus.getAsWindow()->Show();
+ mainDialog->compareStatus.init(); //clear old values and make visible
mainDialog->bSizer1->Layout(); //both sizers need to recalculate!
mainDialog->bSizer6->Layout(); //adapt layout for wxBitmapWithImage
mainDialog->Refresh();
//register abort button
- mainDialog->m_buttonAbort->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CompareStatusHandler::OnAbortCompare ), NULL, this );
+ mainDialog->m_buttonAbort->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CompareStatusHandler::OnAbortCompare ), NULL, this);
+
+ //register key event
+ mainDialog->Connect(wxEVT_CHAR_HOOK, wxKeyEventHandler(CompareStatusHandler::OnKeyPressed), NULL, this);
}
@@ -50,18 +53,32 @@ CompareStatusHandler::~CompareStatusHandler()
mainDialog->pushStatusInformation(_("Operation aborted!"));
//hide status panel from main window
- mainDialog->compareStatus.getAsWindow()->Hide();
+ mainDialog->compareStatus.finalize();
mainDialog->bSizer6->Layout(); //adapt layout for wxBitmapWithImage
mainDialog->Layout();
mainDialog->Refresh();
+ //register key event
+ mainDialog->Disconnect(wxEVT_CHAR_HOOK, wxKeyEventHandler(CompareStatusHandler::OnKeyPressed), NULL, this);
//de-register abort button
- mainDialog->m_buttonAbort->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CompareStatusHandler::OnAbortCompare ), NULL, this );
+ mainDialog->m_buttonAbort->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CompareStatusHandler::OnAbortCompare ), NULL, this);
+}
+
+
+void CompareStatusHandler::OnKeyPressed(wxKeyEvent& event)
+{
+ const int keyCode = event.GetKeyCode();
+ if (keyCode == WXK_ESCAPE)
+ {
+ wxCommandEvent dummy;
+ OnAbortCompare(dummy);
+ }
+
+ event.Skip();
}
-inline
void CompareStatusHandler::updateStatusText(const Zstring& text)
{
mainDialog->compareStatus.setStatusText_NoUpdate(text);
@@ -116,10 +133,11 @@ ErrorHandler::Response CompareStatusHandler::reportError(const wxString& message
bool ignoreNextErrors = false;
const wxString errorMessage = message + wxT("\n\n\n") + _("Ignore this error, retry or abort?");
- ErrorDlg* errorDlg = new ErrorDlg(mainDialog,
- ErrorDlg::BUTTON_IGNORE | ErrorDlg::BUTTON_RETRY | ErrorDlg::BUTTON_ABORT,
- errorMessage, ignoreNextErrors);
- switch (static_cast<ErrorDlg::ReturnCodes>(errorDlg->ShowModal()))
+ ErrorDlg errorDlg(NULL,
+ ErrorDlg::BUTTON_IGNORE | ErrorDlg::BUTTON_RETRY | ErrorDlg::BUTTON_ABORT,
+ errorMessage, ignoreNextErrors);
+ errorDlg.Raise();
+ switch (static_cast<ErrorDlg::ReturnCodes>(errorDlg.ShowModal()))
{
case ErrorDlg::BUTTON_IGNORE:
ignoreErrors = ignoreNextErrors;
@@ -142,10 +160,11 @@ void CompareStatusHandler::reportFatalError(const wxString& errorMessage)
mainDialog->compareStatus.updateStatusPanelNow();
bool dummy = false;
- ErrorDlg* errorDlg = new ErrorDlg(mainDialog,
- ErrorDlg::BUTTON_ABORT,
- errorMessage, dummy);
- errorDlg->ShowModal();
+ ErrorDlg errorDlg(NULL,
+ ErrorDlg::BUTTON_ABORT,
+ errorMessage, dummy);
+ errorDlg.Raise();
+ errorDlg.ShowModal();
abortThisProcess();
}
@@ -159,11 +178,12 @@ void CompareStatusHandler::reportWarning(const wxString& warningMessage, bool& w
//show popup and ask user how to handle warning
bool dontWarnAgain = false;
- WarningDlg* warningDlg = new WarningDlg(mainDialog,
- WarningDlg::BUTTON_IGNORE | WarningDlg::BUTTON_ABORT,
- warningMessage,
- dontWarnAgain);
- switch (static_cast<WarningDlg::Response>(warningDlg->ShowModal()))
+ WarningDlg warningDlg(NULL,
+ WarningDlg::BUTTON_IGNORE | WarningDlg::BUTTON_ABORT,
+ warningMessage,
+ dontWarnAgain);
+ warningDlg.Raise();
+ switch (static_cast<WarningDlg::Response>(warningDlg.ShowModal()))
{
case WarningDlg::BUTTON_ABORT:
abortThisProcess();
@@ -197,8 +217,8 @@ void CompareStatusHandler::abortThisProcess()
//########################################################################################################
-SyncStatusHandler::SyncStatusHandler(wxWindow* dlg, bool ignoreAllErrors) :
- syncStatusFrame(*this, dlg, false),
+SyncStatusHandler::SyncStatusHandler(wxTopLevelWindow* parentDlg, bool ignoreAllErrors) :
+ syncStatusFrame(*this, parentDlg, false),
ignoreErrors(ignoreAllErrors) {}
@@ -208,9 +228,9 @@ SyncStatusHandler::~SyncStatusHandler()
//finalize error log
if (abortIsRequested())
- errorLog.logError(wxString(_("Synchronization aborted!")) + wxT(" ") + _("You may try to synchronize remaining items again (WITHOUT having to re-compare)!"));
+ errorLog.logError(wxString(_("Synchronization aborted!")) + wxT(" \n") + _("You may try to synchronize remaining items again (WITHOUT having to re-compare)!"));
else if (totalErrors)
- errorLog.logWarning(wxString(_("Synchronization completed with errors!")) + wxT(" ") + _("You may try to synchronize remaining items again (WITHOUT having to re-compare)!"));
+ errorLog.logWarning(wxString(_("Synchronization completed with errors!")) + wxT(" \n") + _("You may try to synchronize remaining items again (WITHOUT having to re-compare)!"));
else
errorLog.logInfo(_("Synchronization completed successfully!"));
@@ -220,7 +240,7 @@ SyncStatusHandler::~SyncStatusHandler()
if (totalErrors > 0)
{
wxString header(_("Warning: Synchronization failed for %x item(s):"));
- header.Replace(wxT("%x"), globalFunctions::numberToWxString(totalErrors), false);
+ header.Replace(wxT("%x"), FreeFileSync::numberToWxString(totalErrors, true), false);
finalMessage += header + wxT("\n\n");
}
@@ -283,13 +303,12 @@ ErrorHandler::Response SyncStatusHandler::reportError(const wxString& errorMessa
syncStatusFrame.updateStatusDialogNow();
bool ignoreNextErrors = false;
- ErrorDlg* errorDlg = new ErrorDlg(NULL,
- ErrorDlg::BUTTON_IGNORE | ErrorDlg::BUTTON_RETRY | ErrorDlg::BUTTON_ABORT,
- errorMessage + wxT("\n\n\n") + _("Ignore this error, retry or abort synchronization?"),
- ignoreNextErrors);
- const ErrorDlg::ReturnCodes rv = static_cast<ErrorDlg::ReturnCodes>(errorDlg->ShowModal());
- errorDlg->Destroy();
-
+ ErrorDlg errorDlg(NULL,
+ ErrorDlg::BUTTON_IGNORE | ErrorDlg::BUTTON_RETRY | ErrorDlg::BUTTON_ABORT,
+ errorMessage + wxT("\n\n\n") + _("Ignore this error, retry or abort synchronization?"),
+ ignoreNextErrors);
+ errorDlg.Raise();
+ const ErrorDlg::ReturnCodes rv = static_cast<ErrorDlg::ReturnCodes>(errorDlg.ShowModal());
switch (rv)
{
case ErrorDlg::BUTTON_IGNORE:
@@ -330,13 +349,12 @@ void SyncStatusHandler::reportWarning(const wxString& warningMessage, bool& warn
//show popup and ask user how to handle warning
bool dontWarnAgain = false;
- WarningDlg* warningDlg = new WarningDlg(NULL,
- WarningDlg::BUTTON_IGNORE | WarningDlg::BUTTON_ABORT,
- warningMessage,
- dontWarnAgain);
- const WarningDlg::Response rv = static_cast<WarningDlg::Response>(warningDlg->ShowModal());
- warningDlg->Destroy();
-
+ WarningDlg warningDlg(NULL,
+ WarningDlg::BUTTON_IGNORE | WarningDlg::BUTTON_ABORT,
+ warningMessage,
+ dontWarnAgain);
+ warningDlg.Raise();
+ const WarningDlg::Response rv = static_cast<WarningDlg::Response>(warningDlg.ShowModal());
switch (rv)
{
case WarningDlg::BUTTON_IGNORE: //no unhandled error situation!
diff --git a/ui/guiStatusHandler.h b/ui/guiStatusHandler.h
index cb64069a..3dab9a85 100644
--- a/ui/guiStatusHandler.h
+++ b/ui/guiStatusHandler.h
@@ -35,6 +35,7 @@ public:
virtual void reportWarning(const wxString& warningMessage, bool& warningActive);
private:
+void OnKeyPressed(wxKeyEvent& event);
void OnAbortCompare(wxCommandEvent& event); //handle abort button click
virtual void abortThisProcess();
@@ -47,7 +48,7 @@ private:
class SyncStatusHandler : public StatusHandler
{
public:
- SyncStatusHandler(wxWindow* dlg, bool ignoreAllErrors);
+ SyncStatusHandler(wxTopLevelWindow* parentDlg, bool ignoreAllErrors);
~SyncStatusHandler();
virtual void updateStatusText(const Zstring& text);
diff --git a/ui/progressIndicator.cpp b/ui/progressIndicator.cpp
index 1ba70888..e2680b0e 100644
--- a/ui/progressIndicator.cpp
+++ b/ui/progressIndicator.cpp
@@ -10,23 +10,49 @@
#include <wx/stopwatch.h>
#include "../library/resources.h"
#include "../shared/stringConv.h"
-#include "util.h"
+#include "../shared/util.h"
#include "../library/statistics.h"
-#include "../library/statusHandler.h"
#include <wx/wupdlock.h>
#include "../shared/globalFunctions.h"
#include "trayIcon.h"
#include <boost/shared_ptr.hpp>
+#ifdef FFS_WIN
+#include "../shared/taskbar.h"
+#endif
+
using namespace FreeFileSync;
-class CompareStatusImpl : public CompareStatusGenerated
+namespace
+{
+void setNewText(const wxString& newText, wxTextCtrl& control, bool& updateLayout)
+{
+ if (control.GetValue().length() != newText.length())
+ updateLayout = true; //avoid screen flicker: apply only when necessary
+
+ if (control.GetValue() != newText)
+ control.ChangeValue(newText);
+}
+
+void setNewText(const wxString& newText, wxStaticText& control, bool& updateLayout)
+{
+ if (control.GetLabel().length() != newText.length())
+ updateLayout = true; //avoid screen flicker
+
+ if (control.GetLabel() != newText)
+ control.SetLabel(newText);
+}
+}
+
+
+class CompareStatus::CompareStatusImpl : public CompareStatusGenerated
{
public:
- CompareStatusImpl(wxWindow& parentWindow);
+ CompareStatusImpl(wxTopLevelWindow& parentWindow);
- void init(); //initialize all status values
+ void init(); //make visible, initialize all status values
+ void finalize(); //hide again
void switchToCompareBytewise(int totalObjectsToProcess, wxLongLong totalDataToProcess);
void incScannedObjects_NoUpdate(int number);
@@ -35,8 +61,11 @@ public:
void updateStatusPanelNow();
private:
+ wxTopLevelWindow& parentWindow_;
+ wxString titleTextBackup;
+
//status variables
- unsigned int scannedObjects;
+ size_t scannedObjects;
Zstring currentStatusText;
wxStopWatch timeElapsed;
@@ -48,6 +77,20 @@ private:
wxLongLong currentData;
double scalingFactor; //nr of elements has to be normalized to smaller nr. because of range of int limitation
+ void showProgressExternally(const wxString& progressText, float percent = 0);
+
+ enum CurrentStatus
+ {
+ SCANNING,
+ COMPARING_CONTENT,
+ };
+
+ CurrentStatus status;
+
+#ifdef FFS_WIN
+ std::auto_ptr<Utility::TaskbarProgress> taskbar_;
+#endif
+
//remaining time
std::auto_ptr<Statistics> statistics;
long lastStatCallSpeed; //used for calculating intervals between statistics update
@@ -55,7 +98,7 @@ private:
};
//redirect to implementation
-CompareStatus::CompareStatus(wxWindow& parentWindow) :
+CompareStatus::CompareStatus(wxTopLevelWindow& parentWindow) :
pimpl(new CompareStatusImpl(parentWindow)) {}
CompareStatus::~CompareStatus()
@@ -73,6 +116,11 @@ void CompareStatus::init()
pimpl->init();
}
+void CompareStatus::finalize()
+{
+ pimpl->finalize();
+}
+
void CompareStatus::switchToCompareBytewise(int totalObjectsToProcess, wxLongLong totalDataToProcess)
{
pimpl->switchToCompareBytewise(totalObjectsToProcess, totalDataToProcess);
@@ -100,15 +148,16 @@ void CompareStatus::updateStatusPanelNow()
//########################################################################################
-CompareStatusImpl::CompareStatusImpl(wxWindow& parentWindow) :
+CompareStatus::CompareStatusImpl::CompareStatusImpl(wxTopLevelWindow& parentWindow) :
CompareStatusGenerated(&parentWindow),
+ parentWindow_(parentWindow),
scannedObjects(0),
totalObjects(0),
totalData(0),
currentObjects(0),
currentData(0),
scalingFactor(0),
- statistics(NULL),
+ status(SCANNING),
lastStatCallSpeed(-1000000), //some big number
lastStatCallRemTime(-1000000)
{
@@ -116,8 +165,20 @@ CompareStatusImpl::CompareStatusImpl(wxWindow& parentWindow) :
}
-void CompareStatusImpl::init()
+void CompareStatus::CompareStatusImpl::init()
{
+ titleTextBackup = parentWindow_.GetTitle();
+
+#ifdef FFS_WIN
+ try //try to get access to Windows 7 Taskbar
+ {
+ taskbar_.reset(new Utility::TaskbarProgress(parentWindow_));
+ }
+ catch (const Utility::TaskbarNotAvailable&) {}
+#endif
+
+ status = SCANNING;
+
//initialize gauge
m_gauge2->SetRange(50000);
m_gauge2->SetValue(0);
@@ -141,11 +202,26 @@ void CompareStatusImpl::init()
timeElapsed.Start(); //measure total time
updateStatusPanelNow();
+
+ Show(); //make visible
+}
+
+
+void CompareStatus::CompareStatusImpl::finalize() //hide again
+{
+#ifdef FFS_WIN
+ taskbar_.reset();
+#endif
+
+ Hide();
+ parentWindow_.SetTitle(titleTextBackup);
}
-void CompareStatusImpl::switchToCompareBytewise(int totalObjectsToProcess, wxLongLong totalDataToProcess)
+void CompareStatus::CompareStatusImpl::switchToCompareBytewise(int totalObjectsToProcess, wxLongLong totalDataToProcess)
{
+ status = COMPARING_CONTENT;
+
currentData = 0;
totalData = totalDataToProcess;
@@ -169,33 +245,74 @@ void CompareStatusImpl::switchToCompareBytewise(int totalObjectsToProcess, wxLon
}
-void CompareStatusImpl::incScannedObjects_NoUpdate(int number)
+void CompareStatus::CompareStatusImpl::incScannedObjects_NoUpdate(int number)
{
scannedObjects += number;
}
-void CompareStatusImpl::incProcessedCmpData_NoUpdate(int objectsProcessed, wxLongLong dataProcessed)
+void CompareStatus::CompareStatusImpl::incProcessedCmpData_NoUpdate(int objectsProcessed, wxLongLong dataProcessed)
{
currentData += dataProcessed;
currentObjects += objectsProcessed;
}
-void CompareStatusImpl::setStatusText_NoUpdate(const Zstring& text)
+void CompareStatus::CompareStatusImpl::setStatusText_NoUpdate(const Zstring& text)
{
currentStatusText = text;
}
-void CompareStatusImpl::updateStatusPanelNow()
+void CompareStatus::CompareStatusImpl::showProgressExternally(const wxString& progressText, float percent)
+{
+ if (parentWindow_.GetTitle() != progressText)
+ parentWindow_.SetTitle(progressText);
+
+ //show progress on Windows 7 taskbar
+#ifdef FFS_WIN
+ using namespace Utility;
+
+ if (taskbar_.get())
+ {
+ const size_t current = 100000 * percent / 100;
+ const size_t total = 100000;
+ switch (status)
+ {
+ case SCANNING:
+ taskbar_->setStatus(TaskbarProgress::STATUS_INDETERMINATE);
+ break;
+ case COMPARING_CONTENT:
+ taskbar_->setStatus(TaskbarProgress::STATUS_NORMAL);
+ taskbar_->setProgress(current, total);
+ break;
+ }
+ }
+#endif
+}
+
+
+void CompareStatus::CompareStatusImpl::updateStatusPanelNow()
{
//static RetrieveStatistics statistic;
//statistic.writeEntry(currentData, currentObjects);
{
- wxWindowUpdateLocker dummy(this); //reduce display distortion
+ //wxWindowUpdateLocker dummy(this) -> not needed
+
+ //write status information to taskbar, parent title ect.
+ switch (status)
+ {
+ case SCANNING:
+ showProgressExternally(numberToWxString(scannedObjects, true) + wxT(" - ") + _("Scanning..."));
+ break;
+ case COMPARING_CONTENT:
+ showProgressExternally(formatPercentage(currentData, totalData) + wxT(" - ") + _("Comparing content..."),
+ currentData.ToDouble() * 100 / totalData.ToDouble());
+ break;
+ }
+
- bool screenChanged = false; //avoid screen flicker by calling layout() only if necessary
+ bool updateLayout = false; //avoid screen flicker by calling layout() only if necessary
//remove linebreaks from currentStatusText
wxString formattedStatusText = zToWx(currentStatusText);
@@ -204,26 +321,22 @@ void CompareStatusImpl::updateStatusPanelNow()
*i = wxChar(' ');
//status texts
- if (m_textCtrlStatus->GetValue() != formattedStatusText && (screenChanged = true)) //avoid screen flicker
- m_textCtrlStatus->SetValue(formattedStatusText);
+ if (m_textCtrlStatus->GetValue() != formattedStatusText) //no layout update for status texts!
+ m_textCtrlStatus->ChangeValue(formattedStatusText);
//nr of scanned objects
- const wxString scannedObjTmp = globalFunctions::numberToWxString(scannedObjects);
- if (m_staticTextScanned->GetLabel() != scannedObjTmp && (screenChanged = true)) //avoid screen flicker
- m_staticTextScanned->SetLabel(scannedObjTmp);
+ setNewText(numberToWxString(scannedObjects, true), *m_staticTextScanned, updateLayout);
//progress indicator for "compare file content"
m_gauge2->SetValue(int(currentData.ToDouble() * scalingFactor));
//remaining files left for file comparison
- const wxString filesToCompareTmp = globalFunctions::numberToWxString(totalObjects - currentObjects);
- if (m_staticTextFilesRemaining->GetLabel() != filesToCompareTmp && (screenChanged = true)) //avoid screen flicker
- m_staticTextFilesRemaining->SetLabel(filesToCompareTmp);
+ const wxString filesToCompareTmp = numberToWxString(totalObjects - currentObjects, true);
+ setNewText(filesToCompareTmp, *m_staticTextFilesRemaining, updateLayout);
//remaining bytes left for file comparison
const wxString remainingBytesTmp = FreeFileSync::formatFilesizeToShortString(totalData - currentData);
- if (m_staticTextDataRemaining->GetLabel() != remainingBytesTmp && (screenChanged = true)) //avoid screen flicker
- m_staticTextDataRemaining->SetLabel(remainingBytesTmp);
+ setNewText(remainingBytesTmp, *m_staticTextDataRemaining, updateLayout);
if (statistics.get())
{
@@ -234,29 +347,23 @@ void CompareStatusImpl::updateStatusPanelNow()
statistics->addMeasurement(currentObjects, currentData.ToDouble());
//current speed
- const wxString speedTmp = statistics->getBytesPerSecond();
- if (m_staticTextSpeed->GetLabel() != speedTmp && (screenChanged = true)) //avoid screen flicker
- m_staticTextSpeed->SetLabel(speedTmp);
+ setNewText(statistics->getBytesPerSecond(), *m_staticTextSpeed, updateLayout);
if (timeElapsed.Time() - lastStatCallRemTime >= 2000) //call method every two seconds only
{
lastStatCallRemTime = timeElapsed.Time();
//remaining time
- const wxString timeRemainingTmp = statistics->getRemainingTime();
- if (m_staticTextTimeRemaining->GetLabel() != timeRemainingTmp && (screenChanged = true)) //avoid screen flicker
- m_staticTextTimeRemaining->SetLabel(timeRemainingTmp);
+ setNewText(statistics->getRemainingTime(), *m_staticTextTimeRemaining, updateLayout);
}
}
}
//time elapsed
- const wxString timeElapsedTmp = (wxTimeSpan::Milliseconds(timeElapsed.Time())).Format();
- if (m_staticTextTimeElapsed->GetLabel() != timeElapsedTmp && (screenChanged = true)) //avoid screen flicker
- m_staticTextTimeElapsed->SetLabel(timeElapsedTmp);
+ setNewText(wxTimeSpan::Milliseconds(timeElapsed.Time()).Format(), *m_staticTextTimeElapsed, updateLayout);
//do the ui update
- if (screenChanged)
+ if (updateLayout)
bSizer42->Layout();
}
updateUiNow();
@@ -264,14 +371,15 @@ void CompareStatusImpl::updateStatusPanelNow()
//########################################################################################
-class SyncStatusImpl : public SyncStatusDlgGenerated
+class SyncStatus::SyncStatusImpl : public SyncStatusDlgGenerated
{
public:
- SyncStatusImpl(StatusHandler& updater, wxWindow* parentWindow);
+ SyncStatusImpl(StatusHandler& updater, wxTopLevelWindow* parentWindow);
~SyncStatusImpl();
void resetGauge(int totalObjectsToProcess, wxLongLong totalDataToProcess);
void incProgressIndicator_NoUpdate(int objectsProcessed, wxLongLong dataProcessed);
+ void incScannedObjects_NoUpdate(int number);
void setStatusText_NoUpdate(const Zstring& text);
void updateStatusDialogNow();
@@ -290,11 +398,12 @@ private:
void resumeFromSystray();
bool currentProcessIsRunning();
+ void showProgressExternally(const wxString& progressText, float percent = 0); //percent may already be included in progressText
wxStopWatch timeElapsed;
StatusHandler* processStatusHandler;
- wxWindow* mainDialog;
+ wxTopLevelWindow* mainDialog;
//gauge variables
int totalObjects;
@@ -303,21 +412,30 @@ private:
wxLongLong currentData; //each data element represents one byte for proper progress indicator scaling
double scalingFactor; //nr of elements has to be normalized to smaller nr. because of range of int limitation
+ //status variables
+ size_t scannedObjects;
Zstring currentStatusText;
+
bool processPaused;
SyncStatus::SyncStatusID currentStatus;
+#ifdef FFS_WIN
+ std::auto_ptr<Utility::TaskbarProgress> taskbar_;
+#endif
+
//remaining time
std::auto_ptr<Statistics> statistics;
long lastStatCallSpeed; //used for calculating intervals between statistics update
long lastStatCallRemTime; //
+ wxString titelTextBackup;
+
boost::shared_ptr<MinimizeToTray> minimizedToSysTray; //optional: if filled, hides all visible windows, shows again if destroyed
};
//redirect to implementation
-SyncStatus::SyncStatus(StatusHandler& updater, wxWindow* parentWindow, bool startSilent) :
+SyncStatus::SyncStatus(StatusHandler& updater, wxTopLevelWindow* parentWindow, bool startSilent) :
pimpl(new SyncStatusImpl(updater, parentWindow))
{
if (startSilent)
@@ -349,6 +467,11 @@ void SyncStatus::resetGauge(int totalObjectsToProcess, wxLongLong totalDataToPro
pimpl->resetGauge(totalObjectsToProcess, totalDataToProcess);
}
+void SyncStatus::incScannedObjects_NoUpdate(int number)
+{
+ pimpl->incScannedObjects_NoUpdate(number);
+}
+
void SyncStatus::incProgressIndicator_NoUpdate(int objectsProcessed, wxLongLong dataProcessed)
{
pimpl->incProgressIndicator_NoUpdate(objectsProcessed, dataProcessed);
@@ -376,13 +499,13 @@ void SyncStatus::processHasFinished(SyncStatusID id, const wxString& finalMessag
//########################################################################################
-SyncStatusImpl::SyncStatusImpl(StatusHandler& updater, wxWindow* parentWindow) :
+SyncStatus::SyncStatusImpl::SyncStatusImpl(StatusHandler& updater, wxTopLevelWindow* parentWindow) :
SyncStatusDlgGenerated(parentWindow,
wxID_ANY,
parentWindow ? wxEmptyString : _("FreeFileSync - Folder Comparison and Synchronization"),
wxDefaultPosition, wxSize(638, 376),
parentWindow ?
- wxDEFAULT_FRAME_STYLE | wxFRAME_NO_TASKBAR | wxFRAME_FLOAT_ON_PARENT :
+ wxDEFAULT_FRAME_STYLE | wxTAB_TRAVERSAL | wxFRAME_NO_TASKBAR | wxFRAME_FLOAT_ON_PARENT : //wxTAB_TRAVERSAL is needed for standard button handling: wxID_OK/wxID_CANCEL
wxDEFAULT_FRAME_STYLE | wxTAB_TRAVERSAL),
processStatusHandler(&updater),
mainDialog(parentWindow),
@@ -391,12 +514,15 @@ SyncStatusImpl::SyncStatusImpl(StatusHandler& updater, wxWindow* parentWindow) :
currentObjects(0),
currentData(0),
scalingFactor(0),
+ scannedObjects(0),
processPaused(false),
currentStatus(SyncStatus::ABORTED),
- statistics(NULL),
lastStatCallSpeed(-1000000), //some big number
lastStatCallRemTime(-1000000)
{
+ if (mainDialog) //save old title (will be used as progress indicator)
+ titelTextBackup = mainDialog->GetTitle();
+
m_animationControl1->SetAnimation(*GlobalResources::getInstance().animationSync);
m_animationControl1->Play();
@@ -407,18 +533,26 @@ SyncStatusImpl::SyncStatusImpl(StatusHandler& updater, wxWindow* parentWindow) :
m_gauge1->SetRange(50000);
m_gauge1->SetValue(0);
- m_buttonAbort->SetFocus();
+ if (IsShown()) //don't steal focus when starting in sys-tray!
+ m_buttonAbort->SetFocus();
if (mainDialog) //disable (main) window while this status dialog is shown
mainDialog->Disable();
timeElapsed.Start(); //measure total time
+#ifdef FFS_WIN
+ try //try to get access to Windows 7 Taskbar
+ {
+ taskbar_.reset(new Utility::TaskbarProgress(mainDialog != NULL ? *mainDialog : *this));
+ }
+ catch (const Utility::TaskbarNotAvailable&) {}
+#endif
+
//hide "processed" statistics until end of process
bSizerObjectsProcessed->Show(false);
bSizerDataProcessed->Show(false);
-
SetIcon(*GlobalResources::getInstance().programIcon); //set application icon
//register key event
@@ -426,21 +560,24 @@ SyncStatusImpl::SyncStatusImpl(StatusHandler& updater, wxWindow* parentWindow) :
}
-SyncStatusImpl::~SyncStatusImpl()
+SyncStatus::SyncStatusImpl::~SyncStatusImpl()
{
if (mainDialog)
{
+ //restore title text
+ mainDialog->SetTitle(titelTextBackup);
+
mainDialog->Enable();
mainDialog->Raise();
mainDialog->SetFocus();
}
if (minimizedToSysTray.get())
- minimizedToSysTray->keepHidden(); //avoid window flashing shortly before it is destroyed
+ minimizedToSysTray->keepHidden(); //prevent window from flashing shortly before it is destroyed
}
-void SyncStatusImpl::OnKeyPressed(wxKeyEvent& event)
+void SyncStatus::SyncStatusImpl::OnKeyPressed(wxKeyEvent& event)
{
const int keyCode = event.GetKeyCode();
if (keyCode == WXK_ESCAPE)
@@ -450,7 +587,7 @@ void SyncStatusImpl::OnKeyPressed(wxKeyEvent& event)
}
-void SyncStatusImpl::resetGauge(int totalObjectsToProcess, wxLongLong totalDataToProcess)
+void SyncStatus::SyncStatusImpl::resetGauge(int totalObjectsToProcess, wxLongLong totalDataToProcess)
{
currentData = 0;
totalData = totalDataToProcess;
@@ -470,52 +607,117 @@ void SyncStatusImpl::resetGauge(int totalObjectsToProcess, wxLongLong totalDataT
}
-void SyncStatusImpl::incProgressIndicator_NoUpdate(int objectsProcessed, wxLongLong dataProcessed)
+void SyncStatus::SyncStatusImpl::incProgressIndicator_NoUpdate(int objectsProcessed, wxLongLong dataProcessed)
{
currentData += dataProcessed;
currentObjects += objectsProcessed;
}
-void SyncStatusImpl::setStatusText_NoUpdate(const Zstring& text)
+void SyncStatus::SyncStatusImpl::incScannedObjects_NoUpdate(int number)
{
- currentStatusText = text;
+ scannedObjects += number;
}
-void SyncStatusImpl::updateStatusDialogNow()
+void SyncStatus::SyncStatusImpl::setStatusText_NoUpdate(const Zstring& text)
{
- //static RetrieveStatistics statistic;
- //statistic.writeEntry(currentData, currentObjects);
+ currentStatusText = text;
+}
+
+void SyncStatus::SyncStatusImpl::showProgressExternally(const wxString& progressText, float percent)
+{
//write status information to systray, if window is minimized
if (minimizedToSysTray.get())
+ minimizedToSysTray->setToolTip(progressText, percent);
+ //minimizedToSysTray may be a zombie... so set title text anyway
+
+ if (mainDialog) //show percentage in maindialog title (and thereby in taskbar)
+ {
+ if (mainDialog->GetTitle() != progressText)
+ mainDialog->SetTitle(progressText);
+ }
+ else //show percentage in this dialog's title (and thereby in taskbar)
+ {
+ if (this->GetTitle() != progressText)
+ this->SetTitle(progressText);
+ }
+
+#ifdef FFS_WIN
+ using namespace Utility;
+
+ //show progress on Windows 7 taskbar
+ if (taskbar_.get())
+ {
+ const size_t current = 100000 * percent / 100;
+ const size_t total = 100000;
+
switch (currentStatus)
{
case SyncStatus::SCANNING:
- minimizedToSysTray->setToolTip(wxString(wxT("FreeFileSync - ")) + wxString(_("Scanning...")));
- //+ wxT(" ") + globalFunctions::numberToWxString(currentObjects));
+ taskbar_->setStatus(TaskbarProgress::STATUS_INDETERMINATE);
break;
+ case SyncStatus::FINISHED_WITH_SUCCESS:
case SyncStatus::COMPARING_CONTENT:
- minimizedToSysTray->setToolTip(wxString(wxT("FreeFileSync - ")) + wxString(_("Comparing content...")) + wxT(" ") +
- formatPercentage(currentData, totalData), currentData.ToDouble() * 100 / totalData.ToDouble());
- break;
case SyncStatus::SYNCHRONIZING:
- minimizedToSysTray->setToolTip(wxString(wxT("FreeFileSync - ")) + wxString(_("Synchronizing...")) + wxT(" ") +
- formatPercentage(currentData, totalData), currentData.ToDouble() * 100 / totalData.ToDouble());
+ taskbar_->setStatus(TaskbarProgress::STATUS_NORMAL);
+ taskbar_->setProgress(current, total);
+ break;
+ case SyncStatus::PAUSE:
+ taskbar_->setStatus(TaskbarProgress::STATUS_PAUSED);
+ taskbar_->setProgress(current, total);
break;
case SyncStatus::ABORTED:
- case SyncStatus::FINISHED_WITH_SUCCESS:
case SyncStatus::FINISHED_WITH_ERROR:
- case SyncStatus::PAUSE:
- minimizedToSysTray->setToolTip(wxT("FreeFileSync"));
+ taskbar_->setStatus(TaskbarProgress::STATUS_ERROR);
+ taskbar_->setProgress(current, total);
+ break;
}
+ }
+#endif
+}
+
+
+void SyncStatus::SyncStatusImpl::updateStatusDialogNow()
+{
+ //static RetrieveStatistics statistic;
+ //statistic.writeEntry(currentData, currentObjects);
- //write regular status information (if dialog is visible or not)
+ //write status information to systray, taskbar, parent title ect.
+ switch (currentStatus)
{
- wxWindowUpdateLocker dummy(this); //reduce display distortion
+ case SyncStatus::SCANNING:
+ showProgressExternally(numberToWxString(scannedObjects, true) + wxT(" - ") + _("Scanning..."));
+ break;
+ case SyncStatus::COMPARING_CONTENT:
+ showProgressExternally(formatPercentage(currentData, totalData) + wxT(" - ") + _("Comparing content..."),
+ currentData.ToDouble() * 100 / totalData.ToDouble());
+ break;
+ case SyncStatus::SYNCHRONIZING:
+ showProgressExternally(formatPercentage(currentData, totalData) + wxT(" - ") + _("Synchronizing..."),
+ currentData.ToDouble() * 100 / totalData.ToDouble());
+ break;
+ case SyncStatus::PAUSE:
+ showProgressExternally((totalData != 0 ? formatPercentage(currentData, totalData) + wxT(" - ") : wxString()) + _("Paused"),
+ currentData.ToDouble() * 100 / totalData.ToDouble());
+ break;
+ case SyncStatus::ABORTED:
+ showProgressExternally(_("Aborted"),
+ currentData.ToDouble() * 100 / totalData.ToDouble());
+ break;
+ case SyncStatus::FINISHED_WITH_SUCCESS:
+ case SyncStatus::FINISHED_WITH_ERROR:
+ showProgressExternally(_("Completed"),
+ currentData.ToDouble() * 100 / totalData.ToDouble());
+ break;
+ }
+
+ //write regular status information (whether dialog is visible or not)
+ {
+ //wxWindowUpdateLocker dummy(this); -> not needed
- bool screenChanged = false; //avoid screen flicker by calling layout() only if necessary
+ bool updateLayout = false; //avoid screen flicker by calling layout() only if necessary
//progress indicator
if (currentStatus == SyncStatus::SCANNING)
@@ -525,18 +727,16 @@ void SyncStatusImpl::updateStatusDialogNow()
//status text
const wxString statusTxt = zToWx(currentStatusText);
- if (m_textCtrlInfo->GetValue() != statusTxt && (screenChanged = true)) //avoid screen flicker
- m_textCtrlInfo->SetValue(statusTxt);
+ if (m_textCtrlInfo->GetValue() != statusTxt) //no layout update for status texts!
+ m_textCtrlInfo->ChangeValue(statusTxt);
//remaining objects
- const wxString remainingObjTmp = globalFunctions::numberToWxString(totalObjects - currentObjects);
- if (m_staticTextRemainingObj->GetLabel() != remainingObjTmp && (screenChanged = true)) //avoid screen flicker
- m_staticTextRemainingObj->SetLabel(remainingObjTmp);
+ const wxString remainingObjTmp = numberToWxString(totalObjects - currentObjects, true);
+ setNewText(remainingObjTmp, *m_staticTextRemainingObj, updateLayout);
//remaining bytes left for copy
const wxString remainingBytesTmp = FreeFileSync::formatFilesizeToShortString(totalData - currentData);
- if (m_staticTextDataRemaining->GetLabel() != remainingBytesTmp && (screenChanged = true)) //avoid screen flicker
- m_staticTextDataRemaining->SetLabel(remainingBytesTmp);
+ setNewText(remainingBytesTmp, *m_staticTextDataRemaining, updateLayout);
if (statistics.get())
{
@@ -547,53 +747,47 @@ void SyncStatusImpl::updateStatusDialogNow()
statistics->addMeasurement(currentObjects, currentData.ToDouble());
//current speed
- const wxString speedTmp = statistics->getBytesPerSecond();
- if (m_staticTextSpeed->GetLabel() != speedTmp && (screenChanged = true)) //avoid screen flicker
- m_staticTextSpeed->SetLabel(speedTmp);
+ setNewText(statistics->getBytesPerSecond(), *m_staticTextSpeed, updateLayout);
if (timeElapsed.Time() - lastStatCallRemTime >= 2000) //call method every two seconds only
{
lastStatCallRemTime = timeElapsed.Time();
//remaining time
- const wxString timeRemainingTmp = statistics->getRemainingTime();
- if (m_staticTextTimeRemaining->GetLabel() != timeRemainingTmp && (screenChanged = true)) //avoid screen flicker
- m_staticTextTimeRemaining->SetLabel(timeRemainingTmp);
+ setNewText(statistics->getRemainingTime(), *m_staticTextTimeRemaining, updateLayout);
}
}
}
//time elapsed
- const wxString timeElapsedTmp = wxTimeSpan::Milliseconds(timeElapsed.Time()).Format();
- if (m_staticTextTimeElapsed->GetLabel() != timeElapsedTmp && (screenChanged = true)) //avoid screen flicker
- m_staticTextTimeElapsed->SetLabel(timeElapsedTmp);
-
+ setNewText(wxTimeSpan::Milliseconds(timeElapsed.Time()).Format(), *m_staticTextTimeElapsed, updateLayout);
//do the ui update
- if (screenChanged)
+ if (updateLayout)
{
bSizer28->Layout();
bSizer31->Layout();
}
}
- updateUiNow();
-//support for pause button
+ //support for pause button
while (processPaused && currentProcessIsRunning())
{
wxMilliSleep(UI_UPDATE_INTERVAL);
updateUiNow();
}
+
+ updateUiNow();
}
-bool SyncStatusImpl::currentProcessIsRunning()
+bool SyncStatus::SyncStatusImpl::currentProcessIsRunning()
{
return processStatusHandler != NULL;
}
-void SyncStatusImpl::setCurrentStatus(SyncStatus::SyncStatusID id)
+void SyncStatus::SyncStatusImpl::setCurrentStatus(SyncStatus::SyncStatusID id)
{
switch (id)
{
@@ -638,7 +832,7 @@ void SyncStatusImpl::setCurrentStatus(SyncStatus::SyncStatusID id)
}
-void SyncStatusImpl::processHasFinished(SyncStatus::SyncStatusID id, const wxString& finalMessage) //essential to call this in StatusHandler derived class destructor
+void SyncStatus::SyncStatusImpl::processHasFinished(SyncStatus::SyncStatusID id, const wxString& finalMessage) //essential to call this in StatusHandler derived class destructor
{
//at the LATEST(!) to prevent access to currentStatusHandler
//enable okay and close events; may be set in this method ONLY
@@ -654,7 +848,10 @@ void SyncStatusImpl::processHasFinished(SyncStatus::SyncStatusID id, const wxStr
m_buttonPause->Disable();
m_buttonPause->Hide();
m_buttonOK->Show();
- m_buttonOK->SetFocus();
+ m_buttonOK->Enable();
+
+ if (IsShown()) //don't steal focus when residing in sys-tray!
+ m_buttonOK->SetFocus();
m_animationControl1->Stop();
m_animationControl1->Hide();
@@ -676,7 +873,7 @@ void SyncStatusImpl::processHasFinished(SyncStatus::SyncStatusID id, const wxStr
bSizerObjectsProcessed->Show(true);
bSizerDataProcessed ->Show(true);
- m_staticTextProcessedObj->SetLabel(globalFunctions::numberToWxString(currentObjects));
+ m_staticTextProcessedObj->SetLabel(numberToWxString(currentObjects, true));
m_staticTextDataProcessed->SetLabel(FreeFileSync::formatFilesizeToShortString(currentData));
}
}
@@ -684,16 +881,24 @@ void SyncStatusImpl::processHasFinished(SyncStatus::SyncStatusID id, const wxStr
updateStatusDialogNow(); //keep this sequence to avoid display distortion, if e.g. only 1 item is sync'ed
m_textCtrlInfo->SetValue(finalMessage); //
Layout(); //
+
+ Raise();
+}
+
+
+void SyncStatus::SyncStatusImpl::OnOkay(wxCommandEvent& event)
+{
+ Close(); //generate close event: do NOT destroy window unconditionally!
}
-void SyncStatusImpl::OnOkay(wxCommandEvent& event)
+void SyncStatus::SyncStatusImpl::OnAbort(wxCommandEvent& event)
{
- if (!currentProcessIsRunning()) Destroy();
+ Close(); //generate close event: do NOT destroy window unconditionally!
}
-void SyncStatusImpl::OnPause(wxCommandEvent& event)
+void SyncStatus::SyncStatusImpl::OnPause(wxCommandEvent& event)
{
static SyncStatus::SyncStatusID previousStatus = SyncStatus::ABORTED;
@@ -726,7 +931,7 @@ void SyncStatusImpl::OnPause(wxCommandEvent& event)
}
-void SyncStatusImpl::OnAbort(wxCommandEvent& event)
+void SyncStatus::SyncStatusImpl::OnClose(wxCloseEvent& event)
{
processPaused = false;
if (currentProcessIsRunning())
@@ -741,33 +946,25 @@ void SyncStatusImpl::OnAbort(wxCommandEvent& event)
processStatusHandler->requestAbortion();
}
-}
-
-
-void SyncStatusImpl::OnClose(wxCloseEvent& event)
-{
- processPaused = false;
- if (processStatusHandler)
- processStatusHandler->requestAbortion();
else
Destroy();
}
-void SyncStatusImpl::OnIconize(wxIconizeEvent& event)
+void SyncStatus::SyncStatusImpl::OnIconize(wxIconizeEvent& event)
{
if (event.Iconized()) //ATTENTION: iconize event is also triggered on "Restore"! (at least under Linux)
minimizeToTray();
}
-void SyncStatusImpl::minimizeToTray()
+void SyncStatus::SyncStatusImpl::minimizeToTray()
{
minimizedToSysTray.reset(new MinimizeToTray(this, mainDialog));
}
-void SyncStatusImpl::resumeFromSystray()
+void SyncStatus::SyncStatusImpl::resumeFromSystray()
{
minimizedToSysTray.reset();
}
diff --git a/ui/progressIndicator.h b/ui/progressIndicator.h
index 78044653..b6964fe6 100644
--- a/ui/progressIndicator.h
+++ b/ui/progressIndicator.h
@@ -8,22 +8,20 @@
#define PROGRESSINDICATOR_H_INCLUDED
#include "../shared/zstring.h"
-#include <wx/window.h>
-
-class CompareStatusImpl;
-class SyncStatusImpl;
-class StatusHandler;
+#include <wx/toplevel.h>
+#include "../library/statusHandler.h"
class CompareStatus
{
public:
- CompareStatus(wxWindow& parentWindow); //CompareStatus will be owned by parentWindow!
+ CompareStatus(wxTopLevelWindow& parentWindow); //CompareStatus will be owned by parentWindow!
~CompareStatus();
wxWindow* getAsWindow(); //convenience! don't abuse!
- void init(); //initialize all status values
+ void init(); //make visible, initialize all status values
+ void finalize(); //hide again
void switchToCompareBytewise(int totalObjectsToProcess, wxLongLong totalDataToProcess);
void incScannedObjects_NoUpdate(int number);
@@ -32,6 +30,7 @@ public:
void updateStatusPanelNow();
private:
+ class CompareStatusImpl;
CompareStatusImpl* const pimpl;
};
@@ -40,7 +39,7 @@ class SyncStatus
{
public:
SyncStatus(StatusHandler& updater,
- wxWindow* parentWindow, //may be NULL
+ wxTopLevelWindow* parentWindow, //may be NULL
bool startSilent);
~SyncStatus();
@@ -58,6 +57,7 @@ public:
};
void resetGauge(int totalObjectsToProcess, wxLongLong totalDataToProcess);
+ void incScannedObjects_NoUpdate(int number);
void incProgressIndicator_NoUpdate(int objectsProcessed, wxLongLong dataProcessed);
void setStatusText_NoUpdate(const Zstring& text);
void updateStatusDialogNow();
@@ -70,6 +70,7 @@ public:
void closeWindowDirectly(); //don't wait for user
private:
+ class SyncStatusImpl;
SyncStatusImpl* const pimpl;
};
diff --git a/ui/search.cpp b/ui/search.cpp
index 494be608..418ef2ac 100644
--- a/ui/search.cpp
+++ b/ui/search.cpp
@@ -198,11 +198,15 @@ void executeSearch(bool forceShowDialog,
wxGrid& leftGrid,
wxGrid& rightGrid)
{
+ bool searchDialogWasShown = false;
+
if (forceShowDialog || lastSearchString.IsEmpty())
{
SearchDlg* searchDlg = new SearchDlg(parentWindow, lastSearchString, respectCase); //wxWidgets deletion handling -> deleted by parentWindow
if (static_cast<SearchDlg::ReturnCodes>(searchDlg->ShowModal()) != SearchDlg::BUTTON_OKAY)
return;
+
+ searchDialogWasShown = true;
}
wxGrid* targetGrid = NULL; //filled if match is found
@@ -246,7 +250,8 @@ void executeSearch(bool forceShowDialog,
wxMessageBox(messageNotFound, _("Find"), wxOK);
//show search dialog again
- executeSearch(true, respectCase, parentWindow, leftGrid, rightGrid);
+ if (searchDialogWasShown)
+ executeSearch(true, respectCase, parentWindow, leftGrid, rightGrid);
}
}
//###########################################################################################
diff --git a/ui/settingsDialog.cpp b/ui/settingsDialog.cpp
index 754f9e01..5199b987 100644
--- a/ui/settingsDialog.cpp
+++ b/ui/settingsDialog.cpp
@@ -11,7 +11,7 @@
#include "../shared/customButton.h"
#include "../synchronization.h"
#include "../shared/stringConv.h"
-#include "util.h"
+#include "../shared/util.h"
#include <wx/dnd.h>
#include "../shared/dragAndDrop.h"
#include "../shared/fileHandling.h"
@@ -874,10 +874,9 @@ void BatchDialog::showNotebookpage(wxWindow* page, const wxString& pageName, boo
{
int windowPosition = -1;
for (size_t i = 0; i < m_notebookSettings->GetPageCount(); ++i)
- if ( static_cast<wxWindow*>(m_notebookSettings->GetPage(i)) ==
- static_cast<wxWindow*>(page))
+ if (m_notebookSettings->GetPage(i) == page)
{
- windowPosition = i;
+ windowPosition = static_cast<int>(i);
break;
}
@@ -1260,8 +1259,8 @@ void BatchDialog::addFolderPair(const std::vector<FreeFileSync::FolderPairEnh>&
i->localFilter);
}
//set size of scrolled window
- const int visiblePairs = std::min(additionalFolderPairs.size() + 1, MAX_FOLDER_PAIRS); //up to MAX_FOLDER_PAIRS pairs shall be shown
- m_scrolledWindow6->SetMinSize(wxSize( -1, pairHeight * visiblePairs));
+ const size_t visiblePairs = std::min(additionalFolderPairs.size() + 1, MAX_FOLDER_PAIRS); //up to MAX_FOLDER_PAIRS pairs shall be shown
+ m_scrolledWindow6->SetMinSize(wxSize( -1, pairHeight * static_cast<int>(visiblePairs)));
//update controls
m_scrolledWindow6->Fit(); //adjust scrolled window size
@@ -1291,8 +1290,8 @@ void BatchDialog::removeAddFolderPair(const int pos)
additionalFolderPairs.erase(additionalFolderPairs.begin() + pos); //remove last element in vector
//set size of scrolled window
- const int visiblePairs = std::min(additionalFolderPairs.size() + 1, MAX_FOLDER_PAIRS); //up to MAX_FOLDER_PAIRS pairs shall be shown
- m_scrolledWindow6->SetMinSize(wxSize(-1, pairHeight * visiblePairs));
+ const size_t visiblePairs = std::min(additionalFolderPairs.size() + 1, MAX_FOLDER_PAIRS); //up to MAX_FOLDER_PAIRS pairs shall be shown
+ m_scrolledWindow6->SetMinSize(wxSize(-1, pairHeight * static_cast<int>(visiblePairs)));
//update controls
m_scrolledWindow6->Fit(); //adjust scrolled window size
diff --git a/ui/trayIcon.cpp b/ui/trayIcon.cpp
index b7f74d1d..554309ca 100644
--- a/ui/trayIcon.cpp
+++ b/ui/trayIcon.cpp
@@ -123,7 +123,7 @@ private:
//event handling
contextMenu->Connect(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MinimizeToTray::OnContextMenuSelection), NULL, parent_);
- return contextMenu; //ownership transferred to library
+ return contextMenu; //ownership transferred to caller
}
MinimizeToTray* parent_;
@@ -167,12 +167,12 @@ void MinimizeToTray::resumeFromTray() //remove trayIcon and restore windows: Mi
}
trayIcon->RemoveIcon(); //hide icon until final deletion takes place
trayIcon->Disconnect(wxEVT_TASKBAR_LEFT_DCLICK, wxCommandEventHandler(MinimizeToTray::OnDoubleClick), NULL, this);
+ trayIcon->parentHasDied(); //TaskBarImpl (potentially) has longer lifetime than MinimizeToTray: avoid callback!
//use wxWidgets delayed destruction: delete during next idle loop iteration (handle late window messages, e.g. when double-clicking)
if (!wxPendingDelete.Member(trayIcon))
wxPendingDelete.Append(trayIcon);
- trayIcon->parentHasDied(); //TaskBarImpl (potentially) has longer lifetime than MinimizeToTray: avoid callback!
trayIcon = NULL; //avoid reentrance
}
}
diff --git a/version/version.h b/version/version.h
index f46f01bd..051e98f3 100644
--- a/version/version.h
+++ b/version/version.h
@@ -1,12 +1,6 @@
-// **************************************************************************
-// * This file is part of the FreeFileSync project. It is distributed under *
-// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
-// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) *
-// **************************************************************************
-//
#include <wx/string.h>
namespace FreeFileSync
{
- static const wxString currentVersion = wxT("3.4"); //internal linkage!
+ static const wxString currentVersion = wxT("3.5"); //internal linkage!
}
bgstack15