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