File size: 773 Bytes
10f2621 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #ifndef H_TIMER_STRUCT_H
#define H_TIMER_STRUCT_H
#include <chrono>
class Timer
{
private:
std::chrono::time_point<std::chrono::steady_clock> start_time_;
std::chrono::time_point<std::chrono::steady_clock> end_time_;
std::chrono::duration<double, std::milli> elapsed_time_ = std::chrono::steady_clock::duration::zero();
public:
void start() {
start_time_ = std::chrono::steady_clock::now();
}
void stop() {
end_time_ = std::chrono::steady_clock::now();
elapsed_time_ += std::chrono::duration<double, std::milli>(end_time_ - start_time_);
}
double elapsed_time() const {
return std::chrono::duration<double>(elapsed_time_).count();
}
Timer() = default;
~Timer() = default;
};
#endif
|