Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

OffsetIndex Struct Reference

This variable-sized struct makes up the offset index table. More...

#include <tzdat.h>

List of all members.

Public Attributes

int32_t gmtOffset
uint16_t nextEntryDelta
uint16_t defaultZone
uint16_t count
uint16_t zoneNumber


Detailed Description

This variable-sized struct makes up the offset index table.

To get from one table entry to the next, add the nextEntryDelta. If the nextEntryDelta is zero then this is the last entry. The offset index table is designed for sequential access, not random access. Given the small number of distinct offsets (39 in 1999j), this suffices.

The value of default is the zone within this list that should be selected as the default zone in the absence of any other discriminating information. This information comes from the file tz.default. Note that this is itself a zone number, like those in the array starting at &zoneNumber.

The gmtOffset field must be 4-aligned for some architectures. To ensure this, we do two things: 1. The entire struct is 4-aligned. 2. The gmtOffset is placed at a 4-aligned position within the struct. 3. The size of the whole structure is padded out to 4n bytes. We achieve this last condition by adding two bytes of padding after the last zoneNumber, if count is _even_. That is, the struct size is 10+2count+padding, where padding is (count2==0 ? 2:0). See gentz for implementation.

Definition at line 186 of file tzdat.h.


Member Data Documentation

uint16_t OffsetIndex::count
 

Definition at line 190 of file tzdat.h.

uint16_t OffsetIndex::defaultZone
 

Definition at line 189 of file tzdat.h.

int32_t OffsetIndex::gmtOffset
 

Definition at line 187 of file tzdat.h.

uint16_t OffsetIndex::nextEntryDelta
 

Definition at line 188 of file tzdat.h.

uint16_t OffsetIndex::zoneNumber
 

Definition at line 191 of file tzdat.h.


The documentation for this struct was generated from the following file:
Generated at Tue Dec 5 17:56:15 2000 for ICU by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000