DD4hep - The AIDA detector description toolkit for high energy physics experiments
DD4hep  Rev:Unversioneddirectory
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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)
 Visit a document. More...
 
virtual bool VisitExit (const TiXmlDocument &doc)
 Visit a document. More...
 
virtual bool VisitEnter (const TiXmlElement &element, const TiXmlAttribute *firstAttribute)
 Visit an element. More...
 
virtual bool VisitExit (const TiXmlElement &element)
 Visit an element. More...
 
virtual bool Visit (const TiXmlDeclaration &declaration)
 Visit a declaration. More...
 
virtual bool Visit (const TiXmlText &text)
 Visit a text node. More...
 
virtual bool Visit (const TiXmlComment &comment)
 Visit a comment node. More...
 
virtual bool Visit (const TiXmlUnknown &unknown)
 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 1943 of file tinyxml.h.

Constructor & Destructor Documentation

TiXmlPrinter::TiXmlPrinter ( )
inline

Definition at line 1945 of file tinyxml.h.

Member Function Documentation

const char* TiXmlPrinter::CStr ( )
inline

Return the result.

Definition at line 1990 of file tinyxml.h.

References buffer.

void TiXmlPrinter::DoIndent ( )
inlineprivate

Definition at line 2006 of file tinyxml.h.

References buffer, depth, and indent.

Referenced by Visit(), VisitEnter(), and VisitExit().

void TiXmlPrinter::DoLineBreak ( )
inlineprivate

Definition at line 2010 of file tinyxml.h.

References buffer, and lineBreak.

Referenced by Visit(), VisitEnter(), and VisitExit().

const char* TiXmlPrinter::Indent ( )
inline

Query the indention string.

Definition at line 1967 of file tinyxml.h.

References indent.

const char* TiXmlPrinter::LineBreak ( )
inline

Query the current line breaking string.

Definition at line 1978 of file tinyxml.h.

References lineBreak.

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

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

Definition at line 1963 of file tinyxml.h.

References indent.

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 1974 of file tinyxml.h.

References lineBreak.

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 1985 of file tinyxml.h.

References indent, and lineBreak.

size_t TiXmlPrinter::Size ( )
inline

Return the length of the result string.

Definition at line 1994 of file tinyxml.h.

References buffer.

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

Return the result.

Definition at line 2000 of file tinyxml.h.

bool TiXmlPrinter::Visit ( const TiXmlDeclaration )
virtual

Visit a declaration.

Reimplemented from TiXmlVisitor.

Definition at line 1877 of file tinyxml_inl.h.

References buffer, DoIndent(), DoLineBreak(), and TiXmlDeclaration::Print().

bool TiXmlPrinter::Visit ( const TiXmlText )
virtual

Visit a text node.

Reimplemented from TiXmlVisitor.

Definition at line 1853 of file tinyxml_inl.h.

References buffer, TiXmlText::CDATA(), DoIndent(), DoLineBreak(), simpleTextPrint, and TiXmlNode::Value().

bool TiXmlPrinter::Visit ( const TiXmlComment )
virtual

Visit a comment node.

Reimplemented from TiXmlVisitor.

Definition at line 1886 of file tinyxml_inl.h.

References buffer, DoIndent(), DoLineBreak(), and TiXmlNode::Value().

bool TiXmlPrinter::Visit ( const TiXmlUnknown )
virtual

Visit an unknow node.

Reimplemented from TiXmlVisitor.

Definition at line 1897 of file tinyxml_inl.h.

References buffer, DoIndent(), DoLineBreak(), and TiXmlNode::Value().

bool TiXmlPrinter::VisitEnter ( const TiXmlDocument )
virtual

Visit a document.

Reimplemented from TiXmlVisitor.

Definition at line 1780 of file tinyxml_inl.h.

bool TiXmlPrinter::VisitEnter ( const TiXmlElement ,
const TiXmlAttribute  
)
virtual
bool TiXmlPrinter::VisitExit ( const TiXmlDocument )
virtual

Visit a document.

Reimplemented from TiXmlVisitor.

Definition at line 1785 of file tinyxml_inl.h.

bool TiXmlPrinter::VisitExit ( const TiXmlElement )
virtual

Visit an element.

Reimplemented from TiXmlVisitor.

Definition at line 1827 of file tinyxml_inl.h.

References buffer, depth, DoIndent(), DoLineBreak(), TiXmlNode::FirstChild(), simpleTextPrint, and TiXmlNode::Value().

Member Data Documentation

TIXML_STRING TiXmlPrinter::buffer
private

Definition at line 2015 of file tinyxml.h.

Referenced by CStr(), DoIndent(), DoLineBreak(), Size(), Visit(), VisitEnter(), and VisitExit().

int TiXmlPrinter::depth
private

Definition at line 2014 of file tinyxml.h.

Referenced by DoIndent(), VisitEnter(), and VisitExit().

TIXML_STRING TiXmlPrinter::indent
private

Definition at line 2015 of file tinyxml.h.

Referenced by DoIndent(), Indent(), SetIndent(), and SetStreamPrinting().

TIXML_STRING TiXmlPrinter::lineBreak
private

Definition at line 2015 of file tinyxml.h.

Referenced by DoLineBreak(), LineBreak(), SetLineBreak(), and SetStreamPrinting().

bool TiXmlPrinter::simpleTextPrint
private

Definition at line 2015 of file tinyxml.h.

Referenced by Visit(), VisitEnter(), and VisitExit().


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