00001 00008 /***************************************************************************** 00009 ** Ifdefs 00010 *****************************************************************************/ 00011 00012 #ifndef ECL_STOPWATCH_HPP_ 00013 #define ECL_STOPWATCH_HPP_ 00014 00015 /***************************************************************************** 00016 ** Includes 00017 *****************************************************************************/ 00018 00019 #include <ecl/config/macros.hpp> 00020 #include "timestamp.hpp" 00021 #ifdef ECL_HAS_TIMESTAMP 00022 00023 /***************************************************************************** 00024 ** Namespaces 00025 *****************************************************************************/ 00026 00027 namespace ecl { 00028 00029 /***************************************************************************** 00030 ** Classes 00031 *****************************************************************************/ 00054 class ECL_PUBLIC StopWatch 00055 { 00056 public: 00061 StopWatch(); 00062 00063 virtual ~StopWatch() {} 00070 void restart(); 00071 00078 TimeStamp elapsed(); 00085 TimeStamp split(); 00086 00087 private: 00088 TimeStamp start_time, split_time; 00089 }; 00090 00091 00092 }; // namespace ecl 00093 00094 #endif /* ECL_HAS_TIMESTAMP */ 00095 #endif /* ECL_STOPWATCH_HPP_ */