AceTime 3.0.0 Date and time classes for Arduino that support timezones from the TZ Database.

infos.h
1 /*
2 * MIT License
3 * Copyright (c) 2023 Brian T. Park
4 */
5
6 #ifndef ACE_TIME_INFOS_H
7 #define ACE_TIME_INFOS_H
8
9 #include "ZoneInfoLow.h"
10 #include "ZoneInfoMid.h"
11 #include "ZoneInfoHigh.h"
12
13 namespace ace_time {
14
15 // Data structures for BasicZoneProcessor
16 namespace basic {
17 using Info = ZoneInfoLow;
18 }
19
20 // Data structures for ExtendedZoneProcessor. The ExtendedZoneProcessor
21 // uses the *same* storage format as BasicZoneProcessor (i.e. ZoneInfoLow)
22 // to save flash memory. It turns out that all timezones after the year 2000
23 // have parameters which can be accurately captured using the low-resolution
24 // ZoneInfoLow data types instead of the ZoneInfoMid data types.
25 namespace extended {
26 using Info = ZoneInfoLow;
27 }
28
29 // Data structures for CompleteZoneProcessor
30 namespace complete {
31 using Info = ZoneInfoHigh;
32 }
33
34 }
35
36 #endif
ZoneInfoHigh.h
Data structures that encodes the high resolution zoneinfo database persistence format.
ZoneInfoLow.h
Data structures describe the low resolution zoneinfo persistence format.
ZoneInfoMid.h
Data structures that describe the mid resolution zoneinfo persistence format.