[#BloombergLP-baltzo-ZoneinfoUtil-isWellFormed] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/baltzo.adoc[baltzo]::xref:BloombergLP/baltzo/ZoneinfoUtil.adoc[ZoneinfoUtil]::isWellFormed :relfileprefix: ../../../ :mrdocs: Return `true` if the specified `timeZone` is a well‐formed Zoneinfo object (which can be used by other methods on this utility), and `false` otherwise. For a Zoneinfo to be considered well‐formed _all_ of the following must be true: == Synopsis Declared in `<baltzo_zoneinfoutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- static bool isWellFormed(xref:BloombergLP/baltzo/Zoneinfo.adoc[Zoneinfo] const& timeZone); ---- == Description 1. `timeZone.numTransitions() > 0` 2. The first transition in `timeZone` is at the first representable `bdlt::Datetime` value, "Jan 01, 0001 00 00.000" ‐‐ i.e., `bdlt::Datetime(1, 1, 1)`. 3. There is no transition in the ordered sequence of transitions described by `timeZone` where the local clock time is adjusted (either forwards or backwards) introducing a period of invalid or ambiguous local times, where that range of invalid or ambiguous local times overlaps with a range of invalid or or ambiguous local times introduced by the subsequent transition (see component documentation for an illustration). Note that this method has linear worst‐case time complexity with respect to `timeZone.numTransitions()`. [.small]#Created with https://www.mrdocs.com[MrDocs]#