summaryrefslogtreecommitdiff
path: root/traveler/AsciiTraveler.hh
diff options
context:
space:
mode:
Diffstat (limited to 'traveler/AsciiTraveler.hh')
-rw-r--r--traveler/AsciiTraveler.hh28
1 files changed, 28 insertions, 0 deletions
diff --git a/traveler/AsciiTraveler.hh b/traveler/AsciiTraveler.hh
new file mode 100644
index 0000000..11c39f0
--- /dev/null
+++ b/traveler/AsciiTraveler.hh
@@ -0,0 +1,28 @@
+#ifndef PCC_ASCIITRAVELER_HH
+#define PCC_ASCIITRAVELER_HH
+
+#include <stack>
+#include <string>
+
+#include "Traveler.hh"
+
+namespace pcc {
+class AsciiTraveler : public Traveler {
+ public:
+ AsciiTraveler(std::ostream& out);
+ virtual Traveler& operator<<(TravelPart part);
+
+ protected:
+ int level_;
+ std::string prefix_;
+ std::stack<bool> IsLastChild_;
+
+ static const std::string MiddleLevelPrefix_;
+ static const std::string LastLevelPrefix_;
+ static const std::string MiddleChildPrefix_;
+ static const std::string LastChildPrefix_;
+ static const size_t LevelWidth_;
+};
+} // namespace pcc
+
+#endif // !PCC_ASCIITRAVELER_HH