| LatMRG Guide
    1.0
    A software package to test and search for new linear congruential random number generators | 
A Document binds together all the functionality. More...
#include <tinyxml2.h>
 
  
 | Classes | |
| class | DepthTracker | 
| Public Member Functions | |
| XMLDocument (bool processEntities=true, Whitespace whitespaceMode=PRESERVE_WHITESPACE) | |
| constructor  More... | |
| ~XMLDocument () | |
| virtual bool | Accept (XMLVisitor *visitor) const | 
| Accept a hierarchical visit of the nodes in the TinyXML-2 DOM.  More... | |
| void | Clear () | 
| Clear the document, resetting it to the initial state.  More... | |
| void | ClearError () | 
| void | DeepCopy (XMLDocument *target) const | 
| Copies this document to a target document.  More... | |
| void | DeleteNode (XMLNode *node) | 
| Delete a node associated with this document.  More... | |
| bool | Error () const | 
| Return true if there was an error parsing the document.  More... | |
| XMLError | ErrorID () const | 
| Return the errorID.  More... | |
| int | ErrorLineNum () const | 
| Return the line where the error occurred, or zero if unknown.  More... | |
| const char * | ErrorName () const | 
| const char * | ErrorStr () const | 
| Returns a "long form" error description.  More... | |
| bool | HasBOM () const | 
| Returns true if this document has a leading Byte Order Mark of UTF8.  More... | |
| char * | Identify (char *p, XMLNode **node) | 
| XMLError | LoadFile (const char *filename) | 
| Load an XML file from disk.  More... | |
| XMLError | LoadFile (FILE *) | 
| Load an XML file from disk.  More... | |
| void | MarkInUse (XMLNode *) | 
| XMLComment * | NewComment (const char *comment) | 
| Create a new Comment associated with this Document.  More... | |
| XMLDeclaration * | NewDeclaration (const char *text=0) | 
| Create a new Declaration associated with this Document.  More... | |
| XMLElement * | NewElement (const char *name) | 
| Create a new Element associated with this Document.  More... | |
| XMLText * | NewText (const char *text) | 
| Create a new Text associated with this Document.  More... | |
| XMLUnknown * | NewUnknown (const char *text) | 
| Create a new Unknown associated with this Document.  More... | |
| XMLError | Parse (const char *xml, size_t nBytes=static_cast< size_t >(-1)) | 
| Parse an XML file from a character string.  More... | |
| void | Print (XMLPrinter *streamer=0) const | 
| Print the Document.  More... | |
| void | PrintError () const | 
| A (trivial) utility function that prints the ErrorStr() to stdout.  More... | |
| bool | ProcessEntities () const | 
| XMLElement * | RootElement () | 
| Return the root element of DOM.  More... | |
| const XMLElement * | RootElement () const | 
| XMLError | SaveFile (const char *filename, bool compact=false) | 
| Save the XML file to disk.  More... | |
| XMLError | SaveFile (FILE *fp, bool compact=false) | 
| Save the XML file to disk.  More... | |
| void | SetBOM (bool useBOM) | 
| Sets whether to write the BOM when writing the file.  More... | |
| virtual XMLNode * | ShallowClone (XMLDocument *) const | 
| Make a copy of this node, but not its children.  More... | |
| virtual bool | ShallowEqual (const XMLNode *) const | 
| Test if 2 nodes are the same, but don't test children.  More... | |
| virtual XMLDocument * | ToDocument () | 
| Safely cast to a Document, or null.  More... | |
| virtual const XMLDocument * | ToDocument () const | 
| Whitespace | WhitespaceMode () const | 
|  Public Member Functions inherited from tinyxml2::XMLNode | |
| XMLNode * | DeepClone (XMLDocument *target) const | 
| Make a copy of this node and all its children.  More... | |
| void | DeleteChild (XMLNode *node) | 
| Delete a child of this node.  More... | |
| void | DeleteChildren () | 
| Delete all the children of this node.  More... | |
| const XMLNode * | FirstChild () const | 
| Get the first child node, or null if none exists.  More... | |
| XMLNode * | FirstChild () | 
| const XMLElement * | FirstChildElement (const char *name=0) const | 
| Get the first child element, or optionally the first child element with the specified name.  More... | |
| XMLElement * | FirstChildElement (const char *name=0) | 
| const XMLDocument * | GetDocument () const | 
| Get the XMLDocument that owns this XMLNode.  More... | |
| XMLDocument * | GetDocument () | 
| Get the XMLDocument that owns this XMLNode.  More... | |
| int | GetLineNum () const | 
| Gets the line number the node is in, if the document was parsed from a file.  More... | |
| void * | GetUserData () const | 
| Get user data set into the XMLNode.  More... | |
| XMLNode * | InsertAfterChild (XMLNode *afterThis, XMLNode *addThis) | 
| Add a node after the specified child node.  More... | |
| XMLNode * | InsertEndChild (XMLNode *addThis) | 
| Add a child node as the last (right) child.  More... | |
| XMLNode * | InsertFirstChild (XMLNode *addThis) | 
| Add a child node as the first (left) child.  More... | |
| const XMLNode * | LastChild () const | 
| Get the last child node, or null if none exists.  More... | |
| XMLNode * | LastChild () | 
| const XMLElement * | LastChildElement (const char *name=0) const | 
| Get the last child element or optionally the last child element with the specified name.  More... | |
| XMLElement * | LastChildElement (const char *name=0) | 
| XMLNode * | LinkEndChild (XMLNode *addThis) | 
| const XMLNode * | NextSibling () const | 
| Get the next (right) sibling node of this node.  More... | |
| XMLNode * | NextSibling () | 
| const XMLElement * | NextSiblingElement (const char *name=0) const | 
| Get the next (right) sibling element of this node, with an optionally supplied name.  More... | |
| XMLElement * | NextSiblingElement (const char *name=0) | 
| bool | NoChildren () const | 
| Returns true if this node has no children.  More... | |
| const XMLNode * | Parent () const | 
| Get the parent of this node on the DOM.  More... | |
| XMLNode * | Parent () | 
| const XMLNode * | PreviousSibling () const | 
| Get the previous (left) sibling node of this node.  More... | |
| XMLNode * | PreviousSibling () | 
| const XMLElement * | PreviousSiblingElement (const char *name=0) const | 
| Get the previous (left) sibling element of this node, with an optionally supplied name.  More... | |
| XMLElement * | PreviousSiblingElement (const char *name=0) | 
| void | SetUserData (void *userData) | 
| Set user data into the XMLNode.  More... | |
| void | SetValue (const char *val, bool staticMem=false) | 
| Set the Value of an XML node.  More... | |
| virtual XMLComment * | ToComment () | 
| Safely cast to a Comment, or null.  More... | |
| virtual const XMLComment * | ToComment () const | 
| virtual XMLDeclaration * | ToDeclaration () | 
| Safely cast to a Declaration, or null.  More... | |
| virtual const XMLDeclaration * | ToDeclaration () const | 
| virtual XMLElement * | ToElement () | 
| Safely cast to an Element, or null.  More... | |
| virtual const XMLElement * | ToElement () const | 
| virtual XMLText * | ToText () | 
| Safely cast to Text, or null.  More... | |
| virtual const XMLText * | ToText () const | 
| virtual XMLUnknown * | ToUnknown () | 
| Safely cast to an Unknown, or null.  More... | |
| virtual const XMLUnknown * | ToUnknown () const | 
| const char * | Value () const | 
| The meaning of 'value' changes for the specific type.  More... | |
| Static Public Member Functions | |
| static const char * | ErrorIDToName (XMLError errorID) | 
| Private Member Functions | |
| XMLDocument (const XMLDocument &) | |
| template<class NodeType , int PoolElementSize> | |
| NodeType * | CreateUnlinkedNode (MemPoolT< PoolElementSize > &pool) | 
| void | operator= (const XMLDocument &) | 
| void | Parse () | 
| void | PopDepth () | 
| void | PushDepth () | 
| void | SetError (XMLError error, int lineNum, const char *format,...) | 
| Private Attributes | |
| MemPoolT< sizeof(XMLAttribute) > | _attributePool | 
| char * | _charBuffer | 
| MemPoolT< sizeof(XMLComment) > | _commentPool | 
| MemPoolT< sizeof(XMLElement) > | _elementPool | 
| XMLError | _errorID | 
| int | _errorLineNum | 
| StrPair | _errorStr | 
| int | _parseCurLineNum | 
| int | _parsingDepth | 
| bool | _processEntities | 
| MemPoolT< sizeof(XMLText) > | _textPool | 
| DynArray< XMLNode *, 10 > | _unlinked | 
| Whitespace | _whitespaceMode | 
| bool | _writeBOM | 
| Static Private Attributes | |
| static const char * | _errorNames [XML_ERROR_COUNT] | 
| Friends | |
| class | XMLComment | 
| class | XMLDeclaration | 
| class | XMLElement | 
| class | XMLNode | 
| class | XMLText | 
| class | XMLUnknown | 
| Additional Inherited Members | |
|  Protected Member Functions inherited from tinyxml2::XMLNode | |
| XMLNode (XMLDocument *) | |
| virtual | ~XMLNode () | 
| virtual char * | ParseDeep (char *p, StrPair *parentEndTag, int *curLineNumPtr) | 
|  Protected Attributes inherited from tinyxml2::XMLNode | |
| XMLDocument * | _document | 
| XMLNode * | _firstChild | 
| XMLNode * | _lastChild | 
| XMLNode * | _next | 
| XMLNode * | _parent | 
| int | _parseLineNum | 
| XMLNode * | _prev | 
| void * | _userData | 
| StrPair | _value | 
A Document binds together all the functionality.
It can be saved, loaded, and printed to the screen. All Nodes are connected and allocated to a Document. If the Document is deleted, all its Nodes are also deleted.
| tinyxml2::XMLDocument::XMLDocument | ( | bool | processEntities = true, | 
| Whitespace | whitespaceMode = PRESERVE_WHITESPACE | ||
| ) | 
constructor
| tinyxml2::XMLDocument::~XMLDocument | ( | ) | 
| 
 | private | 
