DD4hep  1.30.0
Detector Description Toolkit for High Energy Physics
Public Member Functions | Private Member Functions | Private Attributes | List of all members
TiXmlPrinter Class Reference

TinyXML class. See http://www.grinninglizard.com/tinyxml. More...

#include <tinyxml.h>

Inheritance diagram for TiXmlPrinter:
TiXmlVisitor

Public Member Functions

 TiXmlPrinter ()
 
virtual bool VisitEnter (const TiXmlDocument &doc) override
 Visit a document. More...
 
virtual bool VisitExit (const TiXmlDocument &doc) override
 Visit a document. More...
 
virtual bool VisitEnter (const TiXmlElement &element, const TiXmlAttribute *firstAttribute) override
 Visit an element. More...
 
virtual bool VisitExit (const TiXmlElement &element) override
 Visit an element. More...
 
virtual bool Visit (const TiXmlDeclaration &declaration) override
 Visit a declaration. More...
 
virtual bool Visit (const TiXmlText &text) override
 Visit a text node. More...
 
virtual bool Visit (const TiXmlComment &comment) override
 Visit a comment node. More...
 
virtual bool Visit (const TiXmlUnknown &unknown) override
 Visit an unknow node. More...
 
void SetIndent (const char *_indent)
 
const char * Indent ()
 Query the indention string. More...
 
void SetLineBreak (const char *_lineBreak)
 
const char * LineBreak ()
 Query the current line breaking string. More...
 
void SetStreamPrinting ()
 
const char * CStr ()
 Return the result. More...
 
size_t Size ()
 Return the length of the result string. More...
 
const std::string & Str ()
 Return the result. More...
 
- Public Member Functions inherited from TiXmlVisitor
virtual ~TiXmlVisitor ()
 

Private Member Functions

void DoIndent ()
 
void DoLineBreak ()
 

Private Attributes

int depth
 
bool simpleTextPrint
 
TIXML_STRING buffer
 
TIXML_STRING indent
 
TIXML_STRING lineBreak
 

Detailed Description

TinyXML class. See http://www.grinninglizard.com/tinyxml.

Print to memory functionality. The TiXmlPrinter is useful when you need to:

  1. Print to memory (especially in non-STL mode)
  2. Control formatting (line endings, etc.)

When constructed, the TiXmlPrinter is in its default "pretty printing" mode. Before calling Accept() you can call methods to control the printing of the XML document. After TiXmlNode::Accept() is called, the printed document can be accessed via the CStr(), Str(), and Size() methods.

TiXmlPrinter uses the Visitor API.

TiXmlPrinter printer;
printer.SetIndent( "\t" );

doc.Accept( &printer );
fprintf( stdout, "%s", printer.CStr() );

See

See also
http://www.grinninglizard.com/tinyxml

Definition at line 1946 of file tinyxml.h.

Constructor & Destructor Documentation

◆ TiXmlPrinter()

TiXmlPrinter::TiXmlPrinter ( )
inline

Definition at line 1948 of file tinyxml.h.

Member Function Documentation

◆ CStr()

const char* TiXmlPrinter::CStr ( )
inline

Return the result.

Definition at line 1993 of file tinyxml.h.

◆ DoIndent()

void TiXmlPrinter::DoIndent ( )
inlineprivate

Definition at line 2009 of file tinyxml.h.

◆ DoLineBreak()

void TiXmlPrinter::DoLineBreak ( )
inlineprivate

Definition at line 2013 of file tinyxml.h.

◆ Indent()

const char* TiXmlPrinter::Indent ( )
inline

Query the indention string.

Definition at line 1970 of file tinyxml.h.

◆ LineBreak()

const char* TiXmlPrinter::LineBreak ( )
inline

Query the current line breaking string.

Definition at line 1981 of file tinyxml.h.

◆ SetIndent()

void TiXmlPrinter::SetIndent ( const char *  _indent)
inline

Set the indent characters for printing. By default 4 spaces but tab (\t) is also useful, or null/empty string for no indentation.

Definition at line 1966 of file tinyxml.h.

◆ SetLineBreak()

void TiXmlPrinter::SetLineBreak ( const char *  _lineBreak)
inline

Set the line breaking string. By default set to newline (
). Some operating systems prefer other characters, or can be set to the null/empty string for no indenation.

Definition at line 1977 of file tinyxml.h.

◆ SetStreamPrinting()

void TiXmlPrinter::SetStreamPrinting ( )
inline

Switch over to "stream printing" which is the most dense formatting without linebreaks. Common when the XML is needed for network transmission.

Definition at line 1988 of file tinyxml.h.

◆ Size()

size_t TiXmlPrinter::Size ( )
inline

Return the length of the result string.

Definition at line 1997 of file tinyxml.h.

◆ Str()

const std::string& TiXmlPrinter::Str ( )
inline

Return the result.

Definition at line 2003 of file tinyxml.h.

◆ Visit() [1/4]

bool TiXmlPrinter::Visit ( const TiXmlComment )
overridevirtual

Visit a comment node.

Reimplemented from TiXmlVisitor.

Definition at line 1889 of file tinyxml_inl.h.

◆ Visit() [2/4]

bool TiXmlPrinter::Visit ( const TiXmlDeclaration )
overridevirtual

Visit a declaration.

Reimplemented from TiXmlVisitor.

Definition at line 1880 of file tinyxml_inl.h.

◆ Visit() [3/4]

bool TiXmlPrinter::Visit ( const TiXmlText )
overridevirtual

Visit a text node.

Reimplemented from TiXmlVisitor.

Definition at line 1856 of file tinyxml_inl.h.

◆ Visit() [4/4]

bool TiXmlPrinter::Visit ( const TiXmlUnknown )
overridevirtual

Visit an unknow node.

Reimplemented from TiXmlVisitor.

Definition at line 1900 of file tinyxml_inl.h.

◆ VisitEnter() [1/2]

bool TiXmlPrinter::VisitEnter ( const TiXmlDocument )
overridevirtual

Visit a document.

Reimplemented from TiXmlVisitor.

Definition at line 1783 of file tinyxml_inl.h.

◆ VisitEnter() [2/2]

bool TiXmlPrinter::VisitEnter ( const TiXmlElement ,
const TiXmlAttribute  
)
overridevirtual

Visit an element.

Reimplemented from TiXmlVisitor.

Definition at line 1793 of file tinyxml_inl.h.

◆ VisitExit() [1/2]

bool TiXmlPrinter::VisitExit ( const TiXmlDocument )
overridevirtual

Visit a document.

Reimplemented from TiXmlVisitor.

Definition at line 1788 of file tinyxml_inl.h.

◆ VisitExit() [2/2]

bool TiXmlPrinter::VisitExit ( const TiXmlElement )
overridevirtual

Visit an element.

Reimplemented from TiXmlVisitor.

Definition at line 1830 of file tinyxml_inl.h.

Member Data Documentation

◆ buffer

TIXML_STRING TiXmlPrinter::buffer
private

Definition at line 2018 of file tinyxml.h.

◆ depth

int TiXmlPrinter::depth
private

Definition at line 2017 of file tinyxml.h.

◆ indent

TIXML_STRING TiXmlPrinter::indent
private

Definition at line 2018 of file tinyxml.h.

◆ lineBreak

TIXML_STRING TiXmlPrinter::lineBreak
private

Definition at line 2018 of file tinyxml.h.

◆ simpleTextPrint

bool TiXmlPrinter::simpleTextPrint
private

Definition at line 2018 of file tinyxml.h.


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