34 #ifndef DOXYGEN_SHOULD_SKIP_THIS 91 constexpr explicit Time(std::chrono::steady_clock::duration duration)
105 return std::chrono::duration_cast<std::chrono::duration<
float>>(m_duration).count();
116 return std::chrono::duration_cast<std::chrono::duration<int32_t, std::milli>>(m_duration).count();
127 return std::chrono::duration_cast<std::chrono::duration<int64_t, std::micro>>(m_duration).count();
135 constexpr std::chrono::steady_clock::duration
asDuration()
const {
146 m_duration += other.m_duration;
157 m_duration -= other.m_duration;
168 std::chrono::steady_clock::duration m_duration;
183 return Time(std::chrono::duration_cast<std::chrono::steady_clock::duration>(std::chrono::duration<
float>(amount)));
198 return Time(std::chrono::duration_cast<std::chrono::steady_clock::duration>(std::chrono::duration<int32_t, std::milli>(amount)));
213 return Time(std::chrono::duration_cast<std::chrono::steady_clock::duration>(std::chrono::duration<int64_t, std::micro>(amount)));
226 return rhs.asDuration() == lhs.asDuration();
239 return rhs.asDuration() != lhs.asDuration();
252 return rhs.asDuration() < lhs.asDuration();
265 return rhs.asDuration() > lhs.asDuration();
278 return rhs.asDuration() <= lhs.asDuration();
291 return rhs.asDuration() >= lhs.asDuration();
304 return Time(rhs.asDuration() + lhs.asDuration());
330 return Time(rhs.asDuration() - lhs.asDuration());
346 #ifndef DOXYGEN_SHOULD_SKIP_THIS Time & subTo(Time other)
Substract another time.
Definition: Time.h:156
constexpr Time microseconds(int64_t amount)
Construct a time value from a number of microseconds.
Definition: Time.h:212
constexpr int32_t asMilliseconds() const
Return the time value as a number of milliseconds.
Definition: Time.h:115
static constexpr Time zero()
Definition: Time.h:163
constexpr Time milliseconds(int32_t amount)
Construct a time value from a number of milliseconds.
Definition: Time.h:197
constexpr float asSeconds() const
Return the time value as a number of seconds.
Definition: Time.h:104
constexpr Time()
Default constructor.
Definition: Time.h:80
constexpr bool operator<=(Time rhs, Time lhs)
Lesser or equal operator.
Definition: Time.h:277
Time operator-=(Time &rhs, Time lhs)
Substraction and assignment.
Definition: Time.h:342
constexpr bool operator<(Time rhs, Time lhs)
Lesser than operator.
Definition: Time.h:251
constexpr bool operator>(Time rhs, Time lhs)
Greater than operator.
Definition: Time.h:264
constexpr Time operator-(Time rhs, Time lhs)
Substraction of two times.
Definition: Time.h:329
Represents a time value.
Definition: Time.h:73
constexpr std::chrono::steady_clock::duration asDuration() const
Return the time value as a duration.
Definition: Time.h:135
constexpr int64_t asMicroseconds() const
Return the time value as a number of microseconds.
Definition: Time.h:126
The namespace for gf classes.
Definition: Action.h:34
constexpr Time operator+(Time rhs, Time lhs)
Addition of two times.
Definition: Time.h:303
constexpr bool operator==(Time rhs, Time lhs)
Equality operator.
Definition: Time.h:225
constexpr bool operator!=(Time rhs, Time lhs)
Inequality operator.
Definition: Time.h:238
#define GF_API
Definition: Portability.h:35
constexpr bool operator>=(Time rhs, Time lhs)
Greater or equal than operator.
Definition: Time.h:290
static const Time Zero
Definition: Time.h:161
Time operator+=(Time &rhs, Time lhs)
Addition and assignement.
Definition: Time.h:316
Time & addTo(Time other)
Add another time.
Definition: Time.h:145
constexpr Time seconds(float amount)
Construct a time value from a number of seconds.
Definition: Time.h:182
constexpr Time(std::chrono::steady_clock::duration duration)
Constructor with a duration.
Definition: Time.h:91