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

This value&hyphen;semantic type holds Zoneinfo (or &quot;Olson&quot;) time&hyphen;zone data for a single locale&period;

== Synopsis

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

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

== Description

This class is a value&hyphen;semantic type holding a structured representation of the information contained in an Zoneinfo (or &quot;Olson&quot;) time zone database for a _single_ locale (e&period;g&period;, &quot;America&sol;New&lowbar;York&quot;)&period; The salient attributes of this type are the string identifier and the ordered sequence of `ZoneinfoTransition` objects&period;

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baltzo/Zoneinfo/TransitionConstIterator.adoc[`TransitionConstIterator`] 
| Alias for a bi&hyphen;directional `const` iterator over the sequence of transitions maintained by a `Zoneinfo` object&period;
| xref:BloombergLP/baltzo/Zoneinfo/allocator_type.adoc[`allocator&lowbar;type`] 
| Allocator type used by this class&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baltzo/Zoneinfo/2constructor-002.adoc[`Zoneinfo`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/baltzo/Zoneinfo/operator_assign-0b.adoc[`operator&equals;`] 
| Assignment operators
| xref:BloombergLP/baltzo/Zoneinfo/addTransition.adoc[`addTransition`] 
| Add a transition at the specified `utcTime` with the specified `descriptor`&period;
| xref:BloombergLP/baltzo/Zoneinfo/allocator.adoc[`allocator`] 
| Return `get&lowbar;allocator()&period;mechanism()`&period;
| xref:BloombergLP/baltzo/Zoneinfo/beginTransitions.adoc[`beginTransitions`] 
| Return an iterator providing non&hyphen;modifiable access to the first transition in the ordered sequence of transitions maintained by this object&period;
| xref:BloombergLP/baltzo/Zoneinfo/endTransitions.adoc[`endTransitions`] 
| Return an iterator providing non&hyphen;modifiable access to one past the last transition in the ordered sequence of transitions associated with this object&period;
| xref:BloombergLP/baltzo/Zoneinfo/findTransitionForUtcTime.adoc[`findTransitionForUtcTime`] 
| Return an iterator providing non&hyphen;modifiable access to the transition that holds the local&hyphen;time descriptor associated with the specified `utcTime`&period;
| xref:BloombergLP/baltzo/Zoneinfo/firstTransition.adoc[`firstTransition`] 
| Return a reference providing non&hyphen;modifiable access to the first transition contained in this object&period; The behavior is undefined unless `numTransitions() &gt; 0`&period;
| xref:BloombergLP/baltzo/Zoneinfo/get_allocator.adoc[`get&lowbar;allocator`] 
| Return the allocator used by this object to supply memory&period;
| xref:BloombergLP/baltzo/Zoneinfo/identifier.adoc[`identifier`] 
| Return a reference providing non&hyphen;modifiable access to the `identifier` attribute of this object&period;
| xref:BloombergLP/baltzo/Zoneinfo/numTransitions.adoc[`numTransitions`] 
| Return the number of transitions maintained by this zone info&period;
| xref:BloombergLP/baltzo/Zoneinfo/posixExtendedRangeDescription.adoc[`posixExtendedRangeDescription`] 
| Return a reference providing non&hyphen;modifiable access to the `posixExtendedRangeDescription` attribute of this object&period;
| xref:BloombergLP/baltzo/Zoneinfo/print.adoc[`print`] 
| Write the value of this object to the specified output `stream`&period;
| xref:BloombergLP/baltzo/Zoneinfo/setIdentifier-0b.adoc[`setIdentifier`] 
| `setIdentifier` overloads
| xref:BloombergLP/baltzo/Zoneinfo/setPosixExtendedRangeDescription-06.adoc[`setPosixExtendedRangeDescription`] 
| `setPosixExtendedRangeDescription` overloads
| xref:BloombergLP/baltzo/Zoneinfo/swap.adoc[`swap`] 
| Efficiently exchange the value of this object with the value of the specified `other` object&period;
| xref:BloombergLP/baltzo/Zoneinfo/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration&lt;Zoneinfo, UsesBslmaAllocator&gt;`] 
| Nested trait declaration for `bslma&colon;&colon;UsesBslmaAllocator`&period;
|===


== Friends

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/baltzo/operator_eq-0c.adoc[BloombergLP::baltzo::operator&equals;&equals;]`
| Return `true` if the specified `lhs` and `rhs` objects have the same value, and `false` otherwise&period;
|===

== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baltzo/operator_not_eq-03.adoc[`operator!&equals;`]
| Return `true` if the specified `lhs` and `rhs` objects do not have the same value, and `false` otherwise&period;
| xref:BloombergLP/baltzo/swap-096.adoc[`swap`]
| Exchange the values of the specified `a` and `b` objects&period;
|===


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