13 template<
typename Clock>
55 template<
typename Clock>
61 virtual ~Timer() =
default;
66 void start() { mStart = Clock::now(); }
72 void start(std::chrono::time_point<Clock> time) { mStart = time; }
78 std::chrono::time_point<Clock>
getStartTime()
const {
return mStart; }
88 double getElapsedTime()
const {
return std::chrono::duration<double>(Clock::now() - mStart).count(); }
93 float getElapsedTimeFloat()
const {
return std::chrono::duration<float>(Clock::now() - mStart).count(); }
136 T
get()
const {
return std::chrono::duration_cast<T>(Clock::now() - mStart); }
140 std::chrono::time_point<Clock> mStart;
std::chrono::milliseconds Milliseconds
Milliseconds type definition.
Definition: datetime.h:22
uint32_t getTicks() const
Definition: timer.h:98
std::chrono::minutes Minutes
Minutes type definition.
Definition: datetime.h:26
std::chrono::seconds Seconds
Seconds type definition.
Definition: datetime.h:25
NanoSeconds getNanos() const
Definition: timer.h:103
void start(std::chrono::time_point< Clock > time)
Definition: timer.h:72
Hours getHours() const
Definition: timer.h:128
T get() const
Definition: timer.h:136
Minutes getMinutes() const
Definition: timer.h:123
double getElapsedTime() const
Definition: timer.h:88
std::chrono::nanoseconds NanoSeconds
Nanoseconds type definition.
Definition: datetime.h:24
MicroSeconds getMicros() const
Definition: timer.h:108
Seconds getSeconds() const
Definition: timer.h:118
std::chrono::microseconds MicroSeconds
Microseconds type definition.
Definition: datetime.h:23
Milliseconds getMillis() const
Definition: timer.h:113
Definition: templateapp.h:17
std::chrono::hours Hours
Hours type definition.
Definition: datetime.h:27
float getElapsedTimeFloat() const
Definition: timer.h:93
void reset()
Definition: timer.h:83
std::chrono::time_point< Clock > getStartTime() const
Definition: timer.h:78
void start()
Definition: timer.h:66