26 #ifndef CPP_NIX_TIMESPEC_H_
27 #define CPP_NIX_TIMESPEC_H_
31 timespec
operator+(
const timespec& a,
const timespec& b);
32 timespec
operator-(
const timespec& a,
const timespec& b);
46 : timespec { sec, nsec } {
50 return (*
this) = (*this) +
other;
54 return (*
this) = (*this) -
other;
60 inline bool operator==(
const timespec& a,
const timespec& b) {
61 return a.tv_sec == b.tv_sec && a.tv_nsec == b.tv_nsec;
64 inline bool operator!=(
const timespec& a,
const timespec& b) {
68 inline bool operator<(
const timespec& a,
const timespec& b) {
69 if (a.tv_sec < b.tv_sec) {
71 }
else if (a.tv_sec > b.tv_sec) {
74 return a.tv_nsec < b.tv_nsec;
78 inline bool operator>(
const timespec& a,
const timespec& b) {
79 if (a.tv_sec > b.tv_sec) {
81 }
else if (a.tv_sec < b.tv_sec) {
84 return a.tv_nsec > b.tv_nsec;
88 inline bool operator<=(
const timespec& a,
const timespec& b) {
89 if (a.tv_sec < b.tv_sec) {
91 }
else if (a.tv_sec > b.tv_sec) {
94 return a.tv_nsec <= b.tv_nsec;
98 inline bool operator>=(
const timespec& a,
const timespec& b) {
99 if (a.tv_sec > b.tv_sec) {
101 }
else if (a.tv_sec < b.tv_sec) {
104 return a.tv_nsec >= b.tv_nsec;
109 #endif // TIMESPEC_H_
Timespec & operator+=(const Timespec &other)
Timespec & operator-=(const Timespec &other)
Timespec(int sec=0, long int nsec=0)
timespec 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)
BinaryKey other(const BinaryKey &key)
bool operator<=(const timespec &a, const timespec &b)
bool operator!=(const timespec &a, const timespec &b)
Timespec(const timespec &other)
bool operator==(const timespec &a, const timespec &b)