25 #ifndef MPBLOCKS_UTIL_TIMESPEC_H_
26 #define MPBLOCKS_UTIL_TIMESPEC_H_
30 timespec
operator+(
const timespec& a,
const timespec& b);
31 timespec
operator-(
const timespec& a,
const timespec& b);
41 Timespec(
int sec = 0,
long int nsec = 0) : timespec{sec, nsec} {}
44 return (*
this) = (*this) +
other;
48 return (*
this) = (*this) -
other;
52 return tv_sec + tv_nsec / 1e6;
56 inline bool operator==(
const timespec& a,
const timespec& b) {
57 return a.tv_sec == b.tv_sec && a.tv_nsec == b.tv_nsec;
60 inline bool operator!=(
const timespec& a,
const timespec& b) {
64 inline bool operator<(
const timespec& a,
const timespec& b) {
65 if (a.tv_sec < b.tv_sec) {
67 }
else if (a.tv_sec > b.tv_sec) {
70 return a.tv_nsec < b.tv_nsec;
74 inline bool operator>(
const timespec& a,
const timespec& b) {
75 if (a.tv_sec > b.tv_sec) {
77 }
else if (a.tv_sec < b.tv_sec) {
80 return a.tv_nsec > b.tv_nsec;
84 inline bool operator<=(
const timespec& a,
const timespec& b) {
85 if (a.tv_sec < b.tv_sec) {
87 }
else if (a.tv_sec > b.tv_sec) {
90 return a.tv_nsec <= b.tv_nsec;
94 inline bool operator>=(
const timespec& a,
const timespec& b) {
95 if (a.tv_sec > b.tv_sec) {
97 }
else if (a.tv_sec < b.tv_sec) {
100 return a.tv_nsec >= b.tv_nsec;
104 Timespec
operator+(
const Timespec& a,
const Timespec& b);
105 Timespec
operator-(
const Timespec& a,
const Timespec& b);
110 #endif // INCLUDE_MPBLOCKS_UTIL_TIMESPEC_H_
bool operator<(const timespec &a, const timespec &b)
Timespec operator-(const Timespec &a, const Timespec &b)
bool operator!=(const timespec &a, const timespec &b)
timespec operator+(const timespec &a, const timespec &b)
bool operator<=(const timespec &a, const timespec &b)
bool operator>=(const timespec &a, const timespec &b)
bool operator>(const timespec &a, const timespec &b)
timespec operator-(const timespec &a, const timespec &b)
Timespec(int sec=0, long int nsec=0)
Timespec(const timespec &other)
Timespec operator+(const Timespec &a, const Timespec &b)
Timespec & operator+=(const Timespec &other)
Timespec & operator-=(const Timespec &other)
BinaryKey other(const BinaryKey &key)
bool operator==(const timespec &a, const timespec &b)
double Milliseconds() const
just a c timespec with arithmetic operators