00001 #ifndef FASTSHOWER_TRACEBACK_H 00002 #define FASTSHOWER_TRACEBACK_H 00003 00004 #ifndef STD_VECTOR_H 00005 #define STD_VECTOR_H 00006 #include <vector> 00007 #endif 00008 00009 00010 #ifndef FASTSHOWER_IDEBUG_H 00011 #include "FastShowerUtils/IDebug.h" 00012 #endif 00013 00014 #ifndef FASTSHOWER_DEBUG_BASE_H 00015 #include "FastShowerUtils/DebugBase.h" 00016 #endif 00017 00018 #ifndef STD_STRING_H 00019 #define STD_STRING_H 00020 #include <string> 00021 #endif 00022 00023 class ostream; 00024 namespace FastShower{ 00029 class TraceBack: virtual public IDebug, private DebugBase{ 00030 public: 00031 TraceBack(); 00032 void add(const std::string& s); 00033 void dump() const; 00034 TraceBack* clone(); 00035 private: 00036 vector<std::string> m_traces; 00037 }; 00038 } 00039 #endif 00040 00041 00042 00043 00044 00045 00046 00047 00048