template<class T, class Clock = std::chrono::steady_clock>
class dp3::common::ScopedMicroSecondAccumulator< T, Clock >
Helper class to accumulate the execution time of multiple timers.
Objects of this class measure duration of their life-time and add that time to accumulator. The class is intended to be used in scope based fashion, thus it's neither copyable nor movable.
It's intended the class can be used to accumulate one timer from multiple threads, so it should be able to use a std::atomic<T>. Unfortunately std::atomic<T> for floating-point types requires C++20.
The resolution of the class is based on the µs resolution of the NSTimer class.