AceTime 2.4.0 Date and time classes for Arduino that support timezones from the TZ Database.

Public Attributes | List of all members
ace_time::zoneinfomid::ZoneInfo< S, ZC > Struct Template Reference

Representation of a given time zone, implemented as an array of ZoneEra records. More...

`#include <ZoneInfoMid.h>`

Collaboration diagram for ace_time::zoneinfomid::ZoneInfo< S, ZC >:
[legend]

## 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 ZC *const | zoneContext
| ZoneContext metadata.
uint8_t const | numEras
| Number of ZoneEra entries. More...
const ZoneEra< S > *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...

## Detailed Description

### template<typename S, typename ZC>
struct ace_time::zoneinfomid::ZoneInfo< S, ZC >

Representation of a given time zone, implemented as an array of ZoneEra records.

Definition at line 308 of file ZoneInfoMid.h.

## Member Data Documentation

## ◆ name

template<typename S , typename ZC >

const char* const ace_time::zoneinfomid::ZoneInfo< S, ZC >::name

Full name of zone (e.g.

"America/Los_Angeles").

Definition at line 310 of file ZoneInfoMid.h.

## ◆ numEras

template<typename S , typename ZC >

uint8_t const ace_time::zoneinfomid::ZoneInfo< S, ZC >::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 337 of file ZoneInfoMid.h.

## ◆ targetInfo

template<typename S , typename ZC >

const ZoneInfo* const ace_time::zoneinfomid::ZoneInfo< S, ZC >::targetInfo

If Link, points to the target zone info.

If Zone, nullptr.

Definition at line 346 of file ZoneInfoMid.h.

## ◆ zoneId

template<typename S , typename ZC >

uint32_t const ace_time::zoneinfomid::ZoneInfo< S, ZC >::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 317 of file ZoneInfoMid.h.

The documentation for this struct was generated from the following file:

- /home/brian/src/AceTime/src/zoneinfo/ZoneInfoMid.h