![]() |
Fixposition SDK 0.0.0-heads/main-0-g53fa5b5
Collection of c++ libraries and apps for use with Fixposition products on Linux
|
#include <time.hpp>
Public Member Functions | |
Set duration | |
These do not throw and instead return true/false. | |
bool | SetSecNSec (const int32_t sec, const int32_t nsec) |
Set duration from seconds and nanoseconds. | |
bool | SetNSec (const int64_t nsec) |
Set duration from nanoseconds. | |
bool | SetSec (const double sec) |
Set duration from seconds. | |
Get duration | |
int64_t | GetNSec () const |
Get duration as nanoseconds. | |
double | GetSec (const int prec=9) const |
Get duration as seconds. | |
std::chrono::milliseconds | GetChronoMilli () const |
Get duration as std::chrono::milliseconds. | |
std::chrono::nanoseconds | GetChronoNano () const |
Get duration as std::chrono::nanoseconds. | |
Misc | |
bool | IsZero () const |
Check if duration is zero. | |
std::string | Stringify (const int prec=3) const |
Stringify duration, for debugging. | |
void | Sleep () const |
Sleep for the duration (if > 0) | |
Arithmetic methods | |
These do not throw and instead return true/false. | |
bool | AddDur (const Duration &dur) |
Add duration to duration. | |
bool | AddNSec (const int64_t nsec) |
Add nanoseconds to duration. | |
bool | AddSec (const double sec) |
Add seconds to duration. | |
bool | SubDur (const Duration &dur) |
Substract duration from duration. | |
bool | SubNSec (const int64_t nsec) |
Substract nanoseconds from duration. | |
bool | SubSec (const double sec) |
Substract seconds from duration. | |
bool | Scale (const double sec) |
Scale (multiply) duration. | |
Arithmetic operators | |
| |
Duration | operator+ (const Duration &rhs) const |
Sum duration and duration. | |
Duration | operator+ (const int64_t nsec) const |
Sum duration and nanoseconds. | |
Duration | operator+ (const double sec) const |
Sum duration and seconds. | |
Duration & | operator+= (const Duration &rhs) |
Add duration to duration. | |
Duration & | operator+= (const int64_t nsec) |
Add nanoseconds to durationn. | |
Duration & | operator+= (const double sec) |
Add seconds to duration. | |
Duration | operator- (const Duration &rhs) const |
Subtract duration and duration. | |
Duration | operator- (const int64_t nsec) const |
Subtract duration and nanoseconds. | |
Duration | operator- (const double sec) const |
Subtract duration and seconds. | |
Duration & | operator-= (const Duration &rhs) |
Subtract duration from duration. | |
Duration & | operator-= (const int64_t nsec) |
Subtract nanoseconds from duration. | |
Duration & | operator-= (const double sec) |
Subtract seconds from durationn. | |
Duration | operator- () const |
Reverse sign. | |
Duration | operator* (double scale) const |
Multiply (scale) duration. | |
Duration & | operator*= (double scale) |
Multiply (scale) duration. | |
Logic operators | |
bool | operator== (const Duration &rhs) const |
Equal. | |
bool | operator!= (const Duration &rhs) const |
Not equal. | |
bool | operator> (const Duration &rhs) const |
Greater than. | |
bool | operator< (const Duration &rhs) const |
Smaller than. | |
bool | operator>= (const Duration &rhs) const |
Greater or equal than. | |
bool | operator<= (const Duration &rhs) const |
Smaller or equal than. | |
Public Attributes | |
int32_t | sec_ |
Seconds part of duration. | |
int32_t | nsec_ |
Nanoseconds part of duration (should be in range 0-999999999) | |
Make Duration object | |
| |
Duration () | |
Constructor, zero duration. | |
static Duration | FromSecNSec (const int32_t sec, const int32_t nsec) |
Make Duration from seconds and nanoseconds. | |
static Duration | FromNSec (const int64_t nsec) |
Make Duration from nanoseconds. | |
static Duration | FromSec (const double sec) |
Make Duration from seconds. | |
Time duration.
This is similar (and binary compatible) to ros::Duration and rpclpp::Duration. While some of the constructors and operators can throw, it also provides non-throwing methods to manipulate the duration.
|
static |
|
static |
|
static |
bool fpsdk::common::time::Duration::SetSecNSec | ( | const int32_t | sec, |
const int32_t | nsec ) |
bool fpsdk::common::time::Duration::SetNSec | ( | const int64_t | nsec | ) |
Set duration from nanoseconds.
[in] | nsec | Duration value nanoseconds |
bool fpsdk::common::time::Duration::SetSec | ( | const double | sec | ) |
Set duration from seconds.
[in] | sec | Duration value seconds |
int64_t fpsdk::common::time::Duration::GetNSec | ( | ) | const |
Get duration as nanoseconds.
double fpsdk::common::time::Duration::GetSec | ( | const int | prec = 9 | ) | const |
Get duration as seconds.
[in] | prec | Round the seconds to this many fractional digits (0-9) |
std::chrono::milliseconds fpsdk::common::time::Duration::GetChronoMilli | ( | ) | const |
Get duration as std::chrono::milliseconds.
std::chrono::nanoseconds fpsdk::common::time::Duration::GetChronoNano | ( | ) | const |
Get duration as std::chrono::nanoseconds.
bool fpsdk::common::time::Duration::IsZero | ( | ) | const |
Check if duration is zero.
std::string fpsdk::common::time::Duration::Stringify | ( | const int | prec = 3 | ) | const |
Stringify duration, for debugging.
[in] | prec | Number of fractional digits for the seconds (0-9) |
bool fpsdk::common::time::Duration::AddDur | ( | const Duration & | dur | ) |
Add duration to duration.
[in] | dur | Duration to add |
bool fpsdk::common::time::Duration::AddNSec | ( | const int64_t | nsec | ) |
Add nanoseconds to duration.
[in] | nsec | Nanoseconds to add |
bool fpsdk::common::time::Duration::AddSec | ( | const double | sec | ) |
Add seconds to duration.
[in] | sec | Seconds to add |
bool fpsdk::common::time::Duration::SubDur | ( | const Duration & | dur | ) |
Substract duration from duration.
[in] | dur | Duration to substract |
bool fpsdk::common::time::Duration::SubNSec | ( | const int64_t | nsec | ) |
Substract nanoseconds from duration.
[in] | nsec | Nanoseconds to substract |
bool fpsdk::common::time::Duration::SubSec | ( | const double | sec | ) |
Substract seconds from duration.
[in] | sec | Seconds to substract |
bool fpsdk::common::time::Duration::Scale | ( | const double | sec | ) |
Scale (multiply) duration.
[in] | sec | Scale factor |
int32_t fpsdk::common::time::Duration::sec_ |
int32_t fpsdk::common::time::Duration::nsec_ |