2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42#ifndef DOXYGEN_SHOULD_SKIP_THIS
44#include "utils/Timeval.h"
61 timeVal.tv_sec = *initList.begin();
62 timeVal.tv_usec =
static_cast<suseconds_t>(*(initList.begin() + 1));
66 timeVal.tv_sec =
static_cast<time_t>(time);
67 timeVal.tv_usec =
static_cast<suseconds_t>((time -
static_cast<
double>(
timeVal.tv_sec)) * 1'000'000.0);
119 help
.timeVal.tv_sec =
static_cast<time_t>(
static_cast<
double>(
this->timeVal.tv_sec) * mul);
120 help
.timeVal.tv_usec =
static_cast<suseconds_t>(
static_cast<
double>(
this->timeVal.tv_usec) * mul);
150 return timeVal
< *
this;
154 return !(*
this > timeVal);
158 return !(*
this < timeVal);
162 return !(*
this < timeVal) && !(*
this > timeVal);
166 return !(*
this == timeVal);
174 return timespec{
timeVal.tv_sec,
static_cast<int32_t>(
timeVal.tv_usec * 1000)};
180 if (
timeVal.tv_sec > INT_MAX - 1) {
183 ms =
static_cast<
int>(
static_cast<
double>(
timeVal.tv_sec) * 1'000. +
static_cast<
double>(
timeVal.tv_usec) / 1'000. + 0.5);
191 if (
timeVal.tv_sec > INT_MAX - 1) {
194 msd =
static_cast<
double>(
timeVal.tv_sec) * 1'000. +
static_cast<
double>(
timeVal.tv_usec) / 1'000.;
206 if (
timeVal.tv_usec > 999'999) {
209 }
else if (
timeVal.tv_usec < 0) {
218 std::ostream& operator<<(std::ostream& ostream,
const utils::
Timeval& timeVal) {
219 return ostream << std::string(
"{") + std::to_string(timeVal
.timeVal.tv_sec) + std::string(
":") +
220 std::to_string(timeVal
.timeVal.tv_usec) + std::string(
"}");
226 help
.timeVal.tv_sec =
static_cast<time_t>(
static_cast<
double>(timeVal
.timeVal.tv_sec) * mul);
227 help
.timeVal.tv_usec =
static_cast<suseconds_t>(
static_cast<
double>(timeVal
.timeVal.tv_usec) * mul);
const timeval * operator&() const
bool operator>(const Timeval &timeVal) const
bool operator<(const Timeval &timeVal) const
Timeval operator*(double mul) const
Timeval(const std::initializer_list< time_t > &initList) noexcept
Timeval operator-() const
static Timeval currentTime()
bool operator<=(const Timeval &timeVal) const
bool operator!=(const Timeval &timeVal) const
timespec getTimespec() const
Timeval operator-(const Timeval &timeVal) const
Timeval & operator=(const timeval &timeVal)
Timeval & operator+=(const Timeval &timeVal)
bool operator==(const Timeval &timeVal) const
Timeval & operator-=(const Timeval &timeVal)
Timeval operator+(const Timeval &timeVal) const
Timeval & operator=(const Timeval &timeVal)
Timeval & operator*=(double mul)
bool operator>=(const Timeval &timeVal) const
Timeval(double time) noexcept
Timeval(const timeval &timeVal) noexcept
const Timeval & normalize()
int gettimeofday(struct timeval *tv, struct timezone *tz)
Timeval operator*(double mul, const utils::Timeval &timeVal)