2
3
4
14
15
28
29
30
31
32
33
44 explicit ITimer(
int type,
const timeval &interval = {.tv_sec = 1, .tv_usec = 0})
noexcept;
47 ITimer(
int type,
const timeval &interval,
const timeval &value)
noexcept;
50 ITimer(
int type,
double interval)
noexcept;
53 ITimer(
int type,
double interval,
double value)
noexcept;
66
67
68
69
70
71
75
76
77
78
79
83
84
85
86
90
91
92
93
94
95
96
97
98
102
103
104
105
106
107
108
112
113
114
115
116
117
118
122
123
124
125
126
127
131
132
133
134
135
136
140
141
142
143
147
148
149
150
151
152
153
154 void to_fstream(std::ofstream &fstream)
const;
157
158
159
160
164
165
166
167
171
172
173
174
179
180
181
182
183
190
191
192
193
194
195 explicit ITimer_Real(
const timeval &interval = {.tv_sec = 1, .tv_usec = 0});
198
199
200
201
202
203
204 ITimer_Real(
const timeval &interval,
const timeval &value);
207
208
209
210
211
215
216
217
218
219
220
237
238
239
240
241
242
249
250
251
252
253
254 explicit ITimer_Virtual(
const timeval &interval = {.tv_sec = 1, .tv_usec = 0});
257
258
259
260
261
262
266
267
268
269
270
274
275
276
277
278
279
296
297
298
299
300
301
302
303
304
311
312
313
314
315
316 explicit ITimer_Prof(
const timeval &interval = {.tv_sec = 1, .tv_usec = 0});
319
320
321
322
323
324
325 ITimer_Prof(
const timeval &interval,
const timeval &value);
328
329
330
331
332
336
337
338
339
340
341
358timeval &
operator*=(timeval &left,
double right)
noexcept;
361itimerval &
operator*=(itimerval &left,
double right)
noexcept;
364timeval
operator*(
const timeval &left,
double right)
noexcept;
367itimerval
operator*(
const itimerval &left,
double right)
noexcept;
370timeval &
operator/=(timeval &left,
double right)
noexcept;
373itimerval &
operator/=(itimerval &left,
double right)
noexcept;
376timeval
operator/(
const timeval &left,
double right)
noexcept;
379itimerval
operator/(
const itimerval &left,
double right)
noexcept;
ITimer_Prof(double interval)
create ITimer_Prof instance
ITimer_Prof(double interval, double value)
create ITimer_Prof instance
ITimer_Prof & operator=(ITimer_Prof &&other)=delete
ITimer_Prof(const timeval &interval={.tv_sec=1,.tv_usec=0})
create ITimer_Prof instance
static bool instance_exists
ITimer_Prof(ITimer_Prof &&other)=delete
ITimer_Prof & operator=(const ITimer_Prof &other)=delete
ITimer_Prof(const timeval &interval, const timeval &value)
create ITimer_Prof instance
ITimer_Prof(const ITimer_Prof &other)=delete
ITimer_Real(const timeval &interval={.tv_sec=1,.tv_usec=0})
create ITimer_Real instance
ITimer_Real(double interval)
create ITimer_Real instance
ITimer_Real(const timeval &interval, const timeval &value)
create ITimer_Real instance
ITimer_Real(ITimer_Real &&other)=delete
static bool instance_exists
ITimer_Real & operator=(const ITimer_Real &other)=delete
ITimer_Real & operator=(ITimer_Real &&other)=delete
ITimer_Real(double interval, double value)
create ITimer_Real instance
ITimer_Real(const ITimer_Real &other)=delete
static bool instance_exists
ITimer_Virtual & operator=(const ITimer_Virtual &other)=delete
ITimer_Virtual(const timeval &interval, const timeval &value)
create ITimer_Virtual instance
~ITimer_Virtual() override
ITimer_Virtual(const timeval &interval={.tv_sec=1,.tv_usec=0})
create ITimer_Virtual instance
ITimer_Virtual(const ITimer_Virtual &other)=delete
ITimer_Virtual & operator=(ITimer_Virtual &&other)=delete
ITimer_Virtual(double interval, double value)
create ITimer_Virtual instance
ITimer_Virtual(ITimer_Virtual &&other)=delete
ITimer_Virtual(double interval)
create ITimer_Virtual instance
void to_fstream(std::ofstream &fstream) const
write to binary file stream
double speed_factor
speed adjustment factor
ITimer(int type, double interval, double value) noexcept
ITimer(int type, const timeval &interval={.tv_sec=1,.tv_usec=0}) noexcept
ITimer(ITimer &&other)=delete
moving is not possible
ITimer(const ITimer &other)=delete
copying is not possible
ITimer(int type, double interval) noexcept
timeval get_timer_value() const
get timer value
void from_fstream(std::ifstream &fstream)
read from binary filestream
void set_interval(const timeval &interval)
set interval (timeval)
ITimer & operator=(ITimer &&other)=delete
moving is not possible
void set_interval(double interval)
set interval (double)
ITimer & operator=(const ITimer &other)=delete
copying is not possible
bool is_running() const noexcept
check if timer is running
void set_interval_value(double interval, double value)
set interval and value
virtual ~ITimer()
Destroy the timer instance.
void set_speed_to_normal()
set speed to normal
void set_speed_factor(double factor)
set speed factor
ITimer(int type, const timeval &interval, const timeval &value) noexcept
void set_interval_value(const timeval &interval, const timeval &value)
set interval and value
virtual void adjust_speed(double new_factor)
itimerval & operator/=(itimerval &left, double right) noexcept
timeval double_to_timeval(const double time) noexcept
timeval & operator*=(timeval &left, double right) noexcept
constexpr auto USEC_PER_SEC
timeval operator*(const timeval &left, double right) noexcept
itimerval operator*(const itimerval &left, double right) noexcept
itimerval operator/(const itimerval &left, double right) noexcept
itimerval & operator*=(itimerval &left, double right) noexcept
timeval & operator/=(timeval &left, double right) noexcept
double timeval_to_double(const timeval &time) noexcept
static constexpr itimerval STOP_TIMER
timeval operator/(const timeval &left, double right) noexcept