/src/rt/sync/timer.h
http://github.com/jruderman/rust · C Header · 27 lines · 21 code · 3 blank · 3 comment · 0 complexity · 6d224ee38bc1509c68e621d8142d4cf8 MD5 · raw file
- /*
- * Utility class to measure time in a platform independent way.
- */
- #ifndef TIMER_H
- #define TIMER_H
- class timer {
- private:
- uint64_t _start_us;
- uint64_t _timeout_us;
- uint64_t time_us();
- #if __WIN32__
- uint64_t _ticks_per_s;
- #endif
- public:
- timer();
- void reset_us(uint64_t timeout);
- uint64_t elapsed_us();
- double elapsed_ms();
- int64_t remaining_us();
- bool has_timed_out();
- uint64_t time_ns();
- virtual ~timer();
- };
- #endif /* TIMER_H */