Geant4
10.02.p03
IndentPrintWriter.cc
Go to the documentation of this file.
1
// Copyright FreeHEP, 2005.
2
3
#include <fstream>
4
5
#include "
cheprep/IndentPrintWriter.h
"
6
7
using namespace
std
;
8
13
namespace
cheprep
{
14
15
IndentPrintWriter::IndentPrintWriter(ostream* outstream,
int
level)
16
: out(outstream),
17
closed(false),
18
indentLevel(level),
19
indented(false),
20
indentString(
" "
) {
21
}
22
23
IndentPrintWriter::~IndentPrintWriter
() {
24
}
25
26
void
IndentPrintWriter::close
() {
27
if
(!
closed
) {
28
out
->flush();
29
closed
=
true
;
30
}
31
}
32
33
IndentPrintWriter
&
IndentPrintWriter::operator<<
(
const
std::string &
s
) {
34
if
(!
indented
)
doIndent
();
35
*
out
<<
s
;
36
return
*
this
;
37
}
38
39
IndentPrintWriter
&
IndentPrintWriter::operator<<
(ostream& (*)(ostream&)) {
40
*
out
<< endl;
41
indented
=
false
;
42
return
*
this
;
43
}
44
45
void
IndentPrintWriter::println
(
const
string
&
s
) {
46
*
this
<< s << endl;
47
}
48
49
void
IndentPrintWriter::print
(
const
string
&
s
) {
50
*
this
<<
s
;
51
}
52
53
void
IndentPrintWriter::println
() {
54
*
out
<< endl;
55
indented
=
false
;
56
}
57
58
void
IndentPrintWriter::doIndent
() {
59
for
(
int
i=0; i<
indentLevel
; i++) {
60
*
out
<<
indentString
;
61
}
62
indented
=
true
;
63
}
64
65
void
IndentPrintWriter::indent
() {
66
indentLevel
++;
67
}
68
69
void
IndentPrintWriter::outdent
() {
70
indentLevel
--;
71
}
72
73
int
IndentPrintWriter::getIndent
()
const
{
74
return
indentLevel
;
75
}
76
77
void
IndentPrintWriter::setIndent
(
const
int
level) {
78
indentLevel
= level;
79
}
80
81
string
IndentPrintWriter::getIndentString
()
const
{
82
return
indentString
;
83
}
84
85
void
IndentPrintWriter::setIndentString
(
const
string
& anIndent) {
86
indentString
= anIndent;
87
}
88
89
}
// cheprep
cheprep::IndentPrintWriter
Definition:
IndentPrintWriter.h:22
IndentPrintWriter.h
cheprep::IndentPrintWriter::~IndentPrintWriter
virtual ~IndentPrintWriter()
Definition:
IndentPrintWriter.cc:23
std
cheprep::IndentPrintWriter::outdent
void outdent()
Definition:
IndentPrintWriter.cc:69
cheprep::IndentPrintWriter::out
std::ostream * out
Definition:
IndentPrintWriter.h:44
cheprep::IndentPrintWriter::indent
void indent()
Definition:
IndentPrintWriter.cc:65
cheprep::IndentPrintWriter::doIndent
void doIndent()
Definition:
IndentPrintWriter.cc:58
s
static const double s
Definition:
G4SIunits.hh:168
cheprep::IndentPrintWriter::setIndentString
void setIndentString(const std::string &indentString)
Definition:
IndentPrintWriter.cc:85
cheprep::IndentPrintWriter::indentString
std::string indentString
Definition:
IndentPrintWriter.h:48
cheprep::IndentPrintWriter::println
void println()
Definition:
IndentPrintWriter.cc:53
cheprep::IndentPrintWriter::indentLevel
int indentLevel
Definition:
IndentPrintWriter.h:46
cheprep::IndentPrintWriter::getIndentString
std::string getIndentString() const
Definition:
IndentPrintWriter.cc:81
cheprep::IndentPrintWriter::indented
bool indented
Definition:
IndentPrintWriter.h:47
cheprep
Definition:
AbstractXMLWriter.h:13
cheprep::IndentPrintWriter::setIndent
void setIndent(const int level)
Definition:
IndentPrintWriter.cc:77
cheprep::IndentPrintWriter::closed
bool closed
Definition:
IndentPrintWriter.h:45
cheprep::IndentPrintWriter::operator<<
IndentPrintWriter & operator<<(const std::string &s)
Definition:
IndentPrintWriter.cc:33
cheprep::IndentPrintWriter::getIndent
int getIndent() const
Definition:
IndentPrintWriter.cc:73
cheprep::IndentPrintWriter::close
void close()
Definition:
IndentPrintWriter.cc:26
cheprep::IndentPrintWriter::print
void print(const std::string &s)
Definition:
IndentPrintWriter.cc:49
Geant4
Geant4.10.02.p03
source
visualization
HepRep
src
IndentPrintWriter.cc
Generated by
1.8.13