27 lines
490 B
C++
27 lines
490 B
C++
#pragma once
|
|
|
|
#include <chrono>
|
|
|
|
namespace lt {
|
|
|
|
/** Simple timer class to keep track of the elapsed time. */
|
|
class Timer
|
|
{
|
|
public:
|
|
using Clock = std::chrono::steady_clock;
|
|
|
|
using Duration = std::chrono::duration<double>;
|
|
|
|
using Timepoint = std::chrono::time_point<std::chrono::steady_clock>;
|
|
|
|
Timer(Timepoint start = Clock::now());
|
|
|
|
void reset(Timepoint start = Clock::now());
|
|
|
|
[[nodiscard]] auto elapsed_time() const -> Duration;
|
|
|
|
private:
|
|
Timepoint m_start;
|
|
};
|
|
|
|
} // namespace lt
|