ReactOS 0.4.17-dev-966-gf06eace
tinyxml2::XMLComment Class Reference

#include <tinyxml2.h>

Inheritance diagram for tinyxml2::XMLComment:
Collaboration diagram for tinyxml2::XMLComment:

Public Member Functions

virtual XMLComment * ToComment ()
 Safely cast to a Comment, or null.
 
virtual const XMLComment * ToComment () const
 
virtual bool Accept (XMLVisitor *visitor) const
 
virtual XMLNode * ShallowClone (XMLDocument *document) const
 
virtual bool ShallowEqual (const XMLNode *compare) const
 
- Public Member Functions inherited from tinyxml2::XMLNode
const XMLDocument * GetDocument () const
 Get the XMLDocument that owns this XMLNode.
 
XMLDocument * GetDocument ()
 Get the XMLDocument that owns this XMLNode.
 
virtual XMLElement * ToElement ()
 Safely cast to an Element, or null.
 
virtual XMLText * ToText ()
 Safely cast to Text, or null.
 
virtual XMLComment * ToComment ()
 Safely cast to a Comment, or null.
 
virtual XMLDocument * ToDocument ()
 Safely cast to a Document, or null.
 
virtual XMLDeclaration * ToDeclaration ()
 Safely cast to a Declaration, or null.
 
virtual XMLUnknown * ToUnknown ()
 Safely cast to an Unknown, or null.
 
virtual const XMLElement * ToElement () const
 
virtual const XMLText * ToText () const
 
virtual const XMLComment * ToComment () const
 
virtual const XMLDocument * ToDocument () const
 
virtual const XMLDeclaration * ToDeclaration () const
 
virtual const XMLUnknown * ToUnknown () const
 
const char * Value () const
 
void SetValue (const char *val, bool staticMem=false)
 
const XMLNode * Parent () const
 Get the parent of this node on the DOM.
 
XMLNode * Parent ()
 
bool NoChildren () const
 Returns true if this node has no children.
 
const XMLNode * FirstChild () const
 Get the first child node, or null if none exists.
 
XMLNode * FirstChild ()
 
const XMLElement * FirstChildElement (const char *name=0) const
 
XMLElement * FirstChildElement (const char *name=0)
 
const XMLNode * LastChild () const
 Get the last child node, or null if none exists.
 
XMLNode * LastChild ()
 
const XMLElement * LastChildElement (const char *name=0) const
 
XMLElement * LastChildElement (const char *name=0)
 
const XMLNode * PreviousSibling () const
 Get the previous (left) sibling node of this node.
 
XMLNode * PreviousSibling ()
 
const XMLElement * PreviousSiblingElement (const char *name=0) const
 Get the previous (left) sibling element of this node, with an optionally supplied name.
 
XMLElement * PreviousSiblingElement (const char *name=0)
 
const XMLNode * NextSibling () const
 Get the next (right) sibling node of this node.
 
XMLNode * NextSibling ()
 
const XMLElement * NextSiblingElement (const char *name=0) const
 Get the next (right) sibling element of this node, with an optionally supplied name.
 
XMLElement * NextSiblingElement (const char *name=0)
 
XMLNode * InsertEndChild (XMLNode *addThis)
 
XMLNode * LinkEndChild (XMLNode *addThis)
 
XMLNode * InsertFirstChild (XMLNode *addThis)
 
XMLNode * InsertAfterChild (XMLNode *afterThis, XMLNode *addThis)
 
void DeleteChildren ()
 
void DeleteChild (XMLNode *node)
 
virtual XMLNode * ShallowClone (XMLDocument *document) const =0
 
virtual bool ShallowEqual (const XMLNode *compare) const =0
 
virtual bool Accept (XMLVisitor *visitor) const =0
 

Protected Member Functions

 XMLComment (XMLDocument *doc)
 
virtual ~XMLComment ()
 
char * ParseDeep (char *, StrPair *endTag)
 
- Protected Member Functions inherited from tinyxml2::XMLNode
 XMLNode (XMLDocument *)
 
virtual ~XMLNode ()
 
virtual char * ParseDeep (char *, StrPair *)
 

Private Member Functions

 XMLComment (const XMLComment &)
 
XMLComment & operator= (const XMLComment &)
 

Friends

class XMLDocument
 

Additional Inherited Members

- Protected Attributes inherited from tinyxml2::XMLNode
XMLDocument * _document
 
