Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
pandora::TiXmlPrinter Class Reference

#include "tinyxml.h"

Inheritance diagram for pandora::TiXmlPrinter:
Collaboration diagram for pandora::TiXmlPrinter:

Public Member Functions

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

Private Member Functions

void DoIndent ()
 
void DoLineBreak ()
 

Private Attributes

int depth
 
bool simpleTextPrint
 
TIXML_STRING buffer
 
TIXML_STRING indent
 
TIXML_STRING lineBreak
 

Detailed Description

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() );

Definition at line 1744 of file tinyxml.h.

Constructor & Destructor Documentation

◆ TiXmlPrinter()

pandora::TiXmlPrinter::TiXmlPrinter ( )
inline

Definition at line 1747 of file tinyxml.h.

Member Function Documentation

◆ CStr()

const char * pandora::TiXmlPrinter::CStr ( )
inline

Return the result.

Definition at line 1782 of file tinyxml.h.

◆ DoIndent()

void pandora::TiXmlPrinter::DoIndent ( )
inlineprivate

Definition at line 1792 of file tinyxml.h.

Here is the caller graph for this function:

◆ DoLineBreak()

void pandora::TiXmlPrinter::DoLineBreak ( )
inlineprivate

Definition at line 1796 of file tinyxml.h.

Here is the caller graph for this function:

◆ Indent()

const char * pandora::TiXmlPrinter::Indent ( )
inline

Query the indention string.

Definition at line 1766 of file tinyxml.h.

◆ LineBreak()

const char * pandora::TiXmlPrinter::LineBreak ( )
inline

Query the current line breaking string.

Definition at line 1773 of file tinyxml.h.

◆ SetIndent()

void pandora::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 1764 of file tinyxml.h.

◆ SetLineBreak()

void pandora::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 1771 of file tinyxml.h.

◆ SetStreamPrinting()

void pandora::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 1778 of file tinyxml.h.

◆ Size()

size_t pandora::TiXmlPrinter::Size ( )
inline

Return the length of the result string.

Definition at line 1784 of file tinyxml.h.

◆ Str()

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

Return the result.

Definition at line 1788 of file tinyxml.h.

◆ Visit() [1/4]

bool pandora::TiXmlPrinter::Visit ( const TiXmlComment )
virtual

Visit a comment node.

Reimplemented from pandora::TiXmlVisitor.

Definition at line 1869 of file tinyxml.cc.

Here is the call graph for this function:

◆ Visit() [2/4]

bool pandora::TiXmlPrinter::Visit ( const TiXmlDeclaration )
virtual

Visit a declaration.

Reimplemented from pandora::TiXmlVisitor.

Definition at line 1860 of file tinyxml.cc.

Here is the call graph for this function:

◆ Visit() [3/4]

bool pandora::TiXmlPrinter::Visit ( const TiXmlText )
virtual

Visit a text node.

Reimplemented from pandora::TiXmlVisitor.

Definition at line 1832 of file tinyxml.cc.

Here is the call graph for this function:

◆ Visit() [4/4]

bool pandora::TiXmlPrinter::Visit ( const TiXmlUnknown )
virtual

Visit an unknown node.

Reimplemented from pandora::TiXmlVisitor.

Definition at line 1880 of file tinyxml.cc.

Here is the call graph for this function:

◆ VisitEnter() [1/2]

bool pandora::TiXmlPrinter::VisitEnter ( const TiXmlDocument )
virtual

Visit a document.

Reimplemented from pandora::TiXmlVisitor.

Definition at line 1759 of file tinyxml.cc.

◆ VisitEnter() [2/2]

bool pandora::TiXmlPrinter::VisitEnter ( const TiXmlElement ,
const TiXmlAttribute  
)
virtual

Visit an element.

Reimplemented from pandora::TiXmlVisitor.

Definition at line 1769 of file tinyxml.cc.

Here is the call graph for this function:

◆ VisitExit() [1/2]

bool pandora::TiXmlPrinter::VisitExit ( const TiXmlDocument )
virtual

Visit a document.

Reimplemented from pandora::TiXmlVisitor.

Definition at line 1764 of file tinyxml.cc.

◆ VisitExit() [2/2]

bool pandora::TiXmlPrinter::VisitExit ( const TiXmlElement )
virtual

Visit an element.

Reimplemented from pandora::TiXmlVisitor.

Definition at line 1806 of file tinyxml.cc.

Here is the call graph for this function:

Member Data Documentation

◆ buffer

TIXML_STRING pandora::TiXmlPrinter::buffer
private

Definition at line 1802 of file tinyxml.h.

◆ depth

int pandora::TiXmlPrinter::depth
private

Definition at line 1800 of file tinyxml.h.

◆ indent

TIXML_STRING pandora::TiXmlPrinter::indent
private

Definition at line 1803 of file tinyxml.h.

◆ lineBreak

TIXML_STRING pandora::TiXmlPrinter::lineBreak
private

Definition at line 1804 of file tinyxml.h.

◆ simpleTextPrint

bool pandora::TiXmlPrinter::simpleTextPrint
private

Definition at line 1801 of file tinyxml.h.


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