| 
 | virtual | 
Accept a hierarchical visit of the nodes in the TinyXML-2 DOM.
Every node in the XML tree will be conditionally visited and the host will be called back via the XMLVisitor interface.
This is essentially a SAX interface for TinyXML-2. (Note however it doesn't re-parse the XML for the callbacks, so the performance of TinyXML-2 is unchanged by using this interface versus any other.)
The interface has been based on ideas from:
Which are both good references for "visiting".
An example of using Accept():
XMLPrinter printer; tinyxmlDoc.Accept( &printer ); const char* xmlcstr = printer.CStr();
Implements tinyxml2::XMLNode.
| void tinyxml2::XMLDocument::Clear | ( | ) | 
Clear the document, resetting it to the initial state.
| 
 | inline | 
| 
 | inlineprivate | 
| void tinyxml2::XMLDocument::DeepCopy | ( | XMLDocument * | target | ) | const | 
Copies this document to a target document.
The target will be completely cleared before the copy. If you want to copy a sub-tree, see XMLNode::DeepClone().
NOTE: that the 'target' must be non-null.
| void tinyxml2::XMLDocument::DeleteNode | ( | XMLNode * | node | ) | 
Delete a node associated with this document.
It will be unlinked from the DOM.
| 
 | inline | 
Return true if there was an error parsing the document.
| 
 | inline | 
Return the errorID.
| 
 | static | 
| 
 | inline | 
Return the line where the error occurred, or zero if unknown.
| const char* tinyxml2::XMLDocument::ErrorName | ( | ) | const | 
| const char* tinyxml2::XMLDocument::ErrorStr | ( | ) | const | 
Returns a "long form" error description.
A hopefully helpful diagnostic with location, line number, and/or additional info.
| 
 | inline | 
Returns true if this document has a leading Byte Order Mark of UTF8.
| char* tinyxml2::XMLDocument::Identify | ( | char * | p, | 
| XMLNode ** | node | ||
| ) | 
| XMLError tinyxml2::XMLDocument::LoadFile | ( | const char * | filename | ) | 
Load an XML file from disk.
Returns XML_SUCCESS (0) on success, or an errorID.
| XMLError tinyxml2::XMLDocument::LoadFile | ( | FILE * | ) | 
Load an XML file from disk.
You are responsible for providing and closing the FILE*.
NOTE: The file should be opened as binary ("rb") not text in order for TinyXML-2 to correctly do newline normalization.
Returns XML_SUCCESS (0) on success, or an errorID.
| void tinyxml2::XMLDocument::MarkInUse | ( | XMLNode * | ) | 
| XMLComment* tinyxml2::XMLDocument::NewComment | ( | const char * | comment | ) | 
Create a new Comment associated with this Document.
The memory for the Comment is managed by the Document.
| XMLDeclaration* tinyxml2::XMLDocument::NewDeclaration | ( | const char * | text = 0 | ) | 
Create a new Declaration associated with this Document.
The memory for the object is managed by the Document.
If the 'text' param is null, the standard declaration is used.:
<?xml version="1.0" encoding="UTF-8"?>
| XMLElement* tinyxml2::XMLDocument::NewElement | ( | const char * | name | ) | 
Create a new Element associated with this Document.
The memory for the Element is managed by the Document.
| XMLText* tinyxml2::XMLDocument::NewText | ( | const char * | text | ) | 
Create a new Text associated with this Document.
The memory for the Text is managed by the Document.
| XMLUnknown* tinyxml2::XMLDocument::NewUnknown | ( | const char * | text | ) | 
Create a new Unknown associated with this Document.
The memory for the object is managed by the Document.
| 
 | private | 
| XMLError tinyxml2::XMLDocument::Parse | ( | const char * | xml, | 
| size_t | nBytes = static_cast< size_t >(-1) | ||
| ) | 
Parse an XML file from a character string.
Returns XML_SUCCESS (0) on success, or an errorID.
You may optionally pass in the 'nBytes', which is the number of bytes which will be parsed. If not specified, TinyXML-2 will assume 'xml' points to a null terminated string.
| 
 | private | 
| 
 | private | 
| void tinyxml2::XMLDocument::Print | ( | XMLPrinter * | streamer = 0 | ) | const | 
Print the Document.
If the Printer is not provided, it will print to stdout. If you provide Printer, this can print to a file:
XMLPrinter printer( fp ); doc.Print( &printer );
Or you can use a printer to print to memory:
XMLPrinter printer; doc.Print( &printer ); // printer.CStr() has a const char* to the XML
| void tinyxml2::XMLDocument::PrintError | ( | ) | const | 
A (trivial) utility function that prints the ErrorStr() to stdout.
| 
 | inline | 
| 
 | private | 
| 
 | inline | 
Return the root element of DOM.
Equivalent to FirstChildElement(). To get the first node, use FirstChild().
| 
 | inline | 
| XMLError tinyxml2::XMLDocument::SaveFile | ( | const char * | filename, | 
| bool | compact = false | ||
| ) | 
Save the XML file to disk.
Returns XML_SUCCESS (0) on success, or an errorID.
| XMLError tinyxml2::XMLDocument::SaveFile | ( | FILE * | fp, | 
| bool | compact = false | ||
| ) | 
Save the XML file to disk.
You are responsible for providing and closing the FILE*.
Returns XML_SUCCESS (0) on success, or an errorID.
| 
 | inline | 
Sets whether to write the BOM when writing the file.
| 
 | private | 
| 
 | inlinevirtual | 
Make a copy of this node, but not its children.
You may pass in a Document pointer that will be the owner of the new Node. If the 'document' is null, then the node returned will be allocated from the current Document. (this->GetDocument())
Note: if called on a XMLDocument, this will return null.
Implements tinyxml2::XMLNode.
| 
 | inlinevirtual | 
Test if 2 nodes are the same, but don't test children.
The 2 nodes do not need to be in the same Document.
Note: if called on a XMLDocument, this will return false.
Implements tinyxml2::XMLNode.
| 
 | inlinevirtual | 
Safely cast to a Document, or null.
Reimplemented from tinyxml2::XMLNode.
| 
 | inlinevirtual | 
Reimplemented from tinyxml2::XMLNode.
| 
 | inline | 
| 
 | friend | 
| 
 | friend | 
| 
 | friend | 
| 
 | friend | 
| 
 | friend | 
| 
 | friend | 
| 
 | private | 
| 
 | private | 
| 
 | private | 
| 
 | private | 
| 
 | private | 
| 
 | private | 
| 
 | staticprivate | 
| 
 | mutableprivate | 
| 
 | private | 
| 
 | private | 
| 
 | private | 
| 
 | private | 
| 
 | private |