XMLNode * _parent
 
StrPair _value
 
XMLNode * _firstChild
 
XMLNode * _lastChild
 
XMLNode * _prev
 
XMLNode * _next
 

Detailed Description

An XML Comment.

Definition at line 935 of file tinyxml2.h.

Constructor & Destructor Documentation

◆ XMLComment() [1/2]

tinyxml2::XMLComment::XMLComment ( XMLDocument *  doc)
protected

Definition at line 1094 of file tinyxml2.cpp.

1094 : XMLNode( doc )
1095{
1096}
XMLNode(XMLDocument *)
Definition: tinyxml2.cpp:701

◆ ~XMLComment()

tinyxml2::XMLComment::~XMLComment ( )
protectedvirtual

Definition at line 1099 of file tinyxml2.cpp.

1100{
1101}

◆ XMLComment() [2/2]

tinyxml2::XMLComment::XMLComment ( const XMLComment &  )
private

Member Function Documentation

◆ Accept()

bool tinyxml2::XMLComment::Accept ( XMLVisitor *  visitor) const
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.

Definition at line 1134 of file tinyxml2.cpp.

1135{
1136 TIXMLASSERT( visitor );
1137 return visitor->Visit( *this );
1138}
#define TIXMLASSERT(x)
Definition: tinyxml2.h:88

◆ operator=()

XMLComment & tinyxml2::XMLComment::operator= ( const XMLComment &  )
private

◆ ParseDeep()

char * tinyxml2::XMLComment::ParseDeep ( char *  p,
StrPair *  endTag 
)
protectedvirtual

Reimplemented from tinyxml2::XMLNode.

Definition at line 1104 of file tinyxml2.cpp.

1105{
1106 // Comment parses as text.
1107 const char* start = p;
1108 p = _value.ParseText( p, "-->", StrPair::COMMENT );
1109 if ( p == 0 ) {
1111 }
1112 return p;
1113}
char * ParseText(char *in, const char *endTag, int strFlags)
Definition: tinyxml2.cpp:191
void SetError(XMLError error, const char *str1, const char *str2)
Definition: tinyxml2.cpp:2053
StrPair _value
Definition: tinyxml2.h:863
XMLDocument * _document
Definition: tinyxml2.h:861
GLuint start
Definition: gl.h:1545
GLfloat GLfloat p
Definition: glext.h:8902
@ XML_ERROR_PARSING_COMMENT
Definition: tinyxml2.h:500

◆ ShallowClone()

XMLNode * tinyxml2::XMLComment::ShallowClone ( XMLDocument *  document) const
virtual

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.

Definition at line 1116 of file tinyxml2.cpp.

1117{
1118 if ( !doc ) {
1119 doc = _document;
1120 }
1121 XMLComment* comment = doc->NewComment( Value() ); // fixme: this will always allocate memory. Intern?
1122 return comment;
1123}
XMLComment(XMLDocument *doc)
Definition: tinyxml2.cpp:1094
const char * Value() const
Definition: tinyxml2.cpp:719
#define comment(fmt, arg1)
Definition: rebar.c:847

◆ ShallowEqual()

bool tinyxml2::XMLComment::ShallowEqual ( const XMLNode *  compare) const
virtual

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.

Definition at line 1126 of file tinyxml2.cpp.

1127{
1129 const XMLComment* comment = compare->ToComment();
1130 return ( comment && XMLUtil::StringEqual( comment->Value(), Value() ));
1131}
static bool StringEqual(const char *p, const char *q, int nChar=INT_MAX)
Definition: tinyxml2.h:555
Definition: bug.cpp:8
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413

◆ ToComment() [1/2]

virtual XMLComment * tinyxml2::XMLComment::ToComment ( )
inlinevirtual

Safely cast to a Comment, or null.

Reimplemented from tinyxml2::XMLNode.

Definition at line 939 of file tinyxml2.h.

939 {
940 return this;
941 }

◆ ToComment() [2/2]

virtual const XMLComment * tinyxml2::XMLComment::ToComment ( ) const
inlinevirtual

Reimplemented from tinyxml2::XMLNode.

Definition at line 942 of file tinyxml2.h.

942 {
943 return this;
944 }

Friends And Related Function Documentation

◆ XMLDocument

friend class XMLDocument
friend

Definition at line 937 of file tinyxml2.h.


The documentation for this class was generated from the following files: