5 #ifndef HPP_FCL_TIMINGS_FWD_H 6 #define HPP_FCL_TIMINGS_FWD_H 10 #ifdef HPP_FCL_WITH_CXX11_SUPPORT 33 Timer() : m_is_stopped(true) { start(); }
36 if (m_is_stopped)
return m_times;
39 #ifdef HPP_FCL_WITH_CXX11_SUPPORT 40 std::chrono::time_point<std::chrono::steady_clock> current_clock =
41 std::chrono::steady_clock::now();
42 current.
user +=
static_cast<double>(
43 std::chrono::duration_cast<std::chrono::nanoseconds>(
44 current_clock - m_start)
56 #ifdef HPP_FCL_WITH_CXX11_SUPPORT 57 m_start = std::chrono::steady_clock::now();
63 if (m_is_stopped)
return;
66 #ifdef HPP_FCL_WITH_CXX11_SUPPORT 67 m_end = std::chrono::steady_clock::now();
68 m_times.user +=
static_cast<double>(
69 std::chrono::duration_cast<std::chrono::nanoseconds>(
77 #ifdef HPP_FCL_WITH_CXX11_SUPPORT 78 if (m_is_stopped) m_start = std::chrono::steady_clock::now();
88 #ifdef HPP_FCL_WITH_CXX11_SUPPORT 89 std::chrono::time_point<std::chrono::steady_clock> m_start, m_end;
96 #endif // ifndef HPP_FCL_TIMINGS_FWD_H double system
Definition: timings.h:20
CPUTimes()
Definition: timings.h:22
CPUTimes elapsed() const
Definition: timings.h:35
Main namespace.
Definition: broadphase_bruteforce.h:44
void clear()
Definition: timings.h:24
bool is_stopped() const
Definition: timings.h:82
CPUTimes m_times
Definition: timings.h:85
This class mimics the way "boost/timer/timer.hpp" operates while using the modern std::chrono library...
Definition: timings.h:32
bool m_is_stopped
Definition: timings.h:86
Timer()
Definition: timings.h:33
double user
Definition: timings.h:19
void stop()
Definition: timings.h:62
double wall
Definition: timings.h:18
void resume()
Definition: timings.h:76
void start()
Definition: timings.h:51
#define HPP_FCL_DLLAPI
Definition: config.hh:64