Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
cheprep::IndentPrintWriter Class Reference

#include <IndentPrintWriter.h>

Public Member Functions

 IndentPrintWriter (std::ostream *out, int level=0)
 
virtual ~IndentPrintWriter ()
 
void close ()
 
IndentPrintWriteroperator<< (const std::string &s)
 
IndentPrintWriteroperator<< (std::ostream &(*pf)(std::ostream &))
 
void println (const std::string &s)
 
void print (const std::string &s)
 
void println ()
 
void indent ()
 
void outdent ()
 
int getIndent () const
 
void setIndent (const int level)
 
std::string getIndentString () const
 
void setIndentString (const std::string &indentString)
 

Detailed Description

Definition at line 22 of file IndentPrintWriter.h.

Constructor & Destructor Documentation

◆ IndentPrintWriter()

cheprep::IndentPrintWriter::IndentPrintWriter ( std::ostream *  out,
int  level = 0 
)

Definition at line 15 of file IndentPrintWriter.cc.

16 : out(outstream),
17 closed(false),
18 indentLevel(level),
19 indented(false),
20 indentString(" ") {
21}

◆ ~IndentPrintWriter()

cheprep::IndentPrintWriter::~IndentPrintWriter ( )
virtual

Definition at line 23 of file IndentPrintWriter.cc.

23 {
24}

Member Function Documentation

◆ close()

void cheprep::IndentPrintWriter::close ( )

Definition at line 26 of file IndentPrintWriter.cc.

26 {
27 if (!closed) {
28 out->flush();
29 closed = true;
30 }
31}

Referenced by cheprep::XMLWriter::close(), cheprep::XMLWriter::closeTag(), and cheprep::XMLWriter::~XMLWriter().

◆ getIndent()

int cheprep::IndentPrintWriter::getIndent ( ) const

Definition at line 73 of file IndentPrintWriter.cc.

73 {
74 return indentLevel;
75}

Referenced by cheprep::XMLWriter::printAttributes().

◆ getIndentString()

string cheprep::IndentPrintWriter::getIndentString ( ) const

Definition at line 81 of file IndentPrintWriter.cc.

81 {
82 return indentString;
83}

Referenced by cheprep::XMLWriter::openDoc().

◆ indent()

void cheprep::IndentPrintWriter::indent ( )

Definition at line 65 of file IndentPrintWriter.cc.

65 {
66 indentLevel++;
67}

Referenced by cheprep::XMLWriter::openTag(), and cheprep::XMLWriter::printAttributes().

◆ operator<<() [1/2]

IndentPrintWriter & cheprep::IndentPrintWriter::operator<< ( const std::string &  s)

Definition at line 33 of file IndentPrintWriter.cc.

33 {
34 if (!indented) doIndent();
35 *out << s;
36 return *this;
37}

◆ operator<<() [2/2]

IndentPrintWriter & cheprep::IndentPrintWriter::operator<< ( std::ostream &(*)(std::ostream &)  pf)

◆ outdent()

void cheprep::IndentPrintWriter::outdent ( )

Definition at line 69 of file IndentPrintWriter.cc.

69 {
70 indentLevel--;
71}

Referenced by cheprep::XMLWriter::closeTag(), and cheprep::XMLWriter::printAttributes().

◆ print()

void cheprep::IndentPrintWriter::print ( const std::string &  s)

Definition at line 49 of file IndentPrintWriter.cc.

49 {
50 *this << s;
51}

◆ println() [1/2]

void cheprep::IndentPrintWriter::println ( )

Definition at line 53 of file IndentPrintWriter.cc.

53 {
54 *out << endl;
55 indented = false;
56}

◆ println() [2/2]

void cheprep::IndentPrintWriter::println ( const std::string &  s)

Definition at line 45 of file IndentPrintWriter.cc.

45 {
46 *this << s << endl;
47}

◆ setIndent()

void cheprep::IndentPrintWriter::setIndent ( const int  level)

Definition at line 77 of file IndentPrintWriter.cc.

77 {
78 indentLevel = level;
79}

◆ setIndentString()

void cheprep::IndentPrintWriter::setIndentString ( const std::string &  indentString)

Definition at line 85 of file IndentPrintWriter.cc.

85 {
86 indentString = anIndent;
87}

Referenced by cheprep::XMLWriter::openDoc(), and cheprep::XMLWriter::XMLWriter().


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