AceTime
3.0.0
Date and time classes for Arduino that support timezones from the TZ Database.
|
Representation of a given time zone, implemented as an array of ZoneEra records. More...
#include <ZoneInfoHigh.h>
Public Attributes | |
const char *const | name |
Full name of zone (e.g. More... | |
uint32_t const | zoneId |
Unique, stable ID of the zone name, created from a hash of the name. More... | |
const ZoneContext *const | zoneContext |
ZoneContext metadata. | |
uint8_t const | numEras |
Number of ZoneEra entries. More... | |
const ZoneEra *const | eras |
A const ZoneEras* pointer to numEras ZoneEra entries in increasing order of UNTIL time. | |
const ZoneInfo *const | targetInfo |
If Link, points to the target zone info. More... | |
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition at line 303 of file ZoneInfoHigh.h.
const char* const ace_time::ZoneInfoHigh::ZoneInfo::name |
uint8_t const ace_time::ZoneInfoHigh::ZoneInfo::numEras |
Number of ZoneEra entries.
If this Zone is a actually a Link to a target Zone, the ZoneEra and numEras of the target Zone is placed here, and the targetInfo pointer below is set to the target ZoneInfo. This allows a Link entry to be self-contained, acting like any other Zone entry, which simplifies some of the code the ZoneProcessor because it does not need to traverse the link to find the required information. In essence, a Link is a "hard link" to a Zone.
An alternative implementation is to set numEras to 0 for a Link, and traverse the targetInfo to find the required numEras and eras. This led to more complicated code.
Definition at line 332 of file ZoneInfoHigh.h.
const ZoneInfo* const ace_time::ZoneInfoHigh::ZoneInfo::targetInfo |
If Link, points to the target zone info.
If Zone, nullptr.
Definition at line 341 of file ZoneInfoHigh.h.
uint32_t const ace_time::ZoneInfoHigh::ZoneInfo::zoneId |
Unique, stable ID of the zone name, created from a hash of the name.
This ID will never change once assigned. This can be used for presistence and serialization.
Definition at line 312 of file ZoneInfoHigh.h.