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 #include "macros.hpp" 00022 00023 #ifdef ECL_HAS_TIMESTAMP 00024 00025 /***************************************************************************** 00026 ** Namespaces 00027 *****************************************************************************/ 00028 00029 namespace ecl { 00030 00031 /***************************************************************************** 00032 ** Classes 00033 *****************************************************************************/ 00056 class ecl_time_PUBLIC StopWatch 00057 { 00058 public: 00063 StopWatch(); 00064 00065 virtual ~StopWatch() {} 00072 void restart(); 00073 00080 TimeStamp elapsed(); 00087 TimeStamp split(); 00088 00089 private: 00090 TimeStamp start_time, split_time; 00091 }; 00092 00093 00094 }; // namespace ecl 00095 00096 #endif /* ECL_HAS_TIMESTAMP */ 00097 #endif /* ECL_STOPWATCH_HPP_ */