AceTime
2.3.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
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:19
ace_time::zoneinfohigh::ZoneEra
An entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time per...
Definition:
ZoneInfoHigh.h:187
ace_time::zoneinfohigh::ZoneInfo
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition:
ZoneInfoHigh.h:277
ace_time::zoneinfohigh::ZonePolicy
A collection of transition rules which describe the DST rules of a given administrative region.
Definition:
ZoneInfoHigh.h:169
ace_time::zoneinfohigh::ZoneRule
A time zone transition rule.
Definition:
ZoneInfoHigh.h:95
ace_time::zoneinfolow::ZoneContext
Metadata about the zone database.
Definition:
ZoneInfoLow.h:19
ace_time::zoneinfolow::ZoneEra
An entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time per...
Definition:
ZoneInfoLow.h:207
ace_time::zoneinfolow::ZoneInfo
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition:
ZoneInfoLow.h:302
ace_time::zoneinfolow::ZonePolicy
A collection of transition rules which describe the DST rules of a given administrative region.
Definition:
ZoneInfoLow.h:189
ace_time::zoneinfolow::ZoneRule
A time zone transition rule.
Definition:
ZoneInfoLow.h:110
Generated by
1.9.1