AceTime
2.4.0
Date and time classes for Arduino that support timezones from the TZ Database.
src
zoneinfo
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
18
class
Basic
{};
// dummy sentinel class
19
using
ZoneContext
=
zoneinfolow::ZoneContext<Basic>
;
20
using
ZoneRule
=
zoneinfolow::ZoneRule<Basic>
;
21
using
ZonePolicy
=
zoneinfolow::ZonePolicy<Basic>
;
22
using
ZoneEra
=
zoneinfolow::ZoneEra<Basic>
;
23
using
ZoneInfo
=
zoneinfolow::ZoneInfo<Basic, ZoneContext>
;
24
25
}
26
27
// Data structures for ExtendedZoneProcessor. The ExtendedZoneProcessor
28
// uses the *same* storage format as BasicZoneProcessor (i.e. zoneinfolow)
29
// to save flash memory. It turns out that all timezones after the year 2000
30
// have parameters which can be accurately captured using the low-resolution
31
// zoneinfolow data types instead of the zoneinfomid data types.
32
namespace
extended {
33
34
class
Extended
{};
// dummy sentinel class
35
using
ZoneContext
=
zoneinfolow::ZoneContext<Extended>
;
36
using
ZoneRule
=
zoneinfolow::ZoneRule<Extended>
;
37
using
ZonePolicy
=
zoneinfolow::ZonePolicy<Extended>
;
38
using
ZoneEra
=
zoneinfolow::ZoneEra<Extended>
;
39
using
ZoneInfo
=
zoneinfolow::ZoneInfo<Extended, ZoneContext>
;
40
41
}
42
43
// Data structures for CompleteZoneProcessor
44
namespace
complete {
45
46
class
Complete
{};
// dummy sentinel class
47
using
ZoneContext
=
zoneinfohigh::ZoneContext<Complete>
;
48
using
ZoneRule
=
zoneinfohigh::ZoneRule<Complete>
;
49
using
ZonePolicy
=
zoneinfohigh::ZonePolicy<Complete>
;
50
using
ZoneEra
=
zoneinfohigh::ZoneEra<Complete>
;
51
using
ZoneInfo
=
zoneinfohigh::ZoneInfo<Complete, ZoneContext>
;
52
53
}
54
55
}
56
57
#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.
ace_time::basic::Basic
Definition:
infos.h:18
ace_time::complete::Complete
Definition:
infos.h:46
ace_time::extended::Extended
Definition:
infos.h:34
ace_time::zoneinfohigh::ZoneContext
Metadata about the zone database.
Definition:
ZoneInfoHigh.h:37
ace_time::zoneinfohigh::ZoneEra
An entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time per...
Definition:
ZoneInfoHigh.h:206
ace_time::zoneinfohigh::ZoneInfo
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition:
ZoneInfoHigh.h:295
ace_time::zoneinfohigh::ZonePolicy
A collection of transition rules which describe the DST rules of a given administrative region.
Definition:
ZoneInfoHigh.h:187
ace_time::zoneinfohigh::ZoneRule
A time zone transition rule.
Definition:
ZoneInfoHigh.h:113
ace_time::zoneinfolow::ZoneContext
Metadata about the zone database.
Definition:
ZoneInfoLow.h:37
ace_time::zoneinfolow::ZoneEra
An entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time per...
Definition:
ZoneInfoLow.h:226
ace_time::zoneinfolow::ZoneInfo
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition:
ZoneInfoLow.h:320
ace_time::zoneinfolow::ZonePolicy
A collection of transition rules which describe the DST rules of a given administrative region.
Definition:
ZoneInfoLow.h:207
ace_time::zoneinfolow::ZoneRule
A time zone transition rule.
Definition:
ZoneInfoLow.h:128
Generated by
1.9.1