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

Data structures that encodes the high resolution zoneinfo database persistence format. More...

#include <stdint.h>
#include <Arduino.h>
#include <AceCommon.h>
#include "compat.h"
#include "BrokerCommon.h"
Include dependency graph for ZoneInfoHigh.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ace_time::ZoneInfoHigh
 Wrapper class so that the entire collection can be referenced as a singel template parameter. More...
 
struct  ace_time::ZoneInfoHigh::ZoneContext
 Metadata about the zone database. More...
 
struct  ace_time::ZoneInfoHigh::ZoneRule
 A time zone transition rule. More...
 
struct  ace_time::ZoneInfoHigh::ZonePolicy
 A collection of transition rules which describe the DST rules of a given administrative region. More...
 
struct  ace_time::ZoneInfoHigh::ZoneEra
 An entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time period. More...
 
struct  ace_time::ZoneInfoHigh::ZoneInfo
 Representation of a given time zone, implemented as an array of ZoneEra records. More...
 
class  ace_time::ZoneInfoHigh::ZoneContextBroker
 Data broker for accessing a ZoneContext. More...
 
class  ace_time::ZoneInfoHigh::ZoneRuleBroker
 Data broker for accessing ZoneRule. More...
 
class  ace_time::ZoneInfoHigh::ZonePolicyBroker
 Data broker for accessing ZonePolicy. More...
 
class  ace_time::ZoneInfoHigh::ZoneEraBroker
 Data broker for accessing ZoneEra. More...
 
class  ace_time::ZoneInfoHigh::ZoneInfoBroker
 Data broker for accessing ZoneInfo. More...
 
class  ace_time::ZoneInfoHigh::ZoneRegistryBroker
 Data broker for accessing the ZoneRegistry. More...
 
class  ace_time::ZoneInfoHigh::ZoneInfoStore
 A storage object that creates an ZoneInfoBroker from a key that identifies the ZoneInfo. More...
 

Detailed Description

Data structures that encodes the high resolution zoneinfo database persistence format.

It has a 1-second resolution for AT, UNTIL, STDOFF, and DST offsets. The year fiels use 2-bytes which supporting years [-32767,32765].

The BrokersHigh.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.

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

Definition in file ZoneInfoHigh.h.