6 #ifndef DISMEC_STATS_TIMER_H
7 #define DISMEC_STATS_TIMER_H
13 class StatisticsCollection;
16 using clock_t = std::chrono::high_resolution_clock;
54 return {&accumulator,
id};
ScopeTimer(StatisticsCollection *accu, stat_id_t id)
StatisticsCollection * m_Accu
ScopeTimer(const ScopeTimer &)=delete
friend ScopeTimer record_scope_time(StatisticsCollection &accumulator, stat_id_t id)
std::chrono::high_resolution_clock clock_t
static bool is_enabled(const StatisticsCollection *accu, stat_id_t stat)
clock_t::time_point m_Start
ScopeTimer operator=(const ScopeTimer &)=delete
ScopeTimer(ScopeTimer &&other) noexcept
Move constructor. Needs to disable recording for the moved-from timer.
This class manages a collection of named Statistics objects.
std::vector< bool > m_Enabled
ScopeTimer record_scope_time(StatisticsCollection &accumulator, stat_id_t id)