BloombergLP::baltzo::ZoneinfoUtil::isWellFormed

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>

static
bool
isWellFormed(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().