Geant4  v4-10.4-release
 모두 클래스 네임스페이스들 파일들 함수 변수 타입정의 열거형 타입 열거형 멤버 Friends 매크로 그룹들 페이지들
IndentPrintWriter.cc
이 파일의 문서화 페이지로 가기
1 // Copyright FreeHEP, 2005.
2 
3 #include <fstream>
4 
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 
24 }
25 
27  if (!closed) {
28  out->flush();
29  closed = true;
30  }
31 }
32 
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 
54  *out << endl;
55  indented = false;
56 }
57 
59  for (int i=0; i<indentLevel; i++) {
60  *out << indentString;
61  }
62  indented = true;
63 }
64 
66  indentLevel++;
67 }
68 
70  indentLevel--;
71 }
72 
74  return indentLevel;
75 }
76 
77 void IndentPrintWriter::setIndent(const int level) {
78  indentLevel = level;
79 }
80 
82  return indentString;
83 }
84 
85 void IndentPrintWriter::setIndentString(const string & anIndent) {
86  indentString = anIndent;
87 }
88 
89 } // cheprep
void print(const std::string &s)
const XML_Char * s
Definition: expat.h:262
IndentPrintWriter & operator<<(const std::string &s)
void setIndent(const int level)
void setIndentString(const std::string &indentString)
std::string getIndentString() const