ESP DateTime
0.2.0
Date Time Functions and Classes for ESP8266 and ESP32
TimeElapsed.h
Go to the documentation of this file.
1
#ifndef ESP_DATE_TIME_TIME_ELAPSED_H
2
#define ESP_DATE_TIME_TIME_ELAPSED_H
3
4
/**
5
* @file TimeElapsed.h
6
* @author Zhang Xiaoke (github@mcxiaoke.com)
7
* @brief ESPDateTime header
8
*
9
*/
10
11
#include <Arduino.h>
12
13
/**
14
* @brief TimeElapsed class
15
*
16
*/
17
18
class
TimeElapsed
{
19
private
:
20
unsigned
long
ms;
21
22
public
:
23
TimeElapsed
() : ms(millis()) {}
24
TimeElapsed
(
unsigned
long
val) { ms = millis() - val; }
25
TimeElapsed
(
const
TimeElapsed
& rhs) { ms = rhs.ms; }
26
operator
unsigned
long()
const
{
return
millis() - ms; }
27
TimeElapsed
& operator=(
const
TimeElapsed
& rhs) {
28
ms = rhs.ms;
29
return
*
this
;
30
}
31
TimeElapsed
& operator=(
unsigned
long
val) {
32
ms = millis() - val;
33
return
*
this
;
34
}
35
TimeElapsed
& operator-=(
unsigned
long
val) {
36
ms += val;
37
return
*
this
;
38
}
39
TimeElapsed
& operator+=(
unsigned
long
val) {
40
ms -= val;
41
return
*
this
;
42
}
43
TimeElapsed
operator-(
int
val)
const
{
44
TimeElapsed
r(*
this
);
45
r.ms += val;
46
return
r;
47
}
48
TimeElapsed
operator-(
unsigned
int
val)
const
{
49
TimeElapsed
r(*
this
);
50
r.ms += val;
51
return
r;
52
}
53
TimeElapsed
operator-(
long
val)
const
{
54
TimeElapsed
r(*
this
);
55
r.ms += val;
56
return
r;
57
}
58
TimeElapsed
operator-(
unsigned
long
val)
const
{
59
TimeElapsed
r(*
this
);
60
r.ms += val;
61
return
r;
62
}
63
TimeElapsed
operator+(
int
val)
const
{
64
TimeElapsed
r(*
this
);
65
r.ms -= val;
66
return
r;
67
}
68
TimeElapsed
operator+(
unsigned
int
val)
const
{
69
TimeElapsed
r(*
this
);
70
r.ms -= val;
71
return
r;
72
}
73
TimeElapsed
operator+(
long
val)
const
{
74
TimeElapsed
r(*
this
);
75
r.ms -= val;
76
return
r;
77
}
78
TimeElapsed
operator+(
unsigned
long
val)
const
{
79
TimeElapsed
r(*
this
);
80
r.ms -= val;
81
return
r;
82
}
83
};
84
85
#endif
TimeElapsed
TimeElapsed class.
Definition:
TimeElapsed.h:18
src
TimeElapsed.h
Generated on Sun Dec 1 2019 20:13:12 for ESP DateTime by
1.8.16