00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef _TimeStamp_H
00010 #define _TimeStamp_H
00011
00012 #include <time.h>
00013
00014
00015
00016
00023 namespace Neobotix
00024 {
00025 class TimeStamp
00026 {
00027 public:
00029 TimeStamp();
00030
00032 virtual ~TimeStamp() {};
00033
00035 void SetNow();
00036
00038 double operator- ( const TimeStamp& EarlierTime ) const;
00039
00041
00043 void operator+= ( double TimeS );
00044
00046
00048 void operator-= ( double TimeS );
00049
00051 bool operator> ( const TimeStamp& Time );
00052
00054 bool operator< ( const TimeStamp& Time );
00055
00059 void getTimeStamp ( long& lSeconds, long& lNanoSeconds );
00060
00064 void setTimeStamp ( const long& lSeconds, const long& lNanoSeconds );
00065
00070
00071
00072
00073
00074
00075 protected:
00076
00078 timespec m_TimeStamp;
00079
00080 private:
00081
00083 static double TimespecToDouble ( const ::timespec& LargeInt );
00084
00086 static ::timespec DoubleToTimespec ( double TimeS );
00087
00088 };
00089 };
00090 #endif
00091