Public Member Functions | Private Member Functions | Private Attributes | List of all members
TiXmlPrinter Class Reference

#include <tinyxml.h>

Inheritance diagram for TiXmlPrinter:
Inheritance graph
[legend]

Public Member Functions

const char * CStr ()
 Return the result. More...
 
const char * Indent ()
 Query the indention string. More...
 
const char * LineBreak ()
 Query the current line breaking string. More...
 
void SetIndent (const char *_indent)
 
void SetLineBreak (const char *_lineBreak)
 
void SetStreamPrinting ()
 
size_t Size ()
 Return the length of the result string. More...
 
 TiXmlPrinter ()
 
virtual bool Visit (const TiXmlComment &comment)
 Visit a comment node. 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 TiXmlUnknown &unknown)
 Visit an unknown node. More...
 
virtual bool VisitEnter (const TiXmlDocument &doc)
 Visit a document. More...
 
virtual bool VisitEnter (const TiXmlElement &element, const TiXmlAttribute *firstAttribute)
 Visit an element. More...
 
virtual bool VisitExit (const TiXmlDocument &doc)
 Visit a document. More...
 
virtual bool VisitExit (const TiXmlElement &element)
 Visit an element. More...
 
- Public Member Functions inherited from TiXmlVisitor
virtual ~TiXmlVisitor ()
 

Private Member Functions

void DoIndent ()
 
void DoLineBreak ()
 

Private Attributes

TIXML_STRING buffer
 
int depth
 
TIXML_STRING indent
 
TIXML_STRING lineBreak
 
bool simpleTextPrint
 

Detailed Description

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

-# Print to memory (especially in non-STL mode)
-# 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.
@verbatim
TiXmlPrinter printer;
printer.SetIndent( "\t" );

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

Definition at line 1991 of file tinyxml.h.

Constructor & Destructor Documentation

◆ TiXmlPrinter()

TiXmlPrinter::TiXmlPrinter ( )
inline

Definition at line 1994 of file tinyxml.h.

Member Function Documentation

◆ CStr()

const char* TiXmlPrinter::CStr ( )
inline

Return the result.

Definition at line 2045 of file tinyxml.h.

◆ DoIndent()

void TiXmlPrinter::DoIndent ( )
inlineprivate

Definition at line 2058 of file tinyxml.h.

◆ DoLineBreak()

void TiXmlPrinter::DoLineBreak ( )
inlineprivate

Definition at line 2064 of file tinyxml.h.

◆ Indent()

const char* TiXmlPrinter::Indent ( )
inline

Query the indention string.

Definition at line 2021 of file tinyxml.h.

◆ LineBreak()

const char* TiXmlPrinter::LineBreak ( )
inline

Query the current line breaking string.

Definition at line 2032 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 2017 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 2028 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 2038 of file tinyxml.h.

◆ Size()

size_t TiXmlPrinter::Size ( )
inline

Return the length of the result string.

Definition at line 2049 of file tinyxml.h.

◆ Visit() [1/4]

bool TiXmlPrinter::Visit ( const TiXmlComment )
virtual

Visit a comment node.

Reimplemented from TiXmlVisitor.

Definition at line 1866 of file tinyxml.cpp.

◆ Visit() [2/4]

bool TiXmlPrinter::Visit ( const TiXmlDeclaration )
virtual

Visit a declaration.

Reimplemented from TiXmlVisitor.

Definition at line 1857 of file tinyxml.cpp.

◆ Visit() [3/4]

bool TiXmlPrinter::Visit ( const TiXmlText )
virtual

Visit a text node.

Reimplemented from TiXmlVisitor.

Definition at line 1829 of file tinyxml.cpp.

◆ Visit() [4/4]

bool TiXmlPrinter::Visit ( const TiXmlUnknown )
virtual

Visit an unknown node.

Reimplemented from TiXmlVisitor.

Definition at line 1877 of file tinyxml.cpp.

◆ VisitEnter() [1/2]

bool TiXmlPrinter::VisitEnter ( const TiXmlDocument )
virtual

Visit a document.

Reimplemented from TiXmlVisitor.

Definition at line 1756 of file tinyxml.cpp.

◆ VisitEnter() [2/2]

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

Visit an element.

Reimplemented from TiXmlVisitor.

Definition at line 1766 of file tinyxml.cpp.

◆ VisitExit() [1/2]

bool TiXmlPrinter::VisitExit ( const TiXmlDocument )
virtual

Visit a document.

Reimplemented from TiXmlVisitor.

Definition at line 1761 of file tinyxml.cpp.

◆ VisitExit() [2/2]

bool TiXmlPrinter::VisitExit ( const TiXmlElement )
virtual

Visit an element.

Reimplemented from TiXmlVisitor.

Definition at line 1803 of file tinyxml.cpp.

Member Data Documentation

◆ buffer

TIXML_STRING TiXmlPrinter::buffer
private

Definition at line 2071 of file tinyxml.h.

◆ depth

int TiXmlPrinter::depth
private

Definition at line 2069 of file tinyxml.h.

◆ indent

TIXML_STRING TiXmlPrinter::indent
private

Definition at line 2072 of file tinyxml.h.

◆ lineBreak

TIXML_STRING TiXmlPrinter::lineBreak
private

Definition at line 2073 of file tinyxml.h.

◆ simpleTextPrint

bool TiXmlPrinter::simpleTextPrint
private

Definition at line 2070 of file tinyxml.h.


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


sick_scan
Author(s): Michael Lehning , Jochen Sprickerhof , Martin Günther
autogenerated on Thu Sep 8 2022 02:30:19