BDE 4.39.x Production Release
Loading...
Searching...
No Matches
baltzo.h
Go to the documentation of this file.
1/// @file baltzo.h
2///
3///
4/// @defgroup baltzo Package baltzo
5/// @brief Basic Application Library TimeZone (Olson) (baltzo)
6/// @addtogroup bal
7/// @{
8/// @addtogroup baltzo
9/// @{
10/// * <a href="#baltzo-purpose"> Purpose</a>
11/// * <a href="#baltzo-mnemonic"> Mnemonic </a>
12/// * <a href="#baltzo-description"> Description </a>
13/// * <a href="#baltzo-hierarchical-synopsis"> Hierarchical Synopsis </a>
14/// * <a href="#baltzo-component-synopsis"> Component Synopsis </a>
15///
16/// # Purpose {#baltzo-purpose}
17/// Provide timezone data for use with timezone-enabled vocabulary types.
18///
19/// # Mnemonic {#baltzo-mnemonic}
20/// Basic Application Library TimeZone (Olson) (baltzo)
21///
22/// # Description {#baltzo-description}
23/// The 'baltzo' package provides facilities to convert a local time
24/// representation for one time zone into a local time representation for another
25/// time zone. Local time zone representations can be any of several time
26/// vocabulary types (e.g., 'balt_LocalDatetime', 'bdlt_Datetime'). Time zones
27/// are here specified using *time* *zone* *identifiers* (e.g.,
28/// "America/New_York", "America/Indiana/Indianapolis", "Europe/Rome",
29/// "Pacific/Honolulu").
30///
31/// The @ref baltzo_timezoneutil component provides functions that, given a time
32/// zone identifier, can provide information about the timezone, can initialize
33/// various datetime objects (e.g., 'baltzo::LocalDatetime', 'bdlt::Datetime',
34/// 'bdlt::DatetimeTz), and can convert between local datetime values and UTC
35/// values. These functions address the most common usage scenarios.
36///
37/// ## Hierarchical Synopsis {#baltzo-hierarchical-synopsis}
38///
39/// The 'baltzo' package currently has 19 components having 8 levels of physical
40/// dependency. The list below shows the hierarchical ordering of the components.
41/// The order of components within each level is not architecturally significant,
42/// just alphabetical.
43/// @code
44/// 8. baltzo_localtimeoffsetutil
45/// baltzo_windowstimezoneutil
46///
47/// 7. baltzo_timezoneutil
48///
49/// 6. baltzo_timezoneutilimp
50///
51/// 5. baltzo_defaultzoneinfocache
52///
53/// 4. baltzo_datafileloader
54/// baltzo_testloader
55/// baltzo_zoneinfocache
56///
57/// 3. baltzo_loader
58/// baltzo_zoneinfobinaryreader
59/// baltzo_zoneinfoutil
60///
61/// 2. baltzo_localtimeperiod
62/// baltzo_zoneinfo
63///
64/// 1. baltzo_dstpolicy
65/// baltzo_errorcode
66/// baltzo_localdatetime
67/// baltzo_localtimedescriptor
68/// baltzo_localtimevalidity
69/// baltzo_zoneinfobinaryheader
70/// @endcode
71///
72/// ## Component Synopsis {#baltzo-component-synopsis}
73///
74/// @ref baltzo_datafileloader :
75/// Provide a concrete `baltzo::Loader` for Zoneinfo binary files.
76///
77/// @ref baltzo_defaultzoneinfocache :
78/// Provide facilities to manage a default Zoneinfo cache object.
79///
80/// @ref baltzo_dstpolicy :
81/// Enumerate the set of daylight-saving time (DST) policy values.
82///
83/// @ref baltzo_errorcode :
84/// Enumerate the set of named errors for the `baltzo` package.
85///
86/// @ref baltzo_loader :
87/// Provide a protocol for obtaining information about a time zone.
88///
89/// @ref baltzo_localdatetime :
90/// Provide an attribute class for time-zone-aware datetime values.
91///
92/// @ref baltzo_localtimedescriptor :
93/// Provide an attribute class for characterizing local time values.
94///
95/// @ref baltzo_localtimeoffsetutil :
96/// Provide utilities for a @ref bdlt_localtimeoffset local time callback.
97///
98/// @ref baltzo_localtimeperiod :
99/// Provide a type describing local time over a time period.
100///
101/// @ref baltzo_localtimevalidity :
102/// Enumerate the set of local time validity codes.
103///
104/// @ref baltzo_testloader :
105/// Provide a test implementation of the `baltzo::Loader` protocol.
106///
107/// @ref baltzo_timezoneutil :
108/// Provide utilities for converting times among different time zones.
109///
110/// @ref baltzo_timezoneutilimp :
111/// Implement utilities for converting times between time zones.
112///
113/// @ref baltzo_windowstimezoneutil :
114/// Provide utilities to map Zoneinfo identifiers to other systems.
115///
116/// @ref baltzo_zoneinfo :
117/// Provide a value type to represent a time zone.
118///
119/// @ref baltzo_zoneinfobinaryheader :
120/// Provide an attribute class for Zoneinfo binary-file header data.
121///
122/// @ref baltzo_zoneinfobinaryreader :
123/// Provide utilities for reading the Zoneinfo binary data format.
124///
125/// @ref baltzo_zoneinfocache :
126/// Provide a cache for time-zone information.
127///
128/// @ref baltzo_zoneinfoutil :
129/// Provide utility operations on `baltzo::Zoneinfo` objects.
130///
131/// @}
132/** @} */