- cpp3ds
- Time
Represents a time value. More...
#include <Time.hpp>
Public Member Functions | |
Time () | |
Default constructor. More... | |
float | asSeconds () const |
Return the time value as a number of seconds. More... | |
Int32 | asMilliseconds () const |
Return the time value as a number of milliseconds. More... | |
Int64 | asMicroseconds () const |
Return the time value as a number of microseconds. More... | |
Static Public Attributes | |
static const Time | Zero |
Predefined "zero" time value. More... | |
Friends | |
Time | seconds (float) |
Time | milliseconds (Int32) |
Time | microseconds (Int64) |
Related Functions | |
(Note that these are not member functions.) | |
Time | seconds (float amount) |
Construct a time value from a number of seconds. More... | |
Time | milliseconds (Int32 amount) |
Construct a time value from a number of milliseconds. More... | |
Time | microseconds (Int64 amount) |
Construct a time value from a number of microseconds. More... | |
bool | operator== (Time left, Time right) |
Overload of == operator to compare two time values. More... | |
bool | operator!= (Time left, Time right) |
Overload of != operator to compare two time values. More... | |
bool | operator< (Time left, Time right) |
Overload of < operator to compare two time values. More... | |
bool | operator> (Time left, Time right) |
Overload of > operator to compare two time values. More... | |
bool | operator<= (Time left, Time right) |
Overload of <= operator to compare two time values. More... | |
bool | operator>= (Time left, Time right) |
Overload of >= operator to compare two time values. More... | |
Time | operator- (Time right) |
Overload of unary - operator to negate a time value. More... | |
Time | operator+ (Time left, Time right) |
Overload of binary + operator to add two time values. More... | |
Time & | operator+= (Time &left, Time right) |
Overload of binary += operator to add/assign two time values. More... | |
Time | operator- (Time left, Time right) |
Overload of binary - operator to subtract two time values. More... | |
Time & | operator-= (Time &left, Time right) |
Overload of binary -= operator to subtract/assign two time values. More... | |
Time | operator* (Time left, float right) |
Overload of binary * operator to scale a time value. More... | |
Time | operator* (Time left, Int64 right) |
Overload of binary * operator to scale a time value. More... | |
Time | operator* (float left, Time right) |
Overload of binary * operator to scale a time value. More... | |
Time | operator* (Int64 left, Time right) |
Overload of binary * operator to scale a time value. More... | |
Time & | operator*= (Time &left, float right) |
Overload of binary *= operator to scale/assign a time value. More... | |
Time & | operator*= (Time &left, Int64 right) |
Overload of binary *= operator to scale/assign a time value. More... | |
Time | operator/ (Time left, float right) |
Overload of binary / operator to scale a time value. More... | |
Time | operator/ (Time left, Int64 right) |
Overload of binary / operator to scale a time value. More... | |
Time & | operator/= (Time &left, float right) |
Overload of binary /= operator to scale/assign a time value. More... | |
Time & | operator/= (Time &left, Int64 right) |
Overload of binary /= operator to scale/assign a time value. More... | |
float | operator/ (Time left, Time right) |
Overload of binary / operator to compute the ratio of two time values. More... | |
Time | operator% (Time left, Time right) |
Overload of binary % operator to compute remainder of a time value. More... | |
Time & | operator%= (Time &left, Time right) |
Overload of binary %= operator to compute/assign remainder of a time value. More... | |
Represents a time value.
cpp3ds::Time encapsulates a time value in a flexible way.
It allows to define a time value either as a number of seconds, milliseconds or microseconds. It also works the other way round: you can read a time value as either a number of seconds, milliseconds or microseconds.
By using such a flexible interface, the API doesn't impose any fixed type or resolution for time values, and let the user choose its own favorite representation.
Time values support the usual mathematical operations: you can add or subtract two times, multiply or divide a time by a number, compare two times, etc.
Since they represent a time span and not an absolute time value, times can also be negative.
Usage example:
cpp3ds::Time::Time | ( | ) |
Default constructor.
Sets the time value to zero.
Int64 cpp3ds::Time::asMicroseconds | ( | ) | const |
Return the time value as a number of microseconds.
Int32 cpp3ds::Time::asMilliseconds | ( | ) | const |
Return the time value as a number of milliseconds.
float cpp3ds::Time::asSeconds | ( | ) | const |
Return the time value as a number of seconds.
|
related |
Construct a time value from a number of microseconds.
amount | Number of microseconds |
|
related |
Construct a time value from a number of milliseconds.
amount | Number of milliseconds |
Overload of != operator to compare two time values.
left | Left operand (a time) |
right | Right operand (a time) |
Overload of binary % operator to compute remainder of a time value.
left | Left operand (a time) |
right | Right operand (a time) |
Overload of binary %= operator to compute/assign remainder of a time value.
left | Left operand (a time) |
right | Right operand (a time) |
Overload of binary * operator to scale a time value.
left | Left operand (a time) |
right | Right operand (a number) |
Overload of binary * operator to scale a time value.
left | Left operand (a time) |
right | Right operand (a number) |
Overload of binary * operator to scale a time value.
left | Left operand (a number) |
right | Right operand (a time) |
Overload of binary * operator to scale a time value.
left | Left operand (a number) |
right | Right operand (a time) |
Overload of binary *= operator to scale/assign a time value.
left | Left operand (a time) |
right | Right operand (a number) |
Overload of binary *= operator to scale/assign a time value.
left | Left operand (a time) |
right | Right operand (a number) |
Overload of binary + operator to add two time values.
left | Left operand (a time) |
right | Right operand (a time) |
Overload of binary += operator to add/assign two time values.
left | Left operand (a time) |
right | Right operand (a time) |
Overload of unary - operator to negate a time value.
right | Right operand (a time) |
Overload of binary - operator to subtract two time values.
left | Left operand (a time) |
right | Right operand (a time) |
Overload of binary -= operator to subtract/assign two time values.
left | Left operand (a time) |
right | Right operand (a time) |
Overload of binary / operator to scale a time value.
left | Left operand (a time) |
right | Right operand (a number) |
Overload of binary / operator to scale a time value.
left | Left operand (a time) |
right | Right operand (a number) |
Overload of binary / operator to compute the ratio of two time values.
left | Left operand (a time) |
right | Right operand (a time) |
Overload of binary /= operator to scale/assign a time value.
left | Left operand (a time) |
right | Right operand (a number) |
Overload of binary /= operator to scale/assign a time value.
left | Left operand (a time) |
right | Right operand (a number) |
Overload of < operator to compare two time values.
left | Left operand (a time) |
right | Right operand (a time) |
Overload of <= operator to compare two time values.
left | Left operand (a time) |
right | Right operand (a time) |
Overload of == operator to compare two time values.
left | Left operand (a time) |
right | Right operand (a time) |
Overload of > operator to compare two time values.
left | Left operand (a time) |
right | Right operand (a time) |
Overload of >= operator to compare two time values.
left | Left operand (a time) |
right | Right operand (a time) |
|
related |
Construct a time value from a number of seconds.
amount | Number of seconds |
|
static |