diff --git a/docs/_example-1.html b/docs/_example-1.html
index 7eb126b..307d61f 100644
--- a/docs/_example-1.html
+++ b/docs/_example-1.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -67,7 +67,7 @@ $(function() {
diff --git a/docs/_example-2.html b/docs/_example-2.html
index e44cf86..1d2516f 100644
--- a/docs/_example-2.html
+++ b/docs/_example-2.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -67,7 +67,7 @@ $(function() {
diff --git a/docs/_example-3.html b/docs/_example-3.html
index 9a7787e..3e3f6a3 100644
--- a/docs/_example-3.html
+++ b/docs/_example-3.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -96,7 +96,7 @@ Text "A Midsummer Night's Dream"
diff --git a/docs/_example-4.html b/docs/_example-4.html
index 67795e6..76b73b2 100644
--- a/docs/_example-4.html
+++ b/docs/_example-4.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -73,7 +73,7 @@ $(function() {
diff --git a/docs/annotated.html b/docs/annotated.html
index 14c03a1..5f12592 100644
--- a/docs/annotated.html
+++ b/docs/annotated.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -83,7 +83,7 @@ $(function() {
diff --git a/docs/classes.html b/docs/classes.html
index 88b580a..7b39351 100644
--- a/docs/classes.html
+++ b/docs/classes.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -75,7 +75,7 @@ $(function() {
diff --git a/docs/classtinyxml2_1_1_x_m_l_attribute-members.html b/docs/classtinyxml2_1_1_x_m_l_attribute-members.html
index 4eb1504..2335976 100644
--- a/docs/classtinyxml2_1_1_x_m_l_attribute-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_attribute-members.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -95,7 +95,7 @@ $(function() {
diff --git a/docs/classtinyxml2_1_1_x_m_l_attribute.html b/docs/classtinyxml2_1_1_x_m_l_attribute.html
index d147670..e483aa0 100644
--- a/docs/classtinyxml2_1_1_x_m_l_attribute.html
+++ b/docs/classtinyxml2_1_1_x_m_l_attribute.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -215,7 +215,7 @@ void
diff --git a/docs/classtinyxml2_1_1_x_m_l_comment-members.html b/docs/classtinyxml2_1_1_x_m_l_comment-members.html
index 7465cb1..97bb67c 100644
--- a/docs/classtinyxml2_1_1_x_m_l_comment-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_comment-members.html
@@ -22,7 +22,7 @@
|
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -105,7 +105,7 @@ $(function() {
diff --git a/docs/classtinyxml2_1_1_x_m_l_comment.html b/docs/classtinyxml2_1_1_x_m_l_comment.html
index 66df8c1..8bc4f65 100644
--- a/docs/classtinyxml2_1_1_x_m_l_comment.html
+++ b/docs/classtinyxml2_1_1_x_m_l_comment.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -292,7 +292,7 @@ const char* xmlcstr = printer.CStr();
diff --git a/docs/classtinyxml2_1_1_x_m_l_const_handle-members.html b/docs/classtinyxml2_1_1_x_m_l_const_handle-members.html
index 6b25d49..870953f 100644
--- a/docs/classtinyxml2_1_1_x_m_l_const_handle-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_const_handle-members.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -73,7 +73,7 @@ $(function() {
diff --git a/docs/classtinyxml2_1_1_x_m_l_const_handle.html b/docs/classtinyxml2_1_1_x_m_l_const_handle.html
index 0b2c8b6..51ff720 100644
--- a/docs/classtinyxml2_1_1_x_m_l_const_handle.html
+++ b/docs/classtinyxml2_1_1_x_m_l_const_handle.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -79,7 +79,7 @@ $(function() {
diff --git a/docs/classtinyxml2_1_1_x_m_l_declaration-members.html b/docs/classtinyxml2_1_1_x_m_l_declaration-members.html
index 4e1bee2..d3e4860 100644
--- a/docs/classtinyxml2_1_1_x_m_l_declaration-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_declaration-members.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -105,7 +105,7 @@ $(function() {
diff --git a/docs/classtinyxml2_1_1_x_m_l_declaration.html b/docs/classtinyxml2_1_1_x_m_l_declaration.html
index 1aa2eab..859fba2 100644
--- a/docs/classtinyxml2_1_1_x_m_l_declaration.html
+++ b/docs/classtinyxml2_1_1_x_m_l_declaration.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -294,7 +294,7 @@ const char* xmlcstr = printer.CStr();
diff --git a/docs/classtinyxml2_1_1_x_m_l_document-members.html b/docs/classtinyxml2_1_1_x_m_l_document-members.html
index 9cf0e27..ef50965 100644
--- a/docs/classtinyxml2_1_1_x_m_l_document-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_document-members.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -73,63 +73,62 @@ $(function() {
| Accept(XMLVisitor *visitor) const | tinyxml2::XMLDocument | virtual |
| Clear() | tinyxml2::XMLDocument | |
| DeepClone(XMLDocument *target) const | tinyxml2::XMLNode | |
- | DeepCopy(XMLDocument *target) | tinyxml2::XMLDocument | |
+ | DeepCopy(XMLDocument *target) const | tinyxml2::XMLDocument | |
| DeleteChild(XMLNode *node) | tinyxml2::XMLNode | |
| DeleteChildren() | tinyxml2::XMLNode | |
| DeleteNode(XMLNode *node) | tinyxml2::XMLDocument | |
| Error() const | tinyxml2::XMLDocument | inline |
| ErrorID() const | tinyxml2::XMLDocument | inline |
+ | ErrorLineNum() const | tinyxml2::XMLDocument | inline |
+ | ErrorStr() const | tinyxml2::XMLDocument | |
| FirstChild() const | tinyxml2::XMLNode | inline |
| FirstChildElement(const char *name=0) const | tinyxml2::XMLNode | |
| GetDocument() const | tinyxml2::XMLNode | inline |
| GetDocument() | tinyxml2::XMLNode | inline |
- | GetErrorLineNum() const | tinyxml2::XMLDocument | inline |
- | GetErrorStr1() const | tinyxml2::XMLDocument | |
- | GetErrorStr2() const | tinyxml2::XMLDocument | |
- | GetLineNum() const | tinyxml2::XMLNode | inline |
- | GetUserData() const | tinyxml2::XMLNode | inline |
- | HasBOM() const | tinyxml2::XMLDocument | inline |
- | InsertAfterChild(XMLNode *afterThis, XMLNode *addThis) | tinyxml2::XMLNode | |
- | InsertEndChild(XMLNode *addThis) | tinyxml2::XMLNode | |
- | InsertFirstChild(XMLNode *addThis) | tinyxml2::XMLNode | |
- | LastChild() const | tinyxml2::XMLNode | inline |
- | LastChildElement(const char *name=0) const | tinyxml2::XMLNode | |
- | LoadFile(const char *filename) | tinyxml2::XMLDocument | |
- | LoadFile(FILE *) | tinyxml2::XMLDocument | |
- | NewComment(const char *comment) | tinyxml2::XMLDocument | |
- | NewDeclaration(const char *text=0) | tinyxml2::XMLDocument | |
- | NewElement(const char *name) | tinyxml2::XMLDocument | |
- | NewText(const char *text) | tinyxml2::XMLDocument | |
- | NewUnknown(const char *text) | tinyxml2::XMLDocument | |
- | NextSibling() const | tinyxml2::XMLNode | inline |
- | NextSiblingElement(const char *name=0) const | tinyxml2::XMLNode | |
- | NoChildren() const | tinyxml2::XMLNode | inline |
- | Parent() const | tinyxml2::XMLNode | inline |
- | Parse(const char *xml, size_t nBytes=(size_t)(-1)) | tinyxml2::XMLDocument | |
- | PreviousSibling() const | tinyxml2::XMLNode | inline |
- | PreviousSiblingElement(const char *name=0) const | tinyxml2::XMLNode | |
- | Print(XMLPrinter *streamer=0) const | tinyxml2::XMLDocument | |
- | PrintError() const | tinyxml2::XMLDocument | |
- | RootElement() | tinyxml2::XMLDocument | inline |
- | SaveFile(const char *filename, bool compact=false) | tinyxml2::XMLDocument | |
- | SaveFile(FILE *fp, bool compact=false) | tinyxml2::XMLDocument | |
- | SetBOM(bool useBOM) | tinyxml2::XMLDocument | inline |
- | SetUserData(void *userData) | tinyxml2::XMLNode | inline |
- | SetValue(const char *val, bool staticMem=false) | tinyxml2::XMLNode | |
- | ShallowClone(XMLDocument *) const | tinyxml2::XMLDocument | inlinevirtual |
- | ShallowEqual(const XMLNode *) const | tinyxml2::XMLDocument | inlinevirtual |
- | ToComment() | tinyxml2::XMLNode | inlinevirtual |
- | ToDeclaration() | tinyxml2::XMLNode | inlinevirtual |
- | ToDocument() | tinyxml2::XMLDocument | inlinevirtual |
- | ToElement() | tinyxml2::XMLNode | inlinevirtual |
- | ToText() | tinyxml2::XMLNode | inlinevirtual |
- | ToUnknown() | tinyxml2::XMLNode | inlinevirtual |
- | Value() const | tinyxml2::XMLNode | |
- | XMLDocument(bool processEntities=true, Whitespace whitespaceMode=PRESERVE_WHITESPACE) | tinyxml2::XMLDocument | |
+ | GetLineNum() const | tinyxml2::XMLNode | inline |
+ | GetUserData() const | tinyxml2::XMLNode | inline |
+ | HasBOM() const | tinyxml2::XMLDocument | inline |
+ | InsertAfterChild(XMLNode *afterThis, XMLNode *addThis) | tinyxml2::XMLNode | |
+ | InsertEndChild(XMLNode *addThis) | tinyxml2::XMLNode | |
+ | InsertFirstChild(XMLNode *addThis) | tinyxml2::XMLNode | |
+ | LastChild() const | tinyxml2::XMLNode | inline |
+ | LastChildElement(const char *name=0) const | tinyxml2::XMLNode | |
+ | LoadFile(const char *filename) | tinyxml2::XMLDocument | |
+ | LoadFile(FILE *) | tinyxml2::XMLDocument | |
+ | NewComment(const char *comment) | tinyxml2::XMLDocument | |
+ | NewDeclaration(const char *text=0) | tinyxml2::XMLDocument | |
+ | NewElement(const char *name) | tinyxml2::XMLDocument | |
+ | NewText(const char *text) | tinyxml2::XMLDocument | |
+ | NewUnknown(const char *text) | tinyxml2::XMLDocument | |
+ | NextSibling() const | tinyxml2::XMLNode | inline |
+ | NextSiblingElement(const char *name=0) const | tinyxml2::XMLNode | |
+ | NoChildren() const | tinyxml2::XMLNode | inline |
+ | Parent() const | tinyxml2::XMLNode | inline |
+ | Parse(const char *xml, size_t nBytes=(size_t)(-1)) | tinyxml2::XMLDocument | |
+ | PreviousSibling() const | tinyxml2::XMLNode | inline |
+ | PreviousSiblingElement(const char *name=0) const | tinyxml2::XMLNode | |
+ | Print(XMLPrinter *streamer=0) const | tinyxml2::XMLDocument | |
+ | PrintError() const | tinyxml2::XMLDocument | |
+ | RootElement() | tinyxml2::XMLDocument | inline |
+ | SaveFile(const char *filename, bool compact=false) | tinyxml2::XMLDocument | |
+ | SaveFile(FILE *fp, bool compact=false) | tinyxml2::XMLDocument | |
+ | SetBOM(bool useBOM) | tinyxml2::XMLDocument | inline |
+ | SetUserData(void *userData) | tinyxml2::XMLNode | inline |
+ | SetValue(const char *val, bool staticMem=false) | tinyxml2::XMLNode | |
+ | ShallowClone(XMLDocument *) const | tinyxml2::XMLDocument | inlinevirtual |
+ | ShallowEqual(const XMLNode *) const | tinyxml2::XMLDocument | inlinevirtual |
+ | ToComment() | tinyxml2::XMLNode | inlinevirtual |
+ | ToDeclaration() | tinyxml2::XMLNode | inlinevirtual |
+ | ToDocument() | tinyxml2::XMLDocument | inlinevirtual |
+ | ToElement() | tinyxml2::XMLNode | inlinevirtual |
+ | ToText() | tinyxml2::XMLNode | inlinevirtual |
+ | ToUnknown() | tinyxml2::XMLNode | inlinevirtual |
+ | Value() const | tinyxml2::XMLNode | |
+ | XMLDocument(bool processEntities=true, Whitespace whitespaceMode=PRESERVE_WHITESPACE) | tinyxml2::XMLDocument | |
diff --git a/docs/classtinyxml2_1_1_x_m_l_document.html b/docs/classtinyxml2_1_1_x_m_l_document.html
index 0e1c409..fea9888 100644
--- a/docs/classtinyxml2_1_1_x_m_l_document.html
+++ b/docs/classtinyxml2_1_1_x_m_l_document.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -132,28 +132,22 @@ bool ErrorID () const |
| | Return the errorID.
|
| |
-|
-const char * | GetErrorStr1 () const |
-| | Return a possibly helpful diagnostic location or string.
|
-| |
-|
-const char * | GetErrorStr2 () const |
-| | Return a possibly helpful secondary diagnostic location or string.
|
-| |
-|
-int | GetErrorLineNum () const |
-| | Return the line where the error occured, or zero if unknown.
|
-| |
+| const char * | ErrorStr () const |
+| |
|
void | PrintError () const |
-| | If there is an error, print it to stdout.
|
+| | A (trivial) utility function that prints the ErrorStr() to stdout.
|
| |
+|
+int | ErrorLineNum () const |
+| | Return the line where the error occured, or zero if unknown.
|
+| |
|
void | Clear () |
| | Clear the document, resetting it to the initial state.
|
| |
-| void | DeepCopy (XMLDocument *target) |
-| |
+| void | DeepCopy (XMLDocument *target) const |
+| |
| virtual XMLNode * | ShallowClone (XMLDocument *) const |
| |
| virtual bool | ShallowEqual (const XMLNode *) const |
@@ -290,8 +284,8 @@ const char* xmlcstr = printer.CStr();
-
-◆ DeepCopy()
+
+◆ DeepCopy()
@@ -301,7 +295,7 @@ const char* xmlcstr = printer.CStr();
( |
XMLDocument * |
target | ) |
-
|
+
const |
@@ -327,6 +321,24 @@ const char* xmlcstr = printer.CStr();
Delete a node associated with this document. It will be unlinked from the DOM.
+
+
+
+◆ ErrorStr()
+
+
+
+
+
+ | const char* tinyxml2::XMLDocument::ErrorStr |
+ ( |
+ | ) |
+ const |
+
+
+
+
Returns a "long form" error description. A hopefully helpful diagnostic with location, line number, and/or additional info.
+
@@ -722,7 +734,7 @@ doc.Print( &printer );
diff --git a/docs/classtinyxml2_1_1_x_m_l_element-members.html b/docs/classtinyxml2_1_1_x_m_l_element-members.html
index 276d6f9..da4c930 100644
--- a/docs/classtinyxml2_1_1_x_m_l_element-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_element-members.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -150,7 +150,7 @@ $(function() {
diff --git a/docs/classtinyxml2_1_1_x_m_l_element.html b/docs/classtinyxml2_1_1_x_m_l_element.html
index b6e8d70..94cf046 100644
--- a/docs/classtinyxml2_1_1_x_m_l_element.html
+++ b/docs/classtinyxml2_1_1_x_m_l_element.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -700,7 +700,7 @@ QueryIntAttribute( "foo", &value ); // if "foo" isn't found, value will
diff --git a/docs/classtinyxml2_1_1_x_m_l_handle-members.html b/docs/classtinyxml2_1_1_x_m_l_handle-members.html
index 24b4a12..9da3d5b 100644
--- a/docs/classtinyxml2_1_1_x_m_l_handle-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_handle-members.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -90,7 +90,7 @@ $(function() {
diff --git a/docs/classtinyxml2_1_1_x_m_l_handle.html b/docs/classtinyxml2_1_1_x_m_l_handle.html
index 7662050..d063857 100644
--- a/docs/classtinyxml2_1_1_x_m_l_handle.html
+++ b/docs/classtinyxml2_1_1_x_m_l_handle.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -181,7 +181,7 @@ if ( child2 )
diff --git a/docs/classtinyxml2_1_1_x_m_l_node-members.html b/docs/classtinyxml2_1_1_x_m_l_node-members.html
index 46d4609..818fa0e 100644
--- a/docs/classtinyxml2_1_1_x_m_l_node-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_node-members.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -105,7 +105,7 @@ $(function() {
diff --git a/docs/classtinyxml2_1_1_x_m_l_node.html b/docs/classtinyxml2_1_1_x_m_l_node.html
index aa1dc30..0524ae8 100644
--- a/docs/classtinyxml2_1_1_x_m_l_node.html
+++ b/docs/classtinyxml2_1_1_x_m_l_node.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -257,7 +257,7 @@ const char* xmlcstr = printer.CStr();
Make a copy of this node and all its children.
If the 'target' is null, then the nodes will be allocated in the current document. If 'target' is specified, the memory will be allocated is the specified XMLDocument.
-
NOTE: This is probably not the correct tool to copy a document, since XMLDocuments can have multiple top level XMLNodes. You probably want to use XMLDocument::DeepCopy()
+
NOTE: This is probably not the correct tool to copy a document, since XMLDocuments can have multiple top level XMLNodes. You probably want to use XMLDocument::DeepCopy()
@@ -573,7 +573,7 @@ Text: the text string
diff --git a/docs/classtinyxml2_1_1_x_m_l_printer-members.html b/docs/classtinyxml2_1_1_x_m_l_printer-members.html
index c22d03d..8bb479f 100644
--- a/docs/classtinyxml2_1_1_x_m_l_printer-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_printer-members.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -98,7 +98,7 @@ $(function() {
diff --git a/docs/classtinyxml2_1_1_x_m_l_printer.html b/docs/classtinyxml2_1_1_x_m_l_printer.html
index 693cce3..d175434 100644
--- a/docs/classtinyxml2_1_1_x_m_l_printer.html
+++ b/docs/classtinyxml2_1_1_x_m_l_printer.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -402,7 +402,7 @@ printer.CloseElement();
diff --git a/docs/classtinyxml2_1_1_x_m_l_text-members.html b/docs/classtinyxml2_1_1_x_m_l_text-members.html
index 10a7d08..0a281ab 100644
--- a/docs/classtinyxml2_1_1_x_m_l_text-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_text-members.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -107,7 +107,7 @@ $(function() {
diff --git a/docs/classtinyxml2_1_1_x_m_l_text.html b/docs/classtinyxml2_1_1_x_m_l_text.html
index 7a47230..b1e07b1 100644
--- a/docs/classtinyxml2_1_1_x_m_l_text.html
+++ b/docs/classtinyxml2_1_1_x_m_l_text.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -302,7 +302,7 @@ const char* xmlcstr = printer.CStr();
diff --git a/docs/classtinyxml2_1_1_x_m_l_unknown-members.html b/docs/classtinyxml2_1_1_x_m_l_unknown-members.html
index f22b3f1..97d5eed 100644
--- a/docs/classtinyxml2_1_1_x_m_l_unknown-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_unknown-members.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -105,7 +105,7 @@ $(function() {
diff --git a/docs/classtinyxml2_1_1_x_m_l_unknown.html b/docs/classtinyxml2_1_1_x_m_l_unknown.html
index 8bd53e4..bb7b77d 100644
--- a/docs/classtinyxml2_1_1_x_m_l_unknown.html
+++ b/docs/classtinyxml2_1_1_x_m_l_unknown.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -293,7 +293,7 @@ const char* xmlcstr = printer.CStr();
diff --git a/docs/classtinyxml2_1_1_x_m_l_visitor-members.html b/docs/classtinyxml2_1_1_x_m_l_visitor-members.html
index ca46ea1..b72cf10 100644
--- a/docs/classtinyxml2_1_1_x_m_l_visitor-members.html
+++ b/docs/classtinyxml2_1_1_x_m_l_visitor-members.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -81,7 +81,7 @@ $(function() {
diff --git a/docs/classtinyxml2_1_1_x_m_l_visitor.html b/docs/classtinyxml2_1_1_x_m_l_visitor.html
index 4e46128..e14a56f 100644
--- a/docs/classtinyxml2_1_1_x_m_l_visitor.html
+++ b/docs/classtinyxml2_1_1_x_m_l_visitor.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -130,7 +130,7 @@ virtual bool
diff --git a/docs/files.html b/docs/files.html
index afafea4..12b3e2a 100644
--- a/docs/files.html
+++ b/docs/files.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -71,7 +71,7 @@ $(function() {
diff --git a/docs/functions.html b/docs/functions.html
index 1e61737..f8d0998 100644
--- a/docs/functions.html
+++ b/docs/functions.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -117,7 +117,7 @@ $(function() {
: tinyxml2::XMLNode
DeepCopy()
-: tinyxml2::XMLDocument
+: tinyxml2::XMLDocument
DeleteAttribute()
: tinyxml2::XMLElement
@@ -150,6 +150,12 @@ $(function() {
ErrorID()
: tinyxml2::XMLDocument
+ErrorLineNum()
+: tinyxml2::XMLDocument
+
+ErrorStr()
+: tinyxml2::XMLDocument
+
@@ -184,15 +190,6 @@ $(function() {
GetDocument()
: tinyxml2::XMLNode
-GetErrorLineNum()
-: tinyxml2::XMLDocument
-
-GetErrorStr1()
-: tinyxml2::XMLDocument
-
-GetErrorStr2()
-: tinyxml2::XMLDocument
-
GetLineNum()
: tinyxml2::XMLAttribute
, tinyxml2::XMLNode
@@ -536,7 +533,7 @@ $(function() {
diff --git a/docs/functions_func.html b/docs/functions_func.html
index f82f7cb..48e103d 100644
--- a/docs/functions_func.html
+++ b/docs/functions_func.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -117,7 +117,7 @@ $(function() {
: tinyxml2::XMLNode
DeepCopy()
-: tinyxml2::XMLDocument
+: tinyxml2::XMLDocument
DeleteAttribute()
: tinyxml2::XMLElement
@@ -150,6 +150,12 @@ $(function() {
ErrorID()
: tinyxml2::XMLDocument
+ErrorLineNum()
+: tinyxml2::XMLDocument
+
+ErrorStr()
+: tinyxml2::XMLDocument
+
@@ -184,15 +190,6 @@ $(function() {
GetDocument()
: tinyxml2::XMLNode
-GetErrorLineNum()
-: tinyxml2::XMLDocument
-
-GetErrorStr1()
-: tinyxml2::XMLDocument
-
-GetErrorStr2()
-: tinyxml2::XMLDocument
-
GetLineNum()
: tinyxml2::XMLAttribute
, tinyxml2::XMLNode
@@ -536,7 +533,7 @@ $(function() {
diff --git a/docs/hierarchy.html b/docs/hierarchy.html
index 97c3cd4..f09879a 100644
--- a/docs/hierarchy.html
+++ b/docs/hierarchy.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -82,7 +82,7 @@ $(function() {
diff --git a/docs/index.html b/docs/index.html
index a3808ea..eff88ff 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -222,7 +222,7 @@ printer.CloseElement();
diff --git a/docs/pages.html b/docs/pages.html
index 2c1ae0f..8e51dfc 100644
--- a/docs/pages.html
+++ b/docs/pages.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -74,7 +74,7 @@ $(function() {
diff --git a/docs/search/all_3.js b/docs/search/all_3.js
index c24f73b..0c8c9f9 100644
--- a/docs/search/all_3.js
+++ b/docs/search/all_3.js
@@ -1,7 +1,7 @@
var searchData=
[
['deepclone',['DeepClone',['../classtinyxml2_1_1_x_m_l_node.html#a62c71b6bf8734b5424063b8d9a61c266',1,'tinyxml2::XMLNode']]],
- ['deepcopy',['DeepCopy',['../classtinyxml2_1_1_x_m_l_document.html#aab792e90adc38cdc5446616573b8b01b',1,'tinyxml2::XMLDocument']]],
+ ['deepcopy',['DeepCopy',['../classtinyxml2_1_1_x_m_l_document.html#af592ffc91514e25a39664521ac83db45',1,'tinyxml2::XMLDocument']]],
['deleteattribute',['DeleteAttribute',['../classtinyxml2_1_1_x_m_l_element.html#aebd45aa7118964c30b32fe12e944628a',1,'tinyxml2::XMLElement']]],
['deletechild',['DeleteChild',['../classtinyxml2_1_1_x_m_l_node.html#a363b6edbd6ebd55f8387d2b89f2b0921',1,'tinyxml2::XMLNode']]],
['deletechildren',['DeleteChildren',['../classtinyxml2_1_1_x_m_l_node.html#a0360085cc54df5bff85d5c5da13afdce',1,'tinyxml2::XMLNode']]],
diff --git a/docs/search/all_4.js b/docs/search/all_4.js
index eb6c1f6..47e3245 100644
--- a/docs/search/all_4.js
+++ b/docs/search/all_4.js
@@ -1,5 +1,7 @@
var searchData=
[
['error',['Error',['../classtinyxml2_1_1_x_m_l_document.html#a34e6318e182e40e3cc4f4ba5d59ed9ed',1,'tinyxml2::XMLDocument']]],
- ['errorid',['ErrorID',['../classtinyxml2_1_1_x_m_l_document.html#afa3ed33b3107f920ec2b301f805ac17d',1,'tinyxml2::XMLDocument']]]
+ ['errorid',['ErrorID',['../classtinyxml2_1_1_x_m_l_document.html#afa3ed33b3107f920ec2b301f805ac17d',1,'tinyxml2::XMLDocument']]],
+ ['errorlinenum',['ErrorLineNum',['../classtinyxml2_1_1_x_m_l_document.html#a57400f816dbe7799ece33615ead9ab76',1,'tinyxml2::XMLDocument']]],
+ ['errorstr',['ErrorStr',['../classtinyxml2_1_1_x_m_l_document.html#ad75aa9d32c4e8b300655186808aa9abf',1,'tinyxml2::XMLDocument']]]
];
diff --git a/docs/search/all_6.js b/docs/search/all_6.js
index 0d5723e..8fa5a24 100644
--- a/docs/search/all_6.js
+++ b/docs/search/all_6.js
@@ -2,9 +2,6 @@ var searchData=
[
['get_20information_20out_20of_20xml',['Get information out of XML',['../_example-3.html',1,'']]],
['getdocument',['GetDocument',['../classtinyxml2_1_1_x_m_l_node.html#a2de84cfa4ec3fe249bad745069d145f1',1,'tinyxml2::XMLNode::GetDocument() const'],['../classtinyxml2_1_1_x_m_l_node.html#af343d1ef0b45c0020e62d784d7e67a68',1,'tinyxml2::XMLNode::GetDocument()']]],
- ['geterrorlinenum',['GetErrorLineNum',['../classtinyxml2_1_1_x_m_l_document.html#ad82d07e43e096e834dbdfd06312398c1',1,'tinyxml2::XMLDocument']]],
- ['geterrorstr1',['GetErrorStr1',['../classtinyxml2_1_1_x_m_l_document.html#a229494e30e5473237f3fa547eee4c43f',1,'tinyxml2::XMLDocument']]],
- ['geterrorstr2',['GetErrorStr2',['../classtinyxml2_1_1_x_m_l_document.html#a2d952f49c761bffd2903250680a8716b',1,'tinyxml2::XMLDocument']]],
['getlinenum',['GetLineNum',['../classtinyxml2_1_1_x_m_l_node.html#a9b5fc636646fda761d342c72e91cb286',1,'tinyxml2::XMLNode::GetLineNum()'],['../classtinyxml2_1_1_x_m_l_attribute.html#a02d5ea924586e35f9c13857d1671b765',1,'tinyxml2::XMLAttribute::GetLineNum()']]],
['gettext',['GetText',['../classtinyxml2_1_1_x_m_l_element.html#a6d5c8d115561ade4e4456b71d91b6f51',1,'tinyxml2::XMLElement']]],
['getuserdata',['GetUserData',['../classtinyxml2_1_1_x_m_l_node.html#a7f0687574afa03bc479dc44f29db0afe',1,'tinyxml2::XMLNode']]]
diff --git a/docs/search/functions_3.js b/docs/search/functions_3.js
index c24f73b..0c8c9f9 100644
--- a/docs/search/functions_3.js
+++ b/docs/search/functions_3.js
@@ -1,7 +1,7 @@
var searchData=
[
['deepclone',['DeepClone',['../classtinyxml2_1_1_x_m_l_node.html#a62c71b6bf8734b5424063b8d9a61c266',1,'tinyxml2::XMLNode']]],
- ['deepcopy',['DeepCopy',['../classtinyxml2_1_1_x_m_l_document.html#aab792e90adc38cdc5446616573b8b01b',1,'tinyxml2::XMLDocument']]],
+ ['deepcopy',['DeepCopy',['../classtinyxml2_1_1_x_m_l_document.html#af592ffc91514e25a39664521ac83db45',1,'tinyxml2::XMLDocument']]],
['deleteattribute',['DeleteAttribute',['../classtinyxml2_1_1_x_m_l_element.html#aebd45aa7118964c30b32fe12e944628a',1,'tinyxml2::XMLElement']]],
['deletechild',['DeleteChild',['../classtinyxml2_1_1_x_m_l_node.html#a363b6edbd6ebd55f8387d2b89f2b0921',1,'tinyxml2::XMLNode']]],
['deletechildren',['DeleteChildren',['../classtinyxml2_1_1_x_m_l_node.html#a0360085cc54df5bff85d5c5da13afdce',1,'tinyxml2::XMLNode']]],
diff --git a/docs/search/functions_4.js b/docs/search/functions_4.js
index eb6c1f6..47e3245 100644
--- a/docs/search/functions_4.js
+++ b/docs/search/functions_4.js
@@ -1,5 +1,7 @@
var searchData=
[
['error',['Error',['../classtinyxml2_1_1_x_m_l_document.html#a34e6318e182e40e3cc4f4ba5d59ed9ed',1,'tinyxml2::XMLDocument']]],
- ['errorid',['ErrorID',['../classtinyxml2_1_1_x_m_l_document.html#afa3ed33b3107f920ec2b301f805ac17d',1,'tinyxml2::XMLDocument']]]
+ ['errorid',['ErrorID',['../classtinyxml2_1_1_x_m_l_document.html#afa3ed33b3107f920ec2b301f805ac17d',1,'tinyxml2::XMLDocument']]],
+ ['errorlinenum',['ErrorLineNum',['../classtinyxml2_1_1_x_m_l_document.html#a57400f816dbe7799ece33615ead9ab76',1,'tinyxml2::XMLDocument']]],
+ ['errorstr',['ErrorStr',['../classtinyxml2_1_1_x_m_l_document.html#ad75aa9d32c4e8b300655186808aa9abf',1,'tinyxml2::XMLDocument']]]
];
diff --git a/docs/search/functions_6.js b/docs/search/functions_6.js
index 39c82fb..e733119 100644
--- a/docs/search/functions_6.js
+++ b/docs/search/functions_6.js
@@ -1,9 +1,6 @@
var searchData=
[
['getdocument',['GetDocument',['../classtinyxml2_1_1_x_m_l_node.html#a2de84cfa4ec3fe249bad745069d145f1',1,'tinyxml2::XMLNode::GetDocument() const'],['../classtinyxml2_1_1_x_m_l_node.html#af343d1ef0b45c0020e62d784d7e67a68',1,'tinyxml2::XMLNode::GetDocument()']]],
- ['geterrorlinenum',['GetErrorLineNum',['../classtinyxml2_1_1_x_m_l_document.html#ad82d07e43e096e834dbdfd06312398c1',1,'tinyxml2::XMLDocument']]],
- ['geterrorstr1',['GetErrorStr1',['../classtinyxml2_1_1_x_m_l_document.html#a229494e30e5473237f3fa547eee4c43f',1,'tinyxml2::XMLDocument']]],
- ['geterrorstr2',['GetErrorStr2',['../classtinyxml2_1_1_x_m_l_document.html#a2d952f49c761bffd2903250680a8716b',1,'tinyxml2::XMLDocument']]],
['getlinenum',['GetLineNum',['../classtinyxml2_1_1_x_m_l_node.html#a9b5fc636646fda761d342c72e91cb286',1,'tinyxml2::XMLNode::GetLineNum()'],['../classtinyxml2_1_1_x_m_l_attribute.html#a02d5ea924586e35f9c13857d1671b765',1,'tinyxml2::XMLAttribute::GetLineNum()']]],
['gettext',['GetText',['../classtinyxml2_1_1_x_m_l_element.html#a6d5c8d115561ade4e4456b71d91b6f51',1,'tinyxml2::XMLElement']]],
['getuserdata',['GetUserData',['../classtinyxml2_1_1_x_m_l_node.html#a7f0687574afa03bc479dc44f29db0afe',1,'tinyxml2::XMLNode']]]
diff --git a/docs/tinyxml2_8h_source.html b/docs/tinyxml2_8h_source.html
index 7a25e69..3b67758 100644
--- a/docs/tinyxml2_8h_source.html
+++ b/docs/tinyxml2_8h_source.html
@@ -22,7 +22,7 @@
|
TinyXML-2
- 5.0.1
+ 6.0.0
|
@@ -63,116 +63,116 @@ $(function() {
tinyxml2.h
- 24 #ifndef TINYXML2_INCLUDED 25 #define TINYXML2_INCLUDED 27 #if defined(ANDROID_NDK) || defined(__BORLANDC__) || defined(__QNXNTO__) 56 #if defined( _DEBUG ) || defined (__DEBUG__) 63 # pragma warning(push) 64 # pragma warning(disable: 4251) 68 # ifdef TINYXML2_EXPORT 69 # define TINYXML2_LIB __declspec(dllexport) 70 # elif defined(TINYXML2_IMPORT) 71 # define TINYXML2_LIB __declspec(dllimport) 76 # define TINYXML2_LIB __attribute__((visibility("default"))) 83 # if defined(_MSC_VER) 84 # // "(void)0," is for suppressing C4127 warning in "assert(false)", "assert(true)" and the like 85 # define TIXMLASSERT( x ) if ( !((void)0,(x))) { __debugbreak(); } 86 # elif defined (ANDROID_NDK) 87 # include <android/log.h> 88 # define TIXMLASSERT( x ) if ( !(x)) { __android_log_assert( "assert", "grinliz", "ASSERT in '%s' at %d.", __FILE__, __LINE__ ); } 91 # define TIXMLASSERT assert 94 # define TIXMLASSERT( x ) {} 101 static const int TIXML2_MAJOR_VERSION = 5; 102 static const int TIXML2_MINOR_VERSION = 0; 103 static const int TIXML2_PATCH_VERSION = 1; 112 class XMLDeclaration; 126 NEEDS_ENTITY_PROCESSING = 0x01, 127 NEEDS_NEWLINE_NORMALIZATION = 0x02, 128 NEEDS_WHITESPACE_COLLAPSING = 0x04, 130 TEXT_ELEMENT = NEEDS_ENTITY_PROCESSING | NEEDS_NEWLINE_NORMALIZATION, 131 TEXT_ELEMENT_LEAVE_ENTITIES = NEEDS_NEWLINE_NORMALIZATION, 133 ATTRIBUTE_VALUE = NEEDS_ENTITY_PROCESSING | NEEDS_NEWLINE_NORMALIZATION, 134 ATTRIBUTE_VALUE_LEAVE_ENTITIES = NEEDS_NEWLINE_NORMALIZATION, 135 COMMENT = NEEDS_NEWLINE_NORMALIZATION 138 StrPair() : _flags( 0 ), _start( 0 ), _end( 0 ) {} 141 void Set( char* start, char* end, int flags ) { 142 TIXMLASSERT( start ); 147 _flags = flags | NEEDS_FLUSH; 150 const char* GetStr(); 153 return _start == _end; 156 void SetInternedStr( const char* str ) { 158 _start = const_cast<char* >(str); 161 void SetStr( const char* str, int flags=0 ); 163 char* ParseText( char* in, const char* endTag, int strFlags, int* curLineNumPtr ); 164 char* ParseName( char* in ); 166 void TransferTo( StrPair* other ); 170 void CollapseWhitespace(); 181 StrPair( const StrPair& other ); 182 void operator=( StrPair& other ); 191 template < class T, int INITIAL_SIZE> 197 _allocated = INITIAL_SIZE; 202 if ( _mem != _pool ) { 212 TIXMLASSERT( _size < INT_MAX ); 213 EnsureCapacity( _size+1 ); 218 T* PushArr( int count ) { 219 TIXMLASSERT( count >= 0 ); 220 TIXMLASSERT( _size <= INT_MAX - count ); 221 EnsureCapacity( _size+count ); 222 T* ret = &_mem[_size]; 228 TIXMLASSERT( _size > 0 ); 233 void PopArr( int count ) { 234 TIXMLASSERT( _size >= count ); 242 T& operator[]( int i) { 243 TIXMLASSERT( i>= 0 && i < _size ); 247 const T& operator[]( int i) const { 248 TIXMLASSERT( i>= 0 && i < _size ); 252 const T& PeekTop() const { 253 TIXMLASSERT( _size > 0 ); 254 return _mem[ _size - 1]; 258 TIXMLASSERT( _size >= 0 ); 262 int Capacity() const { 263 TIXMLASSERT( _allocated >= INITIAL_SIZE ); 267 void SwapRemove( int i) { 268 TIXMLASSERT(i >= 0 && i < _size); 269 TIXMLASSERT(_size > 0); 270 _mem[i] = _mem[_size - 1]; 274 const T* Mem() const { 285 DynArray( const DynArray& ); 286 void operator=( const DynArray& ); 288 void EnsureCapacity( int cap ) { 289 TIXMLASSERT( cap > 0 ); 290 if ( cap > _allocated ) { 291 TIXMLASSERT( cap <= INT_MAX / 2 ); 292 int newAllocated = cap * 2; 293 T* newMem = new T[newAllocated]; 294 TIXMLASSERT( newAllocated >= _size ); 295 memcpy( newMem, _mem, sizeof(T)*_size ); 296 if ( _mem != _pool ) { 300 _allocated = newAllocated; 305 T _pool[INITIAL_SIZE]; 319 virtual ~MemPool() {} 321 virtual int ItemSize() const = 0; 322 virtual void* Alloc() = 0; 323 virtual void Free( void* ) = 0; 324 virtual void SetTracked() = 0; 325 virtual void Clear() = 0; 332 template< int ITEM_SIZE > 333 class MemPoolT : public MemPool 336 MemPoolT() : _root(0), _currentAllocs(0), _nAllocs(0), _maxAllocs(0), _nUntracked(0) {} 343 while( !_blockPtrs.Empty()) { 344 Block* b = _blockPtrs.Pop(); 354 virtual int ItemSize() const { 357 int CurrentAllocs() const { 358 return _currentAllocs; 361 virtual void* Alloc() { 364 Block* block = new Block(); 365 _blockPtrs.Push( block ); 367 Item* blockItems = block->items; 368 for( int i = 0; i < ITEMS_PER_BLOCK - 1; ++i ) { 369 blockItems[i].next = &(blockItems[i + 1]); 371 blockItems[ITEMS_PER_BLOCK - 1].next = 0; 374 Item* const result = _root; 375 TIXMLASSERT( result != 0 ); 379 if ( _currentAllocs > _maxAllocs ) { 380 _maxAllocs = _currentAllocs; 387 virtual void Free( void* mem ) { 392 Item* item = static_cast<Item* >( mem ); 394 memset( item, 0xfe, sizeof( *item ) ); 399 void Trace( const char* name ) { 400 printf( "Mempool %s watermark=%d [%dk] current=%d size=%d nAlloc=%d blocks=%d\n", 401 name, _maxAllocs, _maxAllocs * ITEM_SIZE / 1024, _currentAllocs, 402 ITEM_SIZE, _nAllocs, _blockPtrs.Size() ); 409 int Untracked() const { 424 enum { ITEMS_PER_BLOCK = (4 * 1024) / ITEM_SIZE }; 427 MemPoolT( const MemPoolT& ); 428 void operator=( const MemPoolT& ); 432 char itemData[ITEM_SIZE]; 435 Item items[ITEMS_PER_BLOCK]; 437 DynArray< Block*, 10 > _blockPtrs; 512 XML_WRONG_ATTRIBUTE_TYPE, 513 XML_ERROR_FILE_NOT_FOUND, 514 XML_ERROR_FILE_COULD_NOT_BE_OPENED, 515 XML_ERROR_FILE_READ_ERROR, 516 UNUSED_XML_ERROR_ELEMENT_MISMATCH, 517 XML_ERROR_PARSING_ELEMENT, 518 XML_ERROR_PARSING_ATTRIBUTE, 519 UNUSED_XML_ERROR_IDENTIFYING_TAG, 520 XML_ERROR_PARSING_TEXT, 521 XML_ERROR_PARSING_CDATA, 522 XML_ERROR_PARSING_COMMENT, 523 XML_ERROR_PARSING_DECLARATION, 524 XML_ERROR_PARSING_UNKNOWN, 525 XML_ERROR_EMPTY_DOCUMENT, 526 XML_ERROR_MISMATCHED_ELEMENT, 528 XML_CAN_NOT_CONVERT_TEXT, 538 class TINYXML2_LIB XMLUtil 541 static const char* SkipWhiteSpace( const char* p, int* curLineNumPtr ) { 544 while( IsWhiteSpace(*p) ) { 545 if (curLineNumPtr && *p == '\n') { 553 static char* SkipWhiteSpace( char* p, int* curLineNumPtr ) { 554 return const_cast<char* >( SkipWhiteSpace( const_cast<const char*>(p), curLineNumPtr ) ); 559 static bool IsWhiteSpace( char p ) { 560 return !IsUTF8Continuation(p) && isspace( static_cast<unsigned char>(p) ); 563 inline static bool IsNameStartChar( unsigned char ch ) { 568 if ( isalpha( ch ) ) { 571 return ch == ':' || ch == '_'; 574 inline static bool IsNameChar( unsigned char ch ) { 575 return IsNameStartChar( ch ) 581 inline static bool StringEqual( const char* p, const char* q, int nChar=INT_MAX ) { 587 TIXMLASSERT( nChar >= 0 ); 588 return strncmp( p, q, nChar ) == 0; 591 inline static bool IsUTF8Continuation( char p ) { 592 return ( p & 0x80 ) != 0; 595 static const char* ReadBOM( const char* p, bool* hasBOM ); 598 static const char* GetCharacterRef( const char* p, char* value, int* length ); 599 static void ConvertUTF32ToUTF8( unsigned long input, char* output, int* length ); 602 static void ToStr( int v, char* buffer, int bufferSize ); 603 static void ToStr( unsigned v, char* buffer, int bufferSize ); 604 static void ToStr( bool v, char* buffer, int bufferSize ); 605 static void ToStr( float v, char* buffer, int bufferSize ); 606 static void ToStr( double v, char* buffer, int bufferSize ); 607 static void ToStr(int64_t v, char* buffer, int bufferSize); 610 static bool ToInt( const char* str, int* value ); 611 static bool ToUnsigned( const char* str, unsigned* value ); 612 static bool ToBool( const char* str, bool* value ); 613 static bool ToFloat( const char* str, float* value ); 614 static bool ToDouble( const char* str, double* value ); 615 static bool ToInt64( const char* str, int64_t* value); 622 static void SetBoolSerialization( const char* writeTrue, const char* writeFalse); 625 static const char* writeBoolTrue; 626 static const char* writeBoolFalse; 663 TIXMLASSERT( _document ); 668 TIXMLASSERT( _document ); 700 virtual const XMLText* ToText() const { 725 const char* Value() const; 730 void SetValue( const char* val, bool staticMem= false ); 761 const XMLElement* FirstChildElement( const char* name = 0 ) const; 763 XMLElement* FirstChildElement( const char* name = 0 ) { 764 return const_cast<XMLElement* >( const_cast<const XMLNode* >( this)->FirstChildElement( name )); 779 const XMLElement* LastChildElement( const char* name = 0 ) const; 781 XMLElement* LastChildElement( const char* name = 0 ) { 782 return const_cast<XMLElement* >( const_cast<const XMLNode* >( this)->LastChildElement(name) ); 795 const XMLElement* PreviousSiblingElement( const char* name = 0 ) const ; 797 XMLElement* PreviousSiblingElement( const char* name = 0 ) { 798 return const_cast<XMLElement* >( const_cast<const XMLNode* >( this)->PreviousSiblingElement( name ) ); 811 const XMLElement* NextSiblingElement( const char* name = 0 ) const; 813 XMLElement* NextSiblingElement( const char* name = 0 ) { 814 return const_cast<XMLElement* >( const_cast<const XMLNode* >( this)->NextSiblingElement( name ) ); 827 return InsertEndChild( addThis ); 850 void DeleteChildren(); 855 void DeleteChild( XMLNode* node ); 889 virtual bool ShallowEqual( const XMLNode* compare ) const = 0; 913 virtual bool Accept( XMLVisitor* visitor ) const = 0; 933 virtual char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr); 937 mutable StrPair _value; 951 static void DeleteNode( XMLNode* node ); 952 void InsertChildPreamble( XMLNode* insertThis ) const; 953 const XMLElement* ToElementWithName( const char* name ) const; 976 virtual bool Accept( XMLVisitor* visitor ) const; 981 virtual const XMLText* ToText() const { 995 virtual bool ShallowEqual( const XMLNode* compare ) const; 1001 char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr ); 1019 virtual const XMLComment* ToComment() const { 1023 virtual bool Accept( XMLVisitor* visitor ) const; 1026 virtual bool ShallowEqual( const XMLNode* compare ) const; 1032 char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr); 1062 virtual bool Accept( XMLVisitor* visitor ) const; 1065 virtual bool ShallowEqual( const XMLNode* compare ) const; 1071 char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr ); 1093 virtual const XMLUnknown* ToUnknown() const { 1097 virtual bool Accept( XMLVisitor* visitor ) const; 1100 virtual bool ShallowEqual( const XMLNode* compare ) const; 1106 char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr ); 1126 const char* Name() const; 1129 const char* Value() const; 1149 int64_t Int64Value() const { 1151 QueryInt64Value(&i); 1158 QueryUnsignedValue( &i ); 1164 QueryBoolValue( &b ); 1170 QueryDoubleValue( &d ); 1176 QueryFloatValue( &f ); 1184 XMLError QueryIntValue( int* value ) const; 1186 XMLError QueryUnsignedValue( unsigned int* value ) const; 1188 XMLError QueryInt64Value(int64_t* value) const; 1190 XMLError QueryBoolValue( bool* value ) const; 1192 XMLError QueryDoubleValue( double* value ) const; 1194 XMLError QueryFloatValue( float* value ) const; 1197 void SetAttribute( const char* value ); 1199 void SetAttribute( int value ); 1201 void SetAttribute( unsigned value ); 1203 void SetAttribute(int64_t value); 1205 void SetAttribute( bool value ); 1207 void SetAttribute( double value ); 1209 void SetAttribute( float value ); 1212 enum { BUF_SIZE = 200 }; 1214 XMLAttribute() : _parseLineNum( 0 ), _next( 0 ), _memPool( 0 ) {} 1219 void SetName( const char* name ); 1221 char* ParseDeep( char* p, bool processEntities, int* curLineNumPtr ); 1223 mutable StrPair _name; 1224 mutable StrPair _value; 1244 void SetName( const char* str, bool staticMem= false ) { 1245 SetValue( str, staticMem ); 1251 virtual const XMLElement* ToElement() const { 1254 virtual bool Accept( XMLVisitor* visitor ) const; 1279 const char* Attribute( const char* name, const char* value=0 ) const; 1287 int IntAttribute( const char* name, int defaultValue = 0) const; 1289 unsigned UnsignedAttribute( const char* name, unsigned defaultValue = 0) const; 1291 int64_t Int64Attribute( const char* name, int64_t defaultValue = 0) const; 1293 bool BoolAttribute( const char* name, bool defaultValue = false) const; 1295 double DoubleAttribute( const char* name, double defaultValue = 0) const; 1297 float FloatAttribute( const char* name, float defaultValue = 0) const; 1315 return XML_NO_ATTRIBUTE; 1324 return XML_NO_ATTRIBUTE; 1333 return XML_NO_ATTRIBUTE; 1342 return XML_NO_ATTRIBUTE; 1350 return XML_NO_ATTRIBUTE; 1358 return XML_NO_ATTRIBUTE; 1382 return QueryIntAttribute( name, value ); 1385 int QueryAttribute( const char* name, unsigned int* value ) const { 1386 return QueryUnsignedAttribute( name, value ); 1389 int QueryAttribute( const char* name, int64_t* value) const { 1390 return QueryInt64Attribute(name, value); 1393 int QueryAttribute( const char* name, bool* value ) const { 1394 return QueryBoolAttribute( name, value ); 1397 int QueryAttribute( const char* name, double* value ) const { 1398 return QueryDoubleAttribute( name, value ); 1401 int QueryAttribute( const char* name, float* value ) const { 1402 return QueryFloatAttribute( name, value ); 1446 void DeleteAttribute( const char* name ); 1450 return _rootAttribute; 1453 const XMLAttribute* FindAttribute( const char* name ) const; 1483 const char* GetText() const; 1519 void SetText( const char* inText ); 1521 void SetText( int value ); 1523 void SetText( unsigned value ); 1525 void SetText(int64_t value); 1527 void SetText( bool value ); 1529 void SetText( double value ); 1531 void SetText( float value ); 1559 XMLError QueryIntText( int* ival ) const; 1561 XMLError QueryUnsignedText( unsigned* uval ) const; 1563 XMLError QueryInt64Text(int64_t* uval) const; 1565 XMLError QueryBoolText( bool* bval ) const; 1567 XMLError QueryDoubleText( double* dval ) const; 1569 XMLError QueryFloatText( float* fval ) const; 1571 int IntText( int defaultValue = 0) const; 1574 unsigned UnsignedText( unsigned defaultValue = 0) const; 1576 int64_t Int64Text(int64_t defaultValue = 0) const; 1578 bool BoolText( bool defaultValue = false) const; 1580 double DoubleText( double defaultValue = 0) const; 1582 float FloatText( float defaultValue = 0) const; 1585 enum ElementClosingType { 1590 ElementClosingType ClosingType() const { 1591 return _closingType; 1594 virtual bool ShallowEqual( const XMLNode* compare ) const; 1597 char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr ); 1608 XMLAttribute* FindOrCreateAttribute( const char* name ); 1610 char* ParseAttributes( char* p, int* curLineNumPtr ); 1611 static void DeleteAttribute( XMLAttribute* attribute ); 1614 enum { BUF_SIZE = 200 }; 1615 ElementClosingType _closingType; 1624 PRESERVE_WHITESPACE, 1639 XMLDocument( bool processEntities = true, Whitespace whitespaceMode = PRESERVE_WHITESPACE ); 1643 TIXMLASSERT( this == _document ); 1647 TIXMLASSERT( this == _document ); 1661 XMLError Parse( const char* xml, size_t nBytes=( size_t)(-1) ); 1668 XMLError LoadFile( const char* filename ); 1681 XMLError LoadFile( FILE* ); 1688 XMLError SaveFile( const char* filename, bool compact = false ); 1697 XMLError SaveFile( FILE* fp, bool compact = false ); 1699 bool ProcessEntities() const { 1700 return _processEntities; 1702 Whitespace WhitespaceMode() const { 1703 return _whitespaceMode; 1722 return FirstChildElement(); 1725 return FirstChildElement(); 1743 virtual bool Accept( XMLVisitor* visitor ) const; 1756 XMLComment* NewComment( const char* comment ); 1762 XMLText* NewText( const char* text ); 1786 void DeleteNode( XMLNode* node ); 1788 void SetError( XMLError error, const char* str1, const char* str2, int lineNum ); 1791 SetError(XML_SUCCESS, 0, 0, 0); 1796 return _errorID != XML_SUCCESS; 1802 const char* ErrorName() const; 1803 static const char* ErrorIDToName(XMLError errorID); 1806 const char* GetErrorStr1() const; 1809 const char* GetErrorStr2() const; 1814 return _errorLineNum; 1817 void PrintError() const; 1832 char* Identify( char* p, XMLNode** node ); 1849 bool _processEntities; 1851 Whitespace _whitespaceMode; 1852 mutable StrPair _errorStr1; 1853 mutable StrPair _errorStr2; 1856 int _parseCurLineNum; 1863 DynArray<XMLNode*, 10> _unlinked; 1865 MemPoolT< sizeof(XMLElement) > _elementPool; 1866 MemPoolT< sizeof(XMLAttribute) > _attributePool; 1867 MemPoolT< sizeof(XMLText) > _textPool; 1868 MemPoolT< sizeof(XMLComment) > _commentPool; 1870 static const char* _errorNames[XML_ERROR_COUNT]; 1874 template< class NodeType, int PoolElementSize> 1875 NodeType* CreateUnlinkedNode( MemPoolT<PoolElementSize>& pool ); 1878 template< class NodeType, int PoolElementSize> 1879 inline NodeType* XMLDocument::CreateUnlinkedNode( MemPoolT<PoolElementSize>& pool ) 1881 TIXMLASSERT( sizeof( NodeType ) == PoolElementSize ); 1882 TIXMLASSERT( sizeof( NodeType ) == pool.ItemSize() ); 1883 NodeType* returnNode = new (pool.Alloc()) NodeType( this ); 1884 TIXMLASSERT( returnNode ); 1885 returnNode->_memPool = &pool; 1887 _unlinked.Push(returnNode); 1969 return XMLHandle( _node ? _node->FirstChild() : 0 ); 1973 return XMLHandle( _node ? _node->FirstChildElement( name ) : 0 ); 1977 return XMLHandle( _node ? _node->LastChild() : 0 ); 1981 return XMLHandle( _node ? _node->LastChildElement( name ) : 0 ); 1985 return XMLHandle( _node ? _node->PreviousSibling() : 0 ); 1989 return XMLHandle( _node ? _node->PreviousSiblingElement( name ) : 0 ); 1993 return XMLHandle( _node ? _node->NextSibling() : 0 ); 1997 return XMLHandle( _node ? _node->NextSiblingElement( name ) : 0 ); 2006 return ( _node ? _node->ToElement() : 0 ); 2010 return ( _node ? _node->ToText() : 0 ); 2014 return ( _node ? _node->ToUnknown() : 0 ); 2018 return ( _node ? _node->ToDeclaration() : 0 ); 2051 const XMLConstHandle FirstChildElement( const char* name = 0 ) const { 2052 return XMLConstHandle( _node ? _node->FirstChildElement( name ) : 0 ); 2057 const XMLConstHandle LastChildElement( const char* name = 0 ) const { 2058 return XMLConstHandle( _node ? _node->LastChildElement( name ) : 0 ); 2063 const XMLConstHandle PreviousSiblingElement( const char* name = 0 ) const { 2064 return XMLConstHandle( _node ? _node->PreviousSiblingElement( name ) : 0 ); 2069 const XMLConstHandle NextSiblingElement( const char* name = 0 ) const { 2070 return XMLConstHandle( _node ? _node->NextSiblingElement( name ) : 0 ); 2074 const XMLNode* ToNode() const { 2078 return ( _node ? _node->ToElement() : 0 ); 2080 const XMLText* ToText() const { 2081 return ( _node ? _node->ToText() : 0 ); 2084 return ( _node ? _node->ToUnknown() : 0 ); 2087 return ( _node ? _node->ToDeclaration() : 0 ); 2146 XMLPrinter( FILE* file=0, bool compact = false, int depth = 0 ); 2150 void PushHeader( bool writeBOM, bool writeDeclaration ); 2154 void OpenElement( const char* name, bool compactMode= false ); 2156 void PushAttribute( const char* name, const char* value ); 2157 void PushAttribute( const char* name, int value ); 2158 void PushAttribute( const char* name, unsigned value ); 2159 void PushAttribute( const char* name, int64_t value); 2160 void PushAttribute( const char* name, bool value ); 2161 void PushAttribute( const char* name, double value ); 2163 virtual void CloseElement( bool compactMode= false ); 2166 void PushText( const char* text, bool cdata= false ); 2168 void PushText( int value ); 2170 void PushText( unsigned value ); 2172 void PushText(int64_t value); 2174 void PushText( bool value ); 2176 void PushText( float value ); 2178 void PushText( double value ); 2181 void PushComment( const char* comment ); 2183 void PushDeclaration( const char* value ); 2184 void PushUnknown( const char* value ); 2192 virtual bool VisitExit( const XMLElement& element ); 2194 virtual bool Visit( const XMLText& text ); 2195 virtual bool Visit( const XMLComment& comment ); 2197 virtual bool Visit( const XMLUnknown& unknown ); 2204 return _buffer.Mem(); 2212 return _buffer.Size(); 2221 _firstElement = true; 2225 virtual bool CompactMode( const XMLElement& ) { return _compactMode; } 2230 virtual void PrintSpace( int depth ); 2231 void Print( const char* format, ... ); 2233 void SealElementIfJustOpened(); 2234 bool _elementJustOpened; 2235 DynArray< const char*, 10 > _stack; 2238 void PrintString( const char*, bool restrictedEntitySet ); 2244 bool _processEntities; 2251 bool _entityFlag[ENTITY_RANGE]; 2252 bool _restrictedEntityFlag[ENTITY_RANGE]; 2254 DynArray< char, 20 > _buffer; 2260 #if defined(_MSC_VER) 2261 # pragma warning(pop) 2264 #endif // TINYXML2_INCLUDED XMLError QueryInt64Attribute(const char *name, int64_t *value) const See QueryIntAttribute() Definition: tinyxml2.h:1330
+ 24 #ifndef TINYXML2_INCLUDED 25 #define TINYXML2_INCLUDED 27 #if defined(ANDROID_NDK) || defined(__BORLANDC__) || defined(__QNXNTO__) 56 #if defined( _DEBUG ) || defined (__DEBUG__) 63 # pragma warning(push) 64 # pragma warning(disable: 4251) 68 # ifdef TINYXML2_EXPORT 69 # define TINYXML2_LIB __declspec(dllexport) 70 # elif defined(TINYXML2_IMPORT) 71 # define TINYXML2_LIB __declspec(dllimport) 76 # define TINYXML2_LIB __attribute__((visibility("default"))) 83 # if defined(_MSC_VER) 84 # // "(void)0," is for suppressing C4127 warning in "assert(false)", "assert(true)" and the like 85 # define TIXMLASSERT( x ) if ( !((void)0,(x))) { __debugbreak(); } 86 # elif defined (ANDROID_NDK) 87 # include <android/log.h> 88 # define TIXMLASSERT( x ) if ( !(x)) { __android_log_assert( "assert", "grinliz", "ASSERT in '%s' at %d.", __FILE__, __LINE__ ); } 91 # define TIXMLASSERT assert 94 # define TIXMLASSERT( x ) {} 101 static const int TIXML2_MAJOR_VERSION = 6; 102 static const int TIXML2_MINOR_VERSION = 0; 103 static const int TIXML2_PATCH_VERSION = 0; 112 class XMLDeclaration; 126 NEEDS_ENTITY_PROCESSING = 0x01, 127 NEEDS_NEWLINE_NORMALIZATION = 0x02, 128 NEEDS_WHITESPACE_COLLAPSING = 0x04, 130 TEXT_ELEMENT = NEEDS_ENTITY_PROCESSING | NEEDS_NEWLINE_NORMALIZATION, 131 TEXT_ELEMENT_LEAVE_ENTITIES = NEEDS_NEWLINE_NORMALIZATION, 133 ATTRIBUTE_VALUE = NEEDS_ENTITY_PROCESSING | NEEDS_NEWLINE_NORMALIZATION, 134 ATTRIBUTE_VALUE_LEAVE_ENTITIES = NEEDS_NEWLINE_NORMALIZATION, 135 COMMENT = NEEDS_NEWLINE_NORMALIZATION 138 StrPair() : _flags( 0 ), _start( 0 ), _end( 0 ) {} 141 void Set( char* start, char* end, int flags ) { 142 TIXMLASSERT( start ); 147 _flags = flags | NEEDS_FLUSH; 150 const char* GetStr(); 153 return _start == _end; 156 void SetInternedStr( const char* str ) { 158 _start = const_cast<char* >(str); 161 void SetStr( const char* str, int flags=0 ); 163 char* ParseText( char* in, const char* endTag, int strFlags, int* curLineNumPtr ); 164 char* ParseName( char* in ); 166 void TransferTo( StrPair* other ); 170 void CollapseWhitespace(); 181 StrPair( const StrPair& other ); 182 void operator=( StrPair& other ); 191 template < class T, int INITIAL_SIZE> 197 _allocated( INITIAL_SIZE ), 203 if ( _mem != _pool ) { 213 TIXMLASSERT( _size < INT_MAX ); 214 EnsureCapacity( _size+1 ); 219 T* PushArr( int count ) { 220 TIXMLASSERT( count >= 0 ); 221 TIXMLASSERT( _size <= INT_MAX - count ); 222 EnsureCapacity( _size+count ); 223 T* ret = &_mem[_size]; 229 TIXMLASSERT( _size > 0 ); 234 void PopArr( int count ) { 235 TIXMLASSERT( _size >= count ); 243 T& operator[]( int i) { 244 TIXMLASSERT( i>= 0 && i < _size ); 248 const T& operator[]( int i) const { 249 TIXMLASSERT( i>= 0 && i < _size ); 253 const T& PeekTop() const { 254 TIXMLASSERT( _size > 0 ); 255 return _mem[ _size - 1]; 259 TIXMLASSERT( _size >= 0 ); 263 int Capacity() const { 264 TIXMLASSERT( _allocated >= INITIAL_SIZE ); 268 void SwapRemove( int i) { 269 TIXMLASSERT(i >= 0 && i < _size); 270 TIXMLASSERT(_size > 0); 271 _mem[i] = _mem[_size - 1]; 275 const T* Mem() const { 286 DynArray( const DynArray& ); 287 void operator=( const DynArray& ); 289 void EnsureCapacity( int cap ) { 290 TIXMLASSERT( cap > 0 ); 291 if ( cap > _allocated ) { 292 TIXMLASSERT( cap <= INT_MAX / 2 ); 293 int newAllocated = cap * 2; 294 T* newMem = new T[newAllocated]; 295 TIXMLASSERT( newAllocated >= _size ); 296 memcpy( newMem, _mem, sizeof(T)*_size ); 297 if ( _mem != _pool ) { 301 _allocated = newAllocated; 306 T _pool[INITIAL_SIZE]; 320 virtual ~MemPool() {} 322 virtual int ItemSize() const = 0; 323 virtual void* Alloc() = 0; 324 virtual void Free( void* ) = 0; 325 virtual void SetTracked() = 0; 326 virtual void Clear() = 0; 333 template< int ITEM_SIZE > 334 class MemPoolT : public MemPool 337 MemPoolT() : _blockPtrs(), _root(0), _currentAllocs(0), _nAllocs(0), _maxAllocs(0), _nUntracked(0) {} 344 while( !_blockPtrs.Empty()) { 345 Block* lastBlock = _blockPtrs.Pop(); 355 virtual int ItemSize() const { 358 int CurrentAllocs() const { 359 return _currentAllocs; 362 virtual void* Alloc() { 365 Block* block = new Block(); 366 _blockPtrs.Push( block ); 368 Item* blockItems = block->items; 369 for( int i = 0; i < ITEMS_PER_BLOCK - 1; ++i ) { 370 blockItems[i].next = &(blockItems[i + 1]); 372 blockItems[ITEMS_PER_BLOCK - 1].next = 0; 375 Item* const result = _root; 376 TIXMLASSERT( result != 0 ); 380 if ( _currentAllocs > _maxAllocs ) { 381 _maxAllocs = _currentAllocs; 388 virtual void Free( void* mem ) { 393 Item* item = static_cast<Item* >( mem ); 395 memset( item, 0xfe, sizeof( *item ) ); 400 void Trace( const char* name ) { 401 printf( "Mempool %s watermark=%d [%dk] current=%d size=%d nAlloc=%d blocks=%d\n", 402 name, _maxAllocs, _maxAllocs * ITEM_SIZE / 1024, _currentAllocs, 403 ITEM_SIZE, _nAllocs, _blockPtrs.Size() ); 410 int Untracked() const { 425 enum { ITEMS_PER_BLOCK = (4 * 1024) / ITEM_SIZE }; 428 MemPoolT( const MemPoolT& ); 429 void operator=( const MemPoolT& ); 433 char itemData[ITEM_SIZE]; 436 Item items[ITEMS_PER_BLOCK]; 438 DynArray< Block*, 10 > _blockPtrs; 513 XML_WRONG_ATTRIBUTE_TYPE, 514 XML_ERROR_FILE_NOT_FOUND, 515 XML_ERROR_FILE_COULD_NOT_BE_OPENED, 516 XML_ERROR_FILE_READ_ERROR, 517 UNUSED_XML_ERROR_ELEMENT_MISMATCH, 518 XML_ERROR_PARSING_ELEMENT, 519 XML_ERROR_PARSING_ATTRIBUTE, 520 UNUSED_XML_ERROR_IDENTIFYING_TAG, 521 XML_ERROR_PARSING_TEXT, 522 XML_ERROR_PARSING_CDATA, 523 XML_ERROR_PARSING_COMMENT, 524 XML_ERROR_PARSING_DECLARATION, 525 XML_ERROR_PARSING_UNKNOWN, 526 XML_ERROR_EMPTY_DOCUMENT, 527 XML_ERROR_MISMATCHED_ELEMENT, 529 XML_CAN_NOT_CONVERT_TEXT, 539 class TINYXML2_LIB XMLUtil 542 static const char* SkipWhiteSpace( const char* p, int* curLineNumPtr ) { 545 while( IsWhiteSpace(*p) ) { 546 if (curLineNumPtr && *p == '\n') { 554 static char* SkipWhiteSpace( char* p, int* curLineNumPtr ) { 555 return const_cast<char* >( SkipWhiteSpace( const_cast<const char*>(p), curLineNumPtr ) ); 560 static bool IsWhiteSpace( char p ) { 561 return !IsUTF8Continuation(p) && isspace( static_cast<unsigned char>(p) ); 564 inline static bool IsNameStartChar( unsigned char ch ) { 569 if ( isalpha( ch ) ) { 572 return ch == ':' || ch == '_'; 575 inline static bool IsNameChar( unsigned char ch ) { 576 return IsNameStartChar( ch ) 582 inline static bool StringEqual( const char* p, const char* q, int nChar=INT_MAX ) { 588 TIXMLASSERT( nChar >= 0 ); 589 return strncmp( p, q, nChar ) == 0; 592 inline static bool IsUTF8Continuation( char p ) { 593 return ( p & 0x80 ) != 0; 596 static const char* ReadBOM( const char* p, bool* hasBOM ); 599 static const char* GetCharacterRef( const char* p, char* value, int* length ); 600 static void ConvertUTF32ToUTF8( unsigned long input, char* output, int* length ); 603 static void ToStr( int v, char* buffer, int bufferSize ); 604 static void ToStr( unsigned v, char* buffer, int bufferSize ); 605 static void ToStr( bool v, char* buffer, int bufferSize ); 606 static void ToStr( float v, char* buffer, int bufferSize ); 607 static void ToStr( double v, char* buffer, int bufferSize ); 608 static void ToStr(int64_t v, char* buffer, int bufferSize); 611 static bool ToInt( const char* str, int* value ); 612 static bool ToUnsigned( const char* str, unsigned* value ); 613 static bool ToBool( const char* str, bool* value ); 614 static bool ToFloat( const char* str, float* value ); 615 static bool ToDouble( const char* str, double* value ); 616 static bool ToInt64( const char* str, int64_t* value); 623 static void SetBoolSerialization( const char* writeTrue, const char* writeFalse); 626 static const char* writeBoolTrue; 627 static const char* writeBoolFalse; 664 TIXMLASSERT( _document ); 669 TIXMLASSERT( _document ); 701 virtual const XMLText* ToText() const { 726 const char* Value() const; 731 void SetValue( const char* val, bool staticMem= false ); 762 const XMLElement* FirstChildElement( const char* name = 0 ) const; 764 XMLElement* FirstChildElement( const char* name = 0 ) { 765 return const_cast<XMLElement* >( const_cast<const XMLNode* >( this)->FirstChildElement( name )); 780 const XMLElement* LastChildElement( const char* name = 0 ) const; 782 XMLElement* LastChildElement( const char* name = 0 ) { 783 return const_cast<XMLElement* >( const_cast<const XMLNode* >( this)->LastChildElement(name) ); 796 const XMLElement* PreviousSiblingElement( const char* name = 0 ) const ; 798 XMLElement* PreviousSiblingElement( const char* name = 0 ) { 799 return const_cast<XMLElement* >( const_cast<const XMLNode* >( this)->PreviousSiblingElement( name ) ); 812 const XMLElement* NextSiblingElement( const char* name = 0 ) const; 814 XMLElement* NextSiblingElement( const char* name = 0 ) { 815 return const_cast<XMLElement* >( const_cast<const XMLNode* >( this)->NextSiblingElement( name ) ); 828 return InsertEndChild( addThis ); 851 void DeleteChildren(); 856 void DeleteChild( XMLNode* node ); 890 virtual bool ShallowEqual( const XMLNode* compare ) const = 0; 914 virtual bool Accept( XMLVisitor* visitor ) const = 0; 934 virtual char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr); 938 mutable StrPair _value; 952 static void DeleteNode( XMLNode* node ); 953 void InsertChildPreamble( XMLNode* insertThis ) const; 954 const XMLElement* ToElementWithName( const char* name ) const; 977 virtual bool Accept( XMLVisitor* visitor ) const; 982 virtual const XMLText* ToText() const { 996 virtual bool ShallowEqual( const XMLNode* compare ) const; 1002 char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr ); 1020 virtual const XMLComment* ToComment() const { 1024 virtual bool Accept( XMLVisitor* visitor ) const; 1027 virtual bool ShallowEqual( const XMLNode* compare ) const; 1033 char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr); 1063 virtual bool Accept( XMLVisitor* visitor ) const; 1066 virtual bool ShallowEqual( const XMLNode* compare ) const; 1072 char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr ); 1094 virtual const XMLUnknown* ToUnknown() const { 1098 virtual bool Accept( XMLVisitor* visitor ) const; 1101 virtual bool ShallowEqual( const XMLNode* compare ) const; 1107 char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr ); 1127 const char* Name() const; 1130 const char* Value() const; 1150 int64_t Int64Value() const { 1152 QueryInt64Value(&i); 1159 QueryUnsignedValue( &i ); 1165 QueryBoolValue( &b ); 1171 QueryDoubleValue( &d ); 1177 QueryFloatValue( &f ); 1185 XMLError QueryIntValue( int* value ) const; 1187 XMLError QueryUnsignedValue( unsigned int* value ) const; 1189 XMLError QueryInt64Value(int64_t* value) const; 1191 XMLError QueryBoolValue( bool* value ) const; 1193 XMLError QueryDoubleValue( double* value ) const; 1195 XMLError QueryFloatValue( float* value ) const; 1198 void SetAttribute( const char* value ); 1200 void SetAttribute( int value ); 1202 void SetAttribute( unsigned value ); 1204 void SetAttribute(int64_t value); 1206 void SetAttribute( bool value ); 1208 void SetAttribute( double value ); 1210 void SetAttribute( float value ); 1213 enum { BUF_SIZE = 200 }; 1215 XMLAttribute() : _name(), _value(),_parseLineNum( 0 ), _next( 0 ), _memPool( 0 ) {} 1220 void SetName( const char* name ); 1222 char* ParseDeep( char* p, bool processEntities, int* curLineNumPtr ); 1224 mutable StrPair _name; 1225 mutable StrPair _value; 1245 void SetName( const char* str, bool staticMem= false ) { 1246 SetValue( str, staticMem ); 1252 virtual const XMLElement* ToElement() const { 1255 virtual bool Accept( XMLVisitor* visitor ) const; 1280 const char* Attribute( const char* name, const char* value=0 ) const; 1288 int IntAttribute( const char* name, int defaultValue = 0) const; 1290 unsigned UnsignedAttribute( const char* name, unsigned defaultValue = 0) const; 1292 int64_t Int64Attribute( const char* name, int64_t defaultValue = 0) const; 1294 bool BoolAttribute( const char* name, bool defaultValue = false) const; 1296 double DoubleAttribute( const char* name, double defaultValue = 0) const; 1298 float FloatAttribute( const char* name, float defaultValue = 0) const; 1316 return XML_NO_ATTRIBUTE; 1325 return XML_NO_ATTRIBUTE; 1334 return XML_NO_ATTRIBUTE; 1343 return XML_NO_ATTRIBUTE; 1351 return XML_NO_ATTRIBUTE; 1359 return XML_NO_ATTRIBUTE; 1383 return QueryIntAttribute( name, value ); 1386 int QueryAttribute( const char* name, unsigned int* value ) const { 1387 return QueryUnsignedAttribute( name, value ); 1390 int QueryAttribute( const char* name, int64_t* value) const { 1391 return QueryInt64Attribute(name, value); 1394 int QueryAttribute( const char* name, bool* value ) const { 1395 return QueryBoolAttribute( name, value ); 1398 int QueryAttribute( const char* name, double* value ) const { 1399 return QueryDoubleAttribute( name, value ); 1402 int QueryAttribute( const char* name, float* value ) const { 1403 return QueryFloatAttribute( name, value ); 1447 void DeleteAttribute( const char* name ); 1451 return _rootAttribute; 1454 const XMLAttribute* FindAttribute( const char* name ) const; 1484 const char* GetText() const; 1520 void SetText( const char* inText ); 1522 void SetText( int value ); 1524 void SetText( unsigned value ); 1526 void SetText(int64_t value); 1528 void SetText( bool value ); 1530 void SetText( double value ); 1532 void SetText( float value ); 1560 XMLError QueryIntText( int* ival ) const; 1562 XMLError QueryUnsignedText( unsigned* uval ) const; 1564 XMLError QueryInt64Text(int64_t* uval) const; 1566 XMLError QueryBoolText( bool* bval ) const; 1568 XMLError QueryDoubleText( double* dval ) const; 1570 XMLError QueryFloatText( float* fval ) const; 1572 int IntText( int defaultValue = 0) const; 1575 unsigned UnsignedText( unsigned defaultValue = 0) const; 1577 int64_t Int64Text(int64_t defaultValue = 0) const; 1579 bool BoolText( bool defaultValue = false) const; 1581 double DoubleText( double defaultValue = 0) const; 1583 float FloatText( float defaultValue = 0) const; 1586 enum ElementClosingType { 1591 ElementClosingType ClosingType() const { 1592 return _closingType; 1595 virtual bool ShallowEqual( const XMLNode* compare ) const; 1598 char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr ); 1609 XMLAttribute* FindOrCreateAttribute( const char* name ); 1611 char* ParseAttributes( char* p, int* curLineNumPtr ); 1612 static void DeleteAttribute( XMLAttribute* attribute ); 1615 enum { BUF_SIZE = 200 }; 1616 ElementClosingType _closingType; 1625 PRESERVE_WHITESPACE, 1647 XMLDocument( bool processEntities = true, Whitespace whitespaceMode = PRESERVE_WHITESPACE ); 1651 TIXMLASSERT( this == _document ); 1655 TIXMLASSERT( this == _document ); 1669 XMLError Parse( const char* xml, size_t nBytes=( size_t)(-1) ); 1676 XMLError LoadFile( const char* filename ); 1689 XMLError LoadFile( FILE* ); 1696 XMLError SaveFile( const char* filename, bool compact = false ); 1705 XMLError SaveFile( FILE* fp, bool compact = false ); 1707 bool ProcessEntities() const { 1708 return _processEntities; 1710 Whitespace WhitespaceMode() const { 1711 return _whitespaceMode; 1730 return FirstChildElement(); 1733 return FirstChildElement(); 1751 virtual bool Accept( XMLVisitor* visitor ) const; 1764 XMLComment* NewComment( const char* comment ); 1770 XMLText* NewText( const char* text ); 1794 void DeleteNode( XMLNode* node ); 1797 SetError(XML_SUCCESS, 0, 0); 1802 return _errorID != XML_SUCCESS; 1808 const char* ErrorName() const; 1809 static const char* ErrorIDToName(XMLError errorID); 1814 const char* ErrorStr() const; 1817 void PrintError() const; 1822 return _errorLineNum; 1838 char* Identify( char* p, XMLNode** node ); 1855 bool _processEntities; 1857 Whitespace _whitespaceMode; 1858 mutable StrPair _errorStr; 1861 int _parseCurLineNum; 1868 DynArray<XMLNode*, 10> _unlinked; 1870 MemPoolT< sizeof(XMLElement) > _elementPool; 1871 MemPoolT< sizeof(XMLAttribute) > _attributePool; 1872 MemPoolT< sizeof(XMLText) > _textPool; 1873 MemPoolT< sizeof(XMLComment) > _commentPool; 1875 static const char* _errorNames[XML_ERROR_COUNT]; 1879 void SetError( XMLError error, int lineNum, const char* format, ... ); 1881 template< class NodeType, int PoolElementSize> 1882 NodeType* CreateUnlinkedNode( MemPoolT<PoolElementSize>& pool ); 1885 template< class NodeType, int PoolElementSize> 1886 inline NodeType* XMLDocument::CreateUnlinkedNode( MemPoolT<PoolElementSize>& pool ) 1888 TIXMLASSERT( sizeof( NodeType ) == PoolElementSize ); 1889 TIXMLASSERT( sizeof( NodeType ) == pool.ItemSize() ); 1890 NodeType* returnNode = new (pool.Alloc()) NodeType( this ); 1891 TIXMLASSERT( returnNode ); 1892 returnNode->_memPool = &pool; 1894 _unlinked.Push(returnNode); 1973 return XMLHandle( _node ? _node->FirstChild() : 0 ); 1977 return XMLHandle( _node ? _node->FirstChildElement( name ) : 0 ); 1981 return XMLHandle( _node ? _node->LastChild() : 0 ); 1985 return XMLHandle( _node ? _node->LastChildElement( name ) : 0 ); 1989 return XMLHandle( _node ? _node->PreviousSibling() : 0 ); 1993 return XMLHandle( _node ? _node->PreviousSiblingElement( name ) : 0 ); 1997 return XMLHandle( _node ? _node->NextSibling() : 0 ); 2001 return XMLHandle( _node ? _node->NextSiblingElement( name ) : 0 ); 2010 return ( _node ? _node->ToElement() : 0 ); 2014 return ( _node ? _node->ToText() : 0 ); 2018 return ( _node ? _node->ToUnknown() : 0 ); 2022 return ( _node ? _node->ToDeclaration() : 0 ); 2052 const XMLConstHandle FirstChildElement( const char* name = 0 ) const { 2053 return XMLConstHandle( _node ? _node->FirstChildElement( name ) : 0 ); 2058 const XMLConstHandle LastChildElement( const char* name = 0 ) const { 2059 return XMLConstHandle( _node ? _node->LastChildElement( name ) : 0 ); 2064 const XMLConstHandle PreviousSiblingElement( const char* name = 0 ) const { 2065 return XMLConstHandle( _node ? _node->PreviousSiblingElement( name ) : 0 ); 2070 const XMLConstHandle NextSiblingElement( const char* name = 0 ) const { 2071 return XMLConstHandle( _node ? _node->NextSiblingElement( name ) : 0 ); 2075 const XMLNode* ToNode() const { 2079 return ( _node ? _node->ToElement() : 0 ); 2081 const XMLText* ToText() const { 2082 return ( _node ? _node->ToText() : 0 ); 2085 return ( _node ? _node->ToUnknown() : 0 ); 2088 return ( _node ? _node->ToDeclaration() : 0 ); 2147 XMLPrinter( FILE* file=0, bool compact = false, int depth = 0 ); 2151 void PushHeader( bool writeBOM, bool writeDeclaration ); 2155 void OpenElement( const char* name, bool compactMode= false ); 2157 void PushAttribute( const char* name, const char* value ); 2158 void PushAttribute( const char* name, int value ); 2159 void PushAttribute( const char* name, unsigned value ); 2160 void PushAttribute( const char* name, int64_t value); 2161 void PushAttribute( const char* name, bool value ); 2162 void PushAttribute( const char* name, double value ); 2164 virtual void CloseElement( bool compactMode= false ); 2167 void PushText( const char* text, bool cdata= false ); 2169 void PushText( int value ); 2171 void PushText( unsigned value ); 2173 void PushText(int64_t value); 2175 void PushText( bool value ); 2177 void PushText( float value ); 2179 void PushText( double value ); 2182 void PushComment( const char* comment ); 2184 void PushDeclaration( const char* value ); 2185 void PushUnknown( const char* value ); 2193 virtual bool VisitExit( const XMLElement& element ); 2195 virtual bool Visit( const XMLText& text ); 2196 virtual bool Visit( const XMLComment& comment ); 2198 virtual bool Visit( const XMLUnknown& unknown ); 2205 return _buffer.Mem(); 2213 return _buffer.Size(); 2222 _firstElement = true; 2226 virtual bool CompactMode( const XMLElement& ) { return _compactMode; } 2231 virtual void PrintSpace( int depth ); 2232 void Print( const char* format, ... ); 2233 void Write( const char* data, size_t size ); 2234 inline void Write( const char* data ) { Write( data, strlen( data ) ); } 2235 void Putc( char ch ); 2237 void SealElementIfJustOpened(); 2238 bool _elementJustOpened; 2239 DynArray< const char*, 10 > _stack; 2242 void PrintString( const char*, bool restrictedEntitySet ); 2248 bool _processEntities; 2255 bool _entityFlag[ENTITY_RANGE]; 2256 bool _restrictedEntityFlag[ENTITY_RANGE]; 2258 DynArray< char, 20 > _buffer; 2268 #if defined(_MSC_VER) 2269 # pragma warning(pop) 2272 #endif // TINYXML2_INCLUDED XMLError QueryInt64Attribute(const char *name, int64_t *value) const See QueryIntAttribute() Definition: tinyxml2.h:1331
XMLError QueryIntValue(int *value) const
- XMLError QueryBoolAttribute(const char *name, bool *value) const See QueryIntAttribute() Definition: tinyxml2.h:1339
- virtual bool VisitExit(const XMLDocument &) Visit a document. Definition: tinyxml2.h:477
- virtual XMLNode * ShallowClone(XMLDocument *) const Definition: tinyxml2.h:1837
- virtual bool ShallowEqual(const XMLNode *) const Definition: tinyxml2.h:1840
- XMLHandle FirstChildElement(const char *name=0) Get the first child element of this handle. Definition: tinyxml2.h:1972
- XMLText * ToText() Safe cast to XMLText. This can return null. Definition: tinyxml2.h:2009
+ XMLError QueryBoolAttribute(const char *name, bool *value) const See QueryIntAttribute() Definition: tinyxml2.h:1340
+ virtual bool VisitExit(const XMLDocument &) Visit a document. Definition: tinyxml2.h:478
+ virtual XMLNode * ShallowClone(XMLDocument *) const Definition: tinyxml2.h:1843
+ virtual bool ShallowEqual(const XMLNode *) const Definition: tinyxml2.h:1846
+ XMLHandle FirstChildElement(const char *name=0) Get the first child element of this handle. Definition: tinyxml2.h:1976
+ XMLText * ToText() Safe cast to XMLText. This can return null. Definition: tinyxml2.h:2013
XMLError QueryFloatValue(float *value) const See QueryIntValue.
- const char * CStr() const Definition: tinyxml2.h:2203
- XMLError ErrorID() const Return the errorID. Definition: tinyxml2.h:1799
- XMLElement * ToElement() Safe cast to XMLElement. This can return null. Definition: tinyxml2.h:2005
- virtual XMLElement * ToElement() Safely cast to an Element, or null. Definition: tinyxml2.h:673
- virtual XMLText * ToText() Safely cast to Text, or null. Definition: tinyxml2.h:677
- XMLError QueryUnsignedAttribute(const char *name, unsigned int *value) const See QueryIntAttribute() Definition: tinyxml2.h:1321
- int CStrSize() const Definition: tinyxml2.h:2211
- float FloatValue() const Query as a float. See IntValue() Definition: tinyxml2.h:1174
- virtual XMLDocument * ToDocument() Safely cast to a Document, or null. Definition: tinyxml2.h:1642
- XMLUnknown * ToUnknown() Safe cast to XMLUnknown. This can return null. Definition: tinyxml2.h:2013
- const char * Name() const Get the name of an element (which is the Value() of the node.) Definition: tinyxml2.h:1240
- XMLHandle(const XMLHandle &ref) Copy constructor. Definition: tinyxml2.h:1958
- XMLHandle FirstChild() Get the first child of this handle. Definition: tinyxml2.h:1968
- void SetCData(bool isCData) Declare whether this should be CDATA or standard text. Definition: tinyxml2.h:986
- void SetUserData(void *userData) Definition: tinyxml2.h:920
- const XMLNode * NextSibling() const Get the next (right) sibling node of this node. Definition: tinyxml2.h:802
- unsigned UnsignedValue() const Query as an unsigned integer. See IntValue() Definition: tinyxml2.h:1156
- XMLHandle LastChildElement(const char *name=0) Get the last child element of this handle. Definition: tinyxml2.h:1980
- XMLHandle LastChild() Get the last child of this handle. Definition: tinyxml2.h:1976
- Definition: tinyxml2.h:1946
- Definition: tinyxml2.h:1051
- XMLElement * RootElement() Definition: tinyxml2.h:1721
- int QueryAttribute(const char *name, int *value) const Definition: tinyxml2.h:1381
- virtual XMLText * ToText() Safely cast to Text, or null. Definition: tinyxml2.h:978
- XMLHandle(XMLNode &node) Create a handle from a node. Definition: tinyxml2.h:1954
- void SetName(const char *str, bool staticMem=false) Set the name of the element. Definition: tinyxml2.h:1244
- void SetBOM(bool useBOM) Definition: tinyxml2.h:1714
- XMLHandle(XMLNode *node) Create a handle from any node (at any depth of the tree.) This can be a null pointer. Definition: tinyxml2.h:1950
- void ClearBuffer() Definition: tinyxml2.h:2218
-
- virtual XMLElement * ToElement() Safely cast to an Element, or null. Definition: tinyxml2.h:1248
- bool HasBOM() const Definition: tinyxml2.h:1709
+ const char * CStr() const Definition: tinyxml2.h:2204
+ XMLError ErrorID() const Return the errorID. Definition: tinyxml2.h:1805
+ XMLElement * ToElement() Safe cast to XMLElement. This can return null. Definition: tinyxml2.h:2009
+ virtual XMLElement * ToElement() Safely cast to an Element, or null. Definition: tinyxml2.h:674
+ virtual XMLText * ToText() Safely cast to Text, or null. Definition: tinyxml2.h:678
+ XMLError QueryUnsignedAttribute(const char *name, unsigned int *value) const See QueryIntAttribute() Definition: tinyxml2.h:1322
+ int CStrSize() const Definition: tinyxml2.h:2212
+ float FloatValue() const Query as a float. See IntValue() Definition: tinyxml2.h:1175
+ virtual XMLDocument * ToDocument() Safely cast to a Document, or null. Definition: tinyxml2.h:1650
+ XMLUnknown * ToUnknown() Safe cast to XMLUnknown. This can return null. Definition: tinyxml2.h:2017
+ const char * Name() const Get the name of an element (which is the Value() of the node.) Definition: tinyxml2.h:1241
+ XMLHandle(const XMLHandle &ref) Copy constructor. Definition: tinyxml2.h:1963
+ XMLHandle FirstChild() Get the first child of this handle. Definition: tinyxml2.h:1972
+ void SetCData(bool isCData) Declare whether this should be CDATA or standard text. Definition: tinyxml2.h:987
+ void SetUserData(void *userData) Definition: tinyxml2.h:921
+ const XMLNode * NextSibling() const Get the next (right) sibling node of this node. Definition: tinyxml2.h:803
+ unsigned UnsignedValue() const Query as an unsigned integer. See IntValue() Definition: tinyxml2.h:1157
+ XMLHandle LastChildElement(const char *name=0) Get the last child element of this handle. Definition: tinyxml2.h:1984
+ XMLHandle LastChild() Get the last child of this handle. Definition: tinyxml2.h:1980
+ Definition: tinyxml2.h:1953
+ Definition: tinyxml2.h:1052
+ XMLElement * RootElement() Definition: tinyxml2.h:1729
+ int QueryAttribute(const char *name, int *value) const Definition: tinyxml2.h:1382
+ virtual XMLText * ToText() Safely cast to Text, or null. Definition: tinyxml2.h:979
+ XMLHandle(XMLNode &node) Create a handle from a node. Definition: tinyxml2.h:1960
+ void SetName(const char *str, bool staticMem=false) Set the name of the element. Definition: tinyxml2.h:1245
+ void SetBOM(bool useBOM) Definition: tinyxml2.h:1722
+ XMLHandle(XMLNode *node) Create a handle from any node (at any depth of the tree.) This can be a null pointer. Definition: tinyxml2.h:1957
+ void ClearBuffer() Definition: tinyxml2.h:2219
+
+ virtual XMLElement * ToElement() Safely cast to an Element, or null. Definition: tinyxml2.h:1249
+ bool HasBOM() const Definition: tinyxml2.h:1717
Definition: tinyxml2.h:105
- XMLError QueryFloatAttribute(const char *name, float *value) const See QueryIntAttribute() Definition: tinyxml2.h:1355
+ XMLError QueryFloatAttribute(const char *name, float *value) const See QueryIntAttribute() Definition: tinyxml2.h:1356
XMLError QueryUnsignedValue(unsigned int *value) const See QueryIntValue.
- XMLNode * ToNode() Safe cast to XMLNode. This can return null. Definition: tinyxml2.h:2001
- bool BoolValue() const Query as a boolean. See IntValue() Definition: tinyxml2.h:1162
- const XMLNode * FirstChild() const Get the first child node, or null if none exists. Definition: tinyxml2.h:750
-
- virtual XMLDeclaration * ToDeclaration() Safely cast to a Declaration, or null. Definition: tinyxml2.h:1055
- virtual bool Visit(const XMLDeclaration &) Visit a declaration. Definition: tinyxml2.h:491
- virtual bool Visit(const XMLUnknown &) Visit an unknown node. Definition: tinyxml2.h:503
- void SetAttribute(const char *name, unsigned value) Sets the named attribute to value. Definition: tinyxml2.h:1416
- XMLError QueryDoubleAttribute(const char *name, double *value) const See QueryIntAttribute() Definition: tinyxml2.h:1347
- Definition: tinyxml2.h:1235
+ XMLNode * ToNode() Safe cast to XMLNode. This can return null. Definition: tinyxml2.h:2005
+ bool BoolValue() const Query as a boolean. See IntValue() Definition: tinyxml2.h:1163
+ const XMLNode * FirstChild() const Get the first child node, or null if none exists. Definition: tinyxml2.h:751
+
+ virtual XMLDeclaration * ToDeclaration() Safely cast to a Declaration, or null. Definition: tinyxml2.h:1056
+ virtual bool Visit(const XMLDeclaration &) Visit a declaration. Definition: tinyxml2.h:492
+ virtual bool Visit(const XMLUnknown &) Visit an unknown node. Definition: tinyxml2.h:504
+ void SetAttribute(const char *name, unsigned value) Sets the named attribute to value. Definition: tinyxml2.h:1417
+ XMLError QueryDoubleAttribute(const char *name, double *value) const See QueryIntAttribute() Definition: tinyxml2.h:1348
+ Definition: tinyxml2.h:1236
XMLError QueryInt64Value(int64_t *value) const See QueryIntValue.
- XMLHandle NextSibling() Get the next sibling of this handle. Definition: tinyxml2.h:1992
- int GetLineNum() const Gets the line number the attribute is in, if the document was parsed from a file. ... Definition: tinyxml2.h:1132
- int IntValue() const Definition: tinyxml2.h:1143
- virtual XMLUnknown * ToUnknown() Safely cast to an Unknown, or null. Definition: tinyxml2.h:1090
- bool CData() const Returns true if this is a CDATA text element. Definition: tinyxml2.h:990
- XMLHandle PreviousSibling() Get the previous sibling of this handle. Definition: tinyxml2.h:1984
- Definition: tinyxml2.h:2030
- XMLHandle & operator=(const XMLHandle &ref) Assignment. Definition: tinyxml2.h:1962
- virtual bool VisitExit(const XMLDocument &) Visit a document. Definition: tinyxml2.h:2187
- virtual bool VisitEnter(const XMLElement &, const XMLAttribute *) Visit an element. Definition: tinyxml2.h:482
- bool Error() const Return true if there was an error parsing the document. Definition: tinyxml2.h:1795
- virtual bool VisitEnter(const XMLDocument &) Visit a document. Definition: tinyxml2.h:473
- Definition: tinyxml2.h:1086
- virtual XMLDocument * ToDocument() Safely cast to a Document, or null. Definition: tinyxml2.h:685
- const XMLNode * LastChild() const Get the last child node, or null if none exists. Definition: tinyxml2.h:768
- Definition: tinyxml2.h:1121
- void SetAttribute(const char *name, bool value) Sets the named attribute to value. Definition: tinyxml2.h:1428
- XMLDeclaration * ToDeclaration() Safe cast to XMLDeclaration. This can return null. Definition: tinyxml2.h:2017
+ XMLHandle NextSibling() Get the next sibling of this handle. Definition: tinyxml2.h:1996
+ int GetLineNum() const Gets the line number the attribute is in, if the document was parsed from a file. ... Definition: tinyxml2.h:1133
+ int IntValue() const Definition: tinyxml2.h:1144
+ virtual XMLUnknown * ToUnknown() Safely cast to an Unknown, or null. Definition: tinyxml2.h:1091
+ bool CData() const Returns true if this is a CDATA text element. Definition: tinyxml2.h:991
+ XMLHandle PreviousSibling() Get the previous sibling of this handle. Definition: tinyxml2.h:1988
+ Definition: tinyxml2.h:2034
+ XMLHandle & operator=(const XMLHandle &ref) Assignment. Definition: tinyxml2.h:1966
+ virtual bool VisitExit(const XMLDocument &) Visit a document. Definition: tinyxml2.h:2188
+ virtual bool VisitEnter(const XMLElement &, const XMLAttribute *) Visit an element. Definition: tinyxml2.h:483
+ bool Error() const Return true if there was an error parsing the document. Definition: tinyxml2.h:1801
+ virtual bool VisitEnter(const XMLDocument &) Visit a document. Definition: tinyxml2.h:474
+ Definition: tinyxml2.h:1087
+ virtual XMLDocument * ToDocument() Safely cast to a Document, or null. Definition: tinyxml2.h:686
+ const XMLNode * LastChild() const Get the last child node, or null if none exists. Definition: tinyxml2.h:769
+ Definition: tinyxml2.h:1122
+ void SetAttribute(const char *name, bool value) Sets the named attribute to value. Definition: tinyxml2.h:1429
+ XMLDeclaration * ToDeclaration() Safe cast to XMLDeclaration. This can return null. Definition: tinyxml2.h:2021
void SetAttribute(const char *value) Set the attribute to a string value.
- void SetAttribute(const char *name, const char *value) Sets the named attribute to value. Definition: tinyxml2.h:1406
- virtual bool VisitExit(const XMLElement &) Visit an element. Definition: tinyxml2.h:486
- Definition: tinyxml2.h:2137
- Definition: tinyxml2.h:1634
- void * GetUserData() const Definition: tinyxml2.h:927
- int GetErrorLineNum() const Return the line where the error occured, or zero if unknown. Definition: tinyxml2.h:1812
- void SetAttribute(const char *name, int64_t value) Sets the named attribute to value. Definition: tinyxml2.h:1422
- void SetAttribute(const char *name, double value) Sets the named attribute to value. Definition: tinyxml2.h:1433
+ void SetAttribute(const char *name, const char *value) Sets the named attribute to value. Definition: tinyxml2.h:1407
+ virtual bool VisitExit(const XMLElement &) Visit an element. Definition: tinyxml2.h:487
+ Definition: tinyxml2.h:2138
+ Definition: tinyxml2.h:1635
+ void * GetUserData() const Definition: tinyxml2.h:928
+ void SetAttribute(const char *name, int64_t value) Sets the named attribute to value. Definition: tinyxml2.h:1423
+ void SetAttribute(const char *name, double value) Sets the named attribute to value. Definition: tinyxml2.h:1434
XMLError QueryDoubleValue(double *value) const See QueryIntValue.
- const XMLNode * Parent() const Get the parent of this node on the DOM. Definition: tinyxml2.h:736
- virtual bool Visit(const XMLComment &) Visit a comment node. Definition: tinyxml2.h:499
+ const XMLNode * Parent() const Get the parent of this node on the DOM. Definition: tinyxml2.h:737
+ virtual bool Visit(const XMLComment &) Visit a comment node. Definition: tinyxml2.h:500
XMLError QueryBoolValue(bool *value) const See QueryIntValue.
- const XMLNode * PreviousSibling() const Get the previous (left) sibling node of this node. Definition: tinyxml2.h:786
- XMLHandle NextSiblingElement(const char *name=0) Get the next sibling element of this handle. Definition: tinyxml2.h:1996
- Definition: tinyxml2.h:655
- XMLError QueryIntAttribute(const char *name, int *value) const Definition: tinyxml2.h:1312
- int GetLineNum() const Gets the line number the node is in, if the document was parsed from a file. Definition: tinyxml2.h:733
- virtual bool Visit(const XMLText &) Visit a text node. Definition: tinyxml2.h:495
- Definition: tinyxml2.h:972
- Definition: tinyxml2.h:467
- XMLDocument * GetDocument() Get the XMLDocument that owns this XMLNode. Definition: tinyxml2.h:667
- virtual XMLUnknown * ToUnknown() Safely cast to an Unknown, or null. Definition: tinyxml2.h:693
- void SetAttribute(const char *name, float value) Sets the named attribute to value. Definition: tinyxml2.h:1438
- const XMLAttribute * Next() const The next attribute in the list. Definition: tinyxml2.h:1135
- bool NoChildren() const Returns true if this node has no children. Definition: tinyxml2.h:745
- double DoubleValue() const Query as a double. See IntValue() Definition: tinyxml2.h:1168
- virtual XMLDeclaration * ToDeclaration() Safely cast to a Declaration, or null. Definition: tinyxml2.h:689
- const XMLDocument * GetDocument() const Get the XMLDocument that owns this XMLNode. Definition: tinyxml2.h:662
- XMLHandle PreviousSiblingElement(const char *name=0) Get the previous sibling element of this handle. Definition: tinyxml2.h:1988
- void SetAttribute(const char *name, int value) Sets the named attribute to value. Definition: tinyxml2.h:1411
- const XMLAttribute * FirstAttribute() const Return the first attribute in the list. Definition: tinyxml2.h:1449
- virtual XMLComment * ToComment() Safely cast to a Comment, or null. Definition: tinyxml2.h:681
+ const XMLNode * PreviousSibling() const Get the previous (left) sibling node of this node. Definition: tinyxml2.h:787
+ XMLHandle NextSiblingElement(const char *name=0) Get the next sibling element of this handle. Definition: tinyxml2.h:2000
+ Definition: tinyxml2.h:656
+ XMLError QueryIntAttribute(const char *name, int *value) const Definition: tinyxml2.h:1313
+ int GetLineNum() const Gets the line number the node is in, if the document was parsed from a file. Definition: tinyxml2.h:734
+ virtual bool Visit(const XMLText &) Visit a text node. Definition: tinyxml2.h:496
+ Definition: tinyxml2.h:973
+ Definition: tinyxml2.h:468
+ int ErrorLineNum() const Return the line where the error occured, or zero if unknown. Definition: tinyxml2.h:1820
+ XMLDocument * GetDocument() Get the XMLDocument that owns this XMLNode. Definition: tinyxml2.h:668
+ virtual XMLUnknown * ToUnknown() Safely cast to an Unknown, or null. Definition: tinyxml2.h:694
+ void SetAttribute(const char *name, float value) Sets the named attribute to value. Definition: tinyxml2.h:1439
+ const XMLAttribute * Next() const The next attribute in the list. Definition: tinyxml2.h:1136
+ bool NoChildren() const Returns true if this node has no children. Definition: tinyxml2.h:746
+ double DoubleValue() const Query as a double. See IntValue() Definition: tinyxml2.h:1169
+ virtual XMLDeclaration * ToDeclaration() Safely cast to a Declaration, or null. Definition: tinyxml2.h:690
+ const XMLDocument * GetDocument() const Get the XMLDocument that owns this XMLNode. Definition: tinyxml2.h:663
+ XMLHandle PreviousSiblingElement(const char *name=0) Get the previous sibling element of this handle. Definition: tinyxml2.h:1992
+ void SetAttribute(const char *name, int value) Sets the named attribute to value. Definition: tinyxml2.h:1412
+ const XMLAttribute * FirstAttribute() const Return the first attribute in the list. Definition: tinyxml2.h:1450
+ virtual XMLComment * ToComment() Safely cast to a Comment, or null. Definition: tinyxml2.h:682
|