9#ifndef AVARA3D_UTIL_TIMER_H
10#define AVARA3D_UTIL_TIMER_H
36 std::chrono::nanoseconds
stop();
50 std::optional<std::chrono::steady_clock::time_point> _start;
51 std::chrono::nanoseconds _duration;
Manually controlled steady-clock timer that stores its most recently measured duration.
std::chrono::nanoseconds duration() const
Returns the most recently stored duration in nanoseconds.
std::int64_t durationMilliseconds() const
Returns the most recently stored duration as whole milliseconds.
std::chrono::nanoseconds stop()
Stores and returns the elapsed duration since the most recent start().
void start()
Starts or restarts timing from the current steady-clock time.
Timer(bool start=true)
Creates a Timer, starting it immediately unless start is false.
double durationSeconds() const
Returns the most recently stored duration as fractional seconds.