CMakeWriter.cpp
Go to the documentation of this file.
1 #include "CMakeWriter.h"
2 
3 using namespace armarx;
4 
6 {
7  indent = 0;
8  indentChars = " ";
9  lastLineType = Empty;
10 }
11 
12 void
13 CMakeWriter::startBlock(const std::string& line)
14 {
15  this->line(line);
16  // this->line("{");
17  indent++;
18  lastLineType = StartBlock;
19 }
20 
21 void
22 CMakeWriter::endBlock(const std::string& line)
23 {
24  indent--;
25  this->line(std::string("}") + line);
26  lastLineType = EndBlock;
27 }
28 
29 void
30 CMakeWriter::endBlockComment(std::string comment)
31 {
32  indent--;
33  this->line(std::string("# ") + comment);
34  lastLineType = EndBlock;
35 }
36 
37 void
39 {
40  lineInternal("", indent);
41 }
42 
43 void
44 CMakeWriter::line(const std::string& line)
45 {
46  lineInternal(line, indent);
47 }
48 
49 void
50 CMakeWriter::line(const std::string& line, int indentDelta)
51 {
52  lineInternal(line, indent + indentDelta);
53 }
54 
55 std::string
57 {
58  return ss.str();
59 }
60 
63 {
64  return lastLineType;
65 }
66 
67 void
68 CMakeWriter::lineInternal(const std::string& line, int indent)
69 {
70  for (int i = 0; i < indent; i++)
71  {
72  ss << indentChars;
73  }
74 
75  ss << line << std::endl;
76  lastLineType = line.empty() ? Empty : Normal;
77 }
armarx::CMakeWriter::CMakeWriter
CMakeWriter()
Definition: CMakeWriter.cpp:5
armarx::CMakeWriter::getString
std::string getString()
Definition: CMakeWriter.cpp:56
armarx::CMakeWriter::LineType
LineType
Definition: CMakeWriter.h:15
armarx::CMakeWriter::line
void line()
Definition: CMakeWriter.cpp:38
armarx::CMakeWriter::endBlock
void endBlock(const std::string &line)
Definition: CMakeWriter.cpp:22
armarx::CMakeWriter::Empty
@ Empty
Definition: CMakeWriter.h:20
armarx::CMakeWriter::Normal
@ Normal
Definition: CMakeWriter.h:19
armarx::CMakeWriter::endBlockComment
void endBlockComment(std::string comment)
Definition: CMakeWriter.cpp:30
armarx::CMakeWriter::EndBlock
@ EndBlock
Definition: CMakeWriter.h:18
CMakeWriter.h
armarx::CMakeWriter::getLastLineType
LineType getLastLineType()
Definition: CMakeWriter.cpp:62
armarx::CMakeWriter::StartBlock
@ StartBlock
Definition: CMakeWriter.h:17
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:27
armarx::CMakeWriter::startBlock
void startBlock(const std::string &line)
Definition: CMakeWriter.cpp:13