00001
00008 #pragma once
00009
00010 #include <sys/time.h>
00011 #include <iostream>
00012 #include <ostream>
00013 #include <cassert>
00014
00015 #define MICRO_IN_SEC 1000000
00016
00017 using std::cout;
00018 using std::endl;
00019
00026 class Timer
00027 {
00028 public :
00029 Timer();
00030
00031 Timer(double swTime);
00032
00036 double now();
00037
00041 void setTimer(double swTime);
00042
00046 void start();
00047
00051 void stop();
00052
00056 double elapsed();
00057
00063 bool timeUp();
00064
00065 private:
00069 double toSeconds(timeval t);
00070
00072 double start_;
00073
00075 double swTime_;
00076
00078 double elapsed_;
00079 };