From f954bb2d93b083ff911a014711b1ea079060faf7 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Wed, 20 Mar 2013 23:02:06 -0700 Subject: gras: move chrono implementation into detail --- include/gras/chrono.hpp | 73 +------------------------------------------------ 1 file changed, 1 insertion(+), 72 deletions(-) (limited to 'include/gras/chrono.hpp') diff --git a/include/gras/chrono.hpp b/include/gras/chrono.hpp index 52b926b..8564e72 100644 --- a/include/gras/chrono.hpp +++ b/include/gras/chrono.hpp @@ -43,79 +43,8 @@ namespace gras time_ticks_t start; bool is_done; }; - } -//--------------------------------------------------------------------// -//------------------ implementation details below --------------------// -//--------------------------------------------------------------------// - -#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) - -#include - -namespace gras -{ - - GRAS_FORCE_INLINE time_ticks_t time_now(void) - { - LARGE_INTEGER counts; - QueryPerformanceCounter(&counts); - return counts.QuadPart; - } - - GRAS_FORCE_INLINE time_ticks_t time_tps(void) - { - LARGE_INTEGER freq; - QueryPerformanceFrequency(&freq); - return freq.QuadPart; - } - -} //namespace gras - -#else - -#include - -namespace gras -{ - - GRAS_FORCE_INLINE time_ticks_t time_now(void) - { - struct timespec ts; - clock_gettime(CLOCK_MONOTONIC, &ts); - return ts.tv_sec*1000000000UL + ts.tv_nsec; - } - - GRAS_FORCE_INLINE time_ticks_t time_tps(void) - { - return 1000000000UL; - } - -} //namespace gras - -#endif - -namespace gras -{ - GRAS_FORCE_INLINE TimerAccumulate::TimerAccumulate(time_ticks_t &accum): - accum(accum), - start(time_now()), - is_done(false) - { - //NOP - } - - GRAS_FORCE_INLINE TimerAccumulate::~TimerAccumulate(void) - { - if (not is_done) this->done(); - } - - GRAS_FORCE_INLINE void TimerAccumulate::done(void) - { - accum += (time_now() - start); - is_done = true; - } -} +#include #endif /*INCLUDED_GRAS_CHRONO_HPP*/ -- cgit