MXS-2078 Add IntervalTimer
IntervalTimer is used for accumulating intervals (i.e. durations) over sections of code.
This commit is contained in:
@ -46,6 +46,27 @@ Duration StopWatch::restart()
|
||||
m_start = m_lap = now;
|
||||
return split;
|
||||
}
|
||||
|
||||
IntervalTimer::IntervalTimer() : m_total(0)
|
||||
{
|
||||
}
|
||||
|
||||
void IntervalTimer::start_interval()
|
||||
{
|
||||
m_last_start = Clock::now();
|
||||
}
|
||||
|
||||
void IntervalTimer::end_interval()
|
||||
{
|
||||
m_total += Clock::now() - m_last_start;
|
||||
// reset to make it easier to spot usage bugs, like calling end_interval(); end_interval();
|
||||
m_last_start = TimePoint();
|
||||
}
|
||||
|
||||
Duration IntervalTimer::total() const
|
||||
{
|
||||
return m_total;
|
||||
}
|
||||
} // maxbase
|
||||
|
||||
/********** OUTPUT ***********/
|
||||
|
Reference in New Issue
Block a user