]> git.tdb.fi Git - libs/core.git/blobdiff - source/time/timedelta.h
Select RawTime definition based on compiler, not platform
[libs/core.git] / source / time / timedelta.h
index 0a9ddd972a0646ea441ce96f2b6a84d18abc617f..3a6e8eafdbdf34a92d77c0747e1f99a5b640a662 100644 (file)
@@ -9,7 +9,6 @@ Distributed under the LGPL
 #define MSP_TIME_TIMEDELTA_H_
 
 #include <time.h>
-#include <sys/time.h>
 #include <msp/strings/lexicalcast.h>
 #include "rawtime.h"
 
@@ -43,16 +42,6 @@ public:
        */
        RawTime raw() const { return usec; }
 
-#ifndef WIN32
-       /**
-       Fills in a timespec struct.  To get a meaningful scalar value from the
-       TimeDelta, divide with one of the values in units.h.
-       */
-       void fill_timespec(timespec &ts) const { ts.tv_sec=usec/1000000; ts.tv_nsec = (usec%1000000)*1000; }
-
-       void fill_timeval(timeval &tv) const { tv.tv_sec=usec/1000000; tv.tv_usec = usec%1000000; }
-#endif
-
        TimeDelta operator+(const TimeDelta &t) const  { return TimeDelta(usec+t.usec); }
        TimeDelta &operator+=(const TimeDelta &t)      { usec+=t.usec; return *this; }
        TimeDelta operator-(const TimeDelta &t) const  { return TimeDelta(usec-t.usec); }
@@ -77,6 +66,11 @@ public:
        bool      operator==(const TimeDelta &t) const { return usec==t.usec; }
        bool      operator!=(const TimeDelta &t) const { return usec!=t.usec; }
 
+#ifndef WIN32
+       operator timeval() const { return rawtime_to_timeval(usec); }
+       operator timespec() const { return rawtime_to_timespec(usec); }
+#endif
+
        operator const void *() const                  { return usec ? this : 0; }
 };