A Time class, can be used to hold wall- or sim-time. stored as sec and nano-sec. More...
#include <common/common.hh>
Public Types | |
enum | FormatOption { DAYS = 0, HOURS = 1, MINUTES = 2, SECONDS = 3, MILLISECONDS = 4 } |
Public Member Functions | |
Time () | |
Constructors. More... | |
Time (const struct timespec &_tv) | |
Constructor. More... | |
Time (const Time &_time) | |
Copy constructor. More... | |
Time (double _time) | |
Constuctor. More... | |
Time (int32_t _sec, int32_t _nsec) | |
Constructor. More... | |
virtual | ~Time () |
Destructor. More... | |
double | Double () const |
Get the time as a double. More... | |
float | Float () const |
Get the time as a float. More... | |
std::string | FormattedString (FormatOption _start=FormatOption::DAYS, FormatOption _end=FormatOption::MILLISECONDS) const |
Get the time as a string formatted as "DD hh:mm:ss.mmm", with the option to choose the start/end. More... | |
bool | operator!= (const Time &_time) const |
Equal to operator. More... | |
bool | operator!= (double _time) const |
Equal to operator. More... | |
Time | operator* (const struct timespec &_tv) const |
Multiplication operator. More... | |
Time | operator* (const Time &_time) const |
Multiplication operators. More... | |
const Time & | operator*= (const struct timespec &_tv) |
Multiplication assignment operator. More... | |
const Time & | operator*= (const Time &_time) |
Multiplication operators. More... | |
Time | operator+ (const Time &_time) const |
Addition operators. More... | |
const Time & | operator+= (const Time &_time) |
Addition assignemtn operator. More... | |
Time | operator- (const struct timespec &_tv) const |
Subtraction operator. More... | |
Time | operator- (const Time &_time) const |
Subtraction operator. More... | |
const Time & | operator-= (const struct timespec &_tv) |
Subtraction assignment operator. More... | |
const Time & | operator-= (const Time &_time) |
Subtraction assignment operator. More... | |
Time | operator/ (const Time &_time) const |
Division operator. More... | |
const Time & | operator/= (const struct timespec &_tv) |
Division assignment operator. More... | |
const Time & | operator/= (const Time &time) |
Division assignment operator. More... | |
bool | operator< (const Time &_time) const |
Less than operator. More... | |
bool | operator< (double _time) const |
Less than operator. More... | |
bool | operator<= (const Time &_time) const |
Less than or equal to operator. More... | |
bool | operator<= (double _time) const |
Less than or equal to operator. More... | |
Time & | operator= (const Time &_time) |
Assignment operator. More... | |
bool | operator== (const Time &_time) const |
Equal to operator. More... | |
bool | operator== (double _time) const |
Equal to operator. More... | |
bool | operator> (const struct timespec &_tv) const |
Greater than operator. More... | |
bool | operator> (const Time &_time) const |
Greater than operator. More... | |
bool | operator> (double _time) const |
Greater than operator. More... | |
bool | operator>= (const struct timespec &_tv) const |
Greater than or equal operator. More... | |
bool | operator>= (const Time &_time) const |
Greater than or equal operator. More... | |
bool | operator>= (double _time) const |
Greater than or equal operator. More... | |
void | Set (double _seconds) |
Set to seconds. More... | |
void | Set (int32_t _sec, int32_t _nsec) |
Set to sec and nsec. More... | |
Static Public Member Functions | |
static Time | Sleep (const common::Time &_time) |
Sleep for the specified time. More... | |
static const Time & | SystemTime () |
Get the wall time. More... | |
Public Attributes | |
int32_t | nsec |
Nanoseconds. More... | |
int32_t | sec |
Seconds. More... | |
Static Public Attributes | |
static const Time | Zero |
A static zero time variable set to common::Time(0, 0). More... | |
Detailed Description
A Time class, can be used to hold wall- or sim-time. stored as sec and nano-sec.
Member Enumeration Documentation
◆ FormatOption
|
strong |
Constructor & Destructor Documentation
◆ Time() [1/5]
Time | ( | ) |
Constructors.
◆ Time() [2/5]
◆ Time() [3/5]
◆ Time() [4/5]
Time | ( | int32_t | _sec, |
int32_t | _nsec | ||
) |
Constructor.
- Parameters
-
[in] _sec Seconds [in] _nsec Nanoseconds
◆ Time() [5/5]
◆ ~Time()
|
virtual |
Destructor.
Member Function Documentation
◆ Double()
double Double | ( | ) | const |
Get the time as a double.
- Returns
- Time as a double in seconds
◆ Float()
float Float | ( | ) | const |
Get the time as a float.
- Returns
- Time as a float in seconds
◆ FormattedString()
std::string FormattedString | ( | FormatOption | _start = FormatOption::DAYS , |
FormatOption | _end = FormatOption::MILLISECONDS |
||
) | const |
Get the time as a string formatted as "DD hh:mm:ss.mmm", with the option to choose the start/end.
- Parameters
-
[in] _start Start point. [in] _end End point.
- Returns
- String representing time.
◆ operator!=() [1/2]
bool operator!= | ( | const Time & | _time | ) | const |
Equal to operator.
- Parameters
-
[in] _time the time to compare to
- Returns
- true if values are the same, false otherwise
◆ operator!=() [2/2]
bool operator!= | ( | double | _time | ) | const |
Equal to operator.
- Parameters
-
[in] _time the time to compare to
- Returns
- true if values are the same, false otherwise
◆ operator*() [1/2]
Time operator* | ( | const struct timespec & | _tv | ) | const |
◆ operator*() [2/2]
◆ operator*=() [1/2]
const Time& operator*= | ( | const struct timespec & | _tv | ) |
Multiplication assignment operator.
- Parameters
-
[in] _tv the scaling duration
- Returns
- a reference to this instance
◆ operator*=() [2/2]
◆ operator+()
◆ operator+=()
◆ operator-() [1/2]
Time operator- | ( | const struct timespec & | _tv | ) | const |
◆ operator-() [2/2]
◆ operator-=() [1/2]
const Time& operator-= | ( | const struct timespec & | _tv | ) |
◆ operator-=() [2/2]
Subtraction assignment operator.
- Parameters
-
[in] _time The time to subtract
- Returns
- a reference to this instance
◆ operator/()
◆ operator/=() [1/2]
const Time& operator/= | ( | const struct timespec & | _tv | ) |
◆ operator/=() [2/2]
◆ operator<() [1/2]
bool operator< | ( | const Time & | _time | ) | const |
Less than operator.
- Parameters
-
[in] _time the time to compare with
- Returns
- true if time is shorter than this, false otherwise
◆ operator<() [2/2]
bool operator< | ( | double | _time | ) | const |
Less than operator.
- Parameters
-
[in] _time the time to compare with
- Returns
- true if time is shorter than this, false otherwise
◆ operator<=() [1/2]
bool operator<= | ( | const Time & | _time | ) | const |
Less than or equal to operator.
- Parameters
-
[in] _time the time to compare with
- Returns
- true if time is shorter than or equal to this, false otherwise
◆ operator<=() [2/2]
bool operator<= | ( | double | _time | ) | const |
Less than or equal to operator.
- Parameters
-
[in] _time the time to compare with
- Returns
- true if time is shorter than or equal to this, false otherwise
◆ operator=()
Assignment operator.
- Parameters
-
[in] _time the new time
- Returns
- a reference to this instance
◆ operator==() [1/2]
bool operator== | ( | const Time & | _time | ) | const |
Equal to operator.
- Parameters
-
[in] _time the time to compare to
- Returns
- true if values are the same, false otherwise
◆ operator==() [2/2]
bool operator== | ( | double | _time | ) | const |
Equal to operator.
- Parameters
-
[in] _time the time to compare to
- Returns
- true if values are the same, false otherwise
◆ operator>() [1/3]
bool operator> | ( | const struct timespec & | _tv | ) | const |
Greater than operator.
- Parameters
-
[in] _tv the time to compare with
- Returns
- true if time is greater than this, false otherwise
◆ operator>() [2/3]
bool operator> | ( | const Time & | _time | ) | const |
Greater than operator.
- Parameters
-
[in] _time the time to compare with
- Returns
- true if time is greater than this, false otherwise
◆ operator>() [3/3]
bool operator> | ( | double | _time | ) | const |
Greater than operator.
- Parameters
-
[in] _time the time to compare with
- Returns
- true if time is greater than this, false otherwise
◆ operator>=() [1/3]
bool operator>= | ( | const struct timespec & | _tv | ) | const |
Greater than or equal operator.
- Parameters
-
[in] _tv the time to compare with
- Returns
- true if tv is greater than or equal to this, false otherwise
◆ operator>=() [2/3]
bool operator>= | ( | const Time & | _time | ) | const |
Greater than or equal operator.
- Parameters
-
[in] _time the time to compare with
- Returns
- true if time is greater than or equal to this, false otherwise
◆ operator>=() [3/3]
bool operator>= | ( | double | _time | ) | const |
Greater than or equal operator.
- Parameters
-
[in] _time the time to compare with
- Returns
- true if time is greater than or equal to this, false otherwise
◆ Set() [1/2]
void Set | ( | double | _seconds | ) |
Set to seconds.
- Parameters
-
[in] _seconds Number of seconds
◆ Set() [2/2]
void Set | ( | int32_t | _sec, |
int32_t | _nsec | ||
) |
Set to sec and nsec.
- Parameters
-
[in] _sec Seconds [in] _nsec Nanoseconds
◆ Sleep()
|
static |
Sleep for the specified time.
- Parameters
-
[in] _time Sleep time
- Returns
- On OSX and Linux the return value is the time slept, as reported by
nanosleep
for OSX andclock_nanosleep
for Linux. The return value does not include time spent before and after the actual call to the system's sleep function.
On Windows the return value is always common::Time::Zero.
◆ SystemTime()
|
static |
Get the wall time.
- Returns
- the current time
Member Data Documentation
◆ nsec
int32_t nsec |
Nanoseconds.
◆ sec
int32_t sec |
Seconds.
◆ Zero
|
static |
A static zero time variable set to common::Time(0, 0).
The documentation for this class was generated from the following file: