7 #ifndef _POWERDXX_TIMING_CYCLE_HPP_
8 #define _POWERDXX_TIMING_CYCLE_HPP_
87 using clock = std::chrono::steady_clock;
92 using us = std::chrono::microseconds;
97 std::chrono::time_point<clock>
clk = clock::now();
113 auto const remainingTime{
114 std::chrono::duration_cast<us>(this->clk - clock::now())
116 auto const sleepDuration = remainingTime.count();
117 return sleepDuration <= 0 || 0 == usleep(sleepDuration);
137 template <
class... DurTraits>
138 bool operator ()(std::chrono::duration<DurTraits...>
const & cycleTime) {
139 this->clk += cycleTime;