[#BloombergLP-baltzo-Loader]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/baltzo.adoc[baltzo]::Loader
:relfileprefix: ../../
:mrdocs:

This class provides a protocol (a pure abstract interface) for loading a time zone object&period;

== Synopsis

Declared in `&lt;baltzo&lowbar;loader&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class Loader;
----

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baltzo/Loader/2destructor.adoc[`&#126;Loader`] [.small]#[destructor]# [.small]#[virtual]#
| Destroy this object&period;
| xref:BloombergLP/baltzo/Loader/loadTimeZone.adoc[`loadTimeZone`]  [.small]#[virtual]#
| Load into the specified `result` the time zone information for the time zone identified by the specified `timeZoneId`&period; Return 0 on success, and a non&hyphen;zero value otherwise&period; A return status of `ErrorCode&colon;&colon;k&lowbar;UNSUPPORTED&lowbar;ID` indicates that `timeZoneId` is not recognized&period; If an error occurs during this operation, `result` will be left in a valid, but otherwise unspecified state&period; On return, `result` will be well&hyphen;formed (see `ZoneinfoUtil&colon;&colon;isWellFormed`) and `result&hyphen;&gt;identifier()` will be `timeZoneId` (concrete implementations not meeting those constraints will not be usable by other other components in this package &hyphen;&hyphen; e&period;g&period;, `baltzo&lowbar;zoneinfocache`)&period;
|===


== Derived Classes

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baltzo/DataFileLoader.adoc[`DataFileLoader`] 
| This component provides a concrete implementation of the `DataLoader` protocol for loading, into a `Zoneinfo`, the properties of a time zone defined by an Zoneinfo (TZ Database) binary file located on the file system&period;
| xref:BloombergLP/baltzo/TestLoader.adoc[`TestLoader`] 
| This class provides a concrete test implementation of the `Loader` protocol (an abstract interface) for obtaining a time zone&period; This test implementation maintains a mapping of time&hyphen;zone identifiers to `Zoneinfo` objects&period; Time zone information objects are associated with a time&hyphen;zone identifier using the `setTimeZone` method, and can be subsequently accessed by calling the protocol method `loadTimeZone` with the same identifier&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
