This class provides an efficient mechanism for retrieving information about a given time zone. The first time a client requests information for some time-zone identifier, that information is loaded (using the Loader supplied at construction), returned to the client (via a const pointer value), and cached for future use. Subsequent requests for the same time-zone return the cached information. The returned values are valid for the lifetime of this object.
Declared in <baltzo_zoneinfocache.h>
class ZoneinfoCache;
This class: * is exception-neutral * is fully thread-safe For terminology see bsldoc_glossary.
| Name | Description |
|---|---|
allocator_type | Allocator type used by this class. |
| Name | Description |
|---|---|
ZoneinfoCache [constructor] | Create an empty cache of time-zone information that will use the specified loader to populate the cache, as-needed, with time zone information. Optionally specify an allocator (e.g., the address of a bslma::Allocator object) to supply memory; otherwise, the default allocator is used. In order the populate the cache for a time zone identifier, loader must return a Zoneinfo object that is well-formed (see ZoneinfoUtil::isWellFormed) and whose identifier matches the supplied time zone identifier. |
~ZoneinfoCache [destructor] | Destroy this object. |
getZoneinfo | getZoneinfo overloads |
get_allocator | Return the allocator used by this object to supply memory. Note that if no allocator was supplied at construction the default allocator in effect at construction is used. |
lookupZoneinfo | Return the address of the non-modifiable cached description of the time zone identified by the specified timeZoneId, and 0 if information for timeZoneId has not previously been cached (by a call to getZoneinfo). If the returned address is non-zero, the Zoneinfo object returned is guaranteed to be well-formed (i.e., ZoneinfoUtil::isWellFormed will return true' if called with the returned value), and remain valid for the lifetime of this object. |
operator BloombergLP::bslmf::NestedTraitDeclaration<ZoneinfoCache, UsesBslmaAllocator> | Nested trait declaration for bslma::UsesBslmaAllocator. |