edelib  2.1.0
Public Member Functions | List of all members
TiXmlPrinter Class Reference

Print to memory. More...

#include <edelib/TiXml.h>

Inheritance diagram for TiXmlPrinter:
TiXmlVisitor

Public Member Functions

 TiXmlPrinter ()
 
void SetIndent (const char *_indent)
 
const char * Indent ()
 
void SetLineBreak (const char *_lineBreak)
 
const char * LineBreak ()
 
void SetStreamPrinting ()
 
const char * CStr ()
 
size_t Size ()
 
- Public Member Functions inherited from TiXmlVisitor
virtual ~TiXmlVisitor ()
 
virtual bool VisitEnter (const TiXmlDocument &doc)
 
virtual bool VisitExit (const TiXmlDocument &doc)
 
virtual bool VisitEnter (const TiXmlElement &element, const TiXmlAttribute *firstAttribute)
 
virtual bool VisitExit (const TiXmlElement &element)
 
virtual bool Visit (const TiXmlDeclaration &declaration)
 
virtual bool Visit (const TiXmlText &text)
 
virtual bool Visit (const TiXmlComment &comment)
 
virtual bool Visit (const TiXmlUnknown &unknown)
 

Detailed Description

Print to memory.

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

Constructor & Destructor Documentation

TiXmlPrinter ( )
inline

Empty constructor

Member Function Documentation

const char* CStr ( )
inline

Return the result.

References String::c_str().

const char* Indent ( )
inline

Query the indention string.

References String::c_str().

const char* LineBreak ( )
inline

Query the current line breaking string.

References String::c_str().

void 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.

void 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.

void SetStreamPrinting ( )
inline

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

size_t Size ( )
inline

Return the length of the result string.

References String::length().


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