AceTime  2.4.0
Date and time classes for Arduino that support timezones from the TZ Database.
Classes
ZoneInfoMid.h File Reference

Data structures that describe the mid resolution zoneinfo persistence format. More...

#include <stdint.h>
Include dependency graph for ZoneInfoMid.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ace_time::zoneinfomid::ZoneContext< S >
 Metadata about the zone database. More...
 
struct  ace_time::zoneinfomid::ZoneRule< S >
 A time zone transition rule. More...
 
struct  ace_time::zoneinfomid::ZonePolicy< S >
 A collection of transition rules which describe the DST rules of a given administrative region. More...
 
struct  ace_time::zoneinfomid::ZoneEra< S >
 An entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time period. More...
 
struct  ace_time::zoneinfomid::ZoneInfo< S, ZC >
 Representation of a given time zone, implemented as an array of ZoneEra records. More...
 

Detailed Description

Data structures that describe the mid resolution zoneinfo persistence format.

by the AceTimeTools compiler. It has a 1-minute resolution for AT, UNTIL, STDOFF; a 15-minute resolution for DST offset (similar to ZoneInfoLow). But it also uses 2-byte year fields supporting year range of [-32767,32765] (similar to ZoneInfoHigh).

The BrokersMid.h file provides an abtraction layer which converts these low-level fields into a semantically consistent API which can be used by the AceTime classes.

The various zoneinfo database files (e.g. zonedb, zonedbx, zonedbc) will use one of these persistence formats, as defined by infos.h. (The ZoneInfoMid.h persistence format was used at some point during the development, but it is current not used by any of the zone*db database files.)

See also DEVELOPER.md for an overview of the ZoneInfoXXX layer.

Definition in file ZoneInfoMid.h.