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

Concrete `Loader` for Zoneinfo binary files on the file system&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class DataFileLoader
    : public xref:BloombergLP/baltzo/Loader.adoc[Loader]
----

== Description

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;

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/baltzo/Loader.adoc[Loader]`
| This class provides a protocol (a pure abstract interface) for loading a time zone object&period;
|===

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baltzo/DataFileLoader/allocator_type.adoc[`allocator&lowbar;type`] 
| Allocator type used by this class&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baltzo/DataFileLoader/2constructor-08.adoc[`DataFileLoader`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/baltzo/DataFileLoader/2destructor.adoc[`&#126;DataFileLoader`] [.small]#[destructor]# [.small]#[virtual]#
| Destroy this data&hyphen;file loader&period;
| xref:BloombergLP/baltzo/DataFileLoader/configureRootPath.adoc[`configureRootPath`] 
| Set the Zoneinfo root directory path unconditionally&period;
| xref:BloombergLP/baltzo/DataFileLoader/configureRootPathIfPlausible.adoc[`configureRootPathIfPlausible`] 
| Set the Zoneinfo root directory path if it appears valid&period;
| xref:BloombergLP/baltzo/DataFileLoader/get_allocator.adoc[`get&lowbar;allocator`] 
| Return the allocator used by this object to supply memory&period;
| xref:BloombergLP/baltzo/DataFileLoader/isRootPathPlausible.adoc[`isRootPathPlausible`] 
| Return `true` if `rootPath` appears to contain valid Zoneinfo data&period;
| xref:BloombergLP/baltzo/DataFileLoader/loadTimeZone.adoc[`loadTimeZone`]  [.small]#[virtual]#
| Load well&hyphen;formed time&hyphen;zone information for `timeZoneId`&period;
| xref:BloombergLP/baltzo/DataFileLoader/loadTimeZoneFilePath-09.adoc[`loadTimeZoneFilePath`] 
| Load the Zoneinfo file path for `timeZoneId` into `result`&period;
| xref:BloombergLP/baltzo/DataFileLoader/loadTimeZoneRaw.adoc[`loadTimeZoneRaw`] 
| Load raw time&hyphen;zone information for `timeZoneId` without normalizing&period;
| xref:BloombergLP/baltzo/DataFileLoader/rootPath.adoc[`rootPath`] 
| Return the configured Zoneinfo root directory path&period;
| xref:BloombergLP/baltzo/DataFileLoader/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration&lt;DataFileLoader, UsesBslmaAllocator&gt;`] 
| Nested trait declaration for `bslma&colon;&colon;UsesBslmaAllocator`&period;
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baltzo/DataFileLoader/isPlausibleZoneinfoRootPath.adoc[`isPlausibleZoneinfoRootPath`] 
| Return `true` if `path` appears to be a Zoneinfo root directory&period;
|===



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