#include "unicode/utypes.h"
#if !UCONFIG_NO_FORMATTING
#include "zonemeta.h"
#include "unicode/timezone.h"
#include "unicode/ustring.h"
#include "unicode/putil.h"
#include "unicode/simpletz.h"
#include "unicode/strenum.h"
#include "umutex.h"
#include "uvector.h"
#include "cmemory.h"
#include "gregoimp.h"
#include "cstring.h"
#include "ucln_in.h"
#include "uassert.h"
#include "uresimp.h"
#include "uhash.h"
#include "olsontz.h"
#include "uinvchar.h"
static icu::UMutex gZoneMetaLock;
static UHashtable *gCanonicalIDCache = …;
static icu::UInitOnce gCanonicalIDCacheInitOnce { … };
static UHashtable *gOlsonToMeta = …;
static icu::UInitOnce gOlsonToMetaInitOnce { … };
static icu::UVector *gMetaZoneIDs = …;
static UHashtable *gMetaZoneIDTable = …;
static icu::UInitOnce gMetaZoneIDsInitOnce { … };
static icu::UVector *gSingleZoneCountries = …;
static icu::UVector *gMultiZonesCountries = …;
static icu::UInitOnce gCountryInfoVectorsInitOnce { … };
U_CDECL_BEGIN
static UBool U_CALLCONV zoneMeta_cleanup()
{ … }
static void U_CALLCONV
deleteUCharString(void *obj) { … }
static void U_CALLCONV
deleteOlsonToMetaMappingEntry(void *obj) { … }
U_CDECL_END
U_NAMESPACE_BEGIN
#define ZID_KEY_MAX …
static const char gMetaZones[] = …;
static const char gMetazoneInfo[] = …;
static const char gMapTimezonesTag[] = …;
static const char gKeyTypeData[] = …;
static const char gTypeAliasTag[] = …;
static const char gTypeMapTag[] = …;
static const char gTimezoneTag[] = …;
static const char gIanaMapTag[] = …;
static const char gPrimaryZonesTag[] = …;
static const char gWorldTag[] = …;
static const char16_t gWorld[] = …;
static const char16_t gDefaultFrom[] = …;
static const char16_t gDefaultTo[] = …;
static const char16_t gCustomTzPrefix[] = …;
#define ASCII_DIGIT(c) …
static UDate
parseDate (const char16_t *text, UErrorCode &status) { … }
static void U_CALLCONV initCanonicalIDCache(UErrorCode &status) { … }
const char16_t* U_EXPORT2
ZoneMeta::getCanonicalCLDRID(const UnicodeString &tzid, UErrorCode& status) { … }
UnicodeString& U_EXPORT2
ZoneMeta::getCanonicalCLDRID(const UnicodeString &tzid, UnicodeString &systemID, UErrorCode& status) { … }
const char16_t* U_EXPORT2
ZoneMeta::getCanonicalCLDRID(const TimeZone& tz) { … }
UnicodeString& U_EXPORT2
ZoneMeta::getIanaID(const UnicodeString& tzid, UnicodeString& ianaID, UErrorCode& status) { … }
static void U_CALLCONV countryInfoVectorsInit(UErrorCode &status) { … }
UnicodeString& U_EXPORT2
ZoneMeta::getCanonicalCountry(const UnicodeString &tzid, UnicodeString &country, UBool *isPrimary ) { … }
UnicodeString& U_EXPORT2
ZoneMeta::getMetazoneID(const UnicodeString &tzid, UDate date, UnicodeString &result) { … }
static void U_CALLCONV olsonToMetaInit(UErrorCode &status) { … }
const UVector* U_EXPORT2
ZoneMeta::getMetazoneMappings(const UnicodeString &tzid) { … }
UVector*
ZoneMeta::createMetazoneMappings(const UnicodeString &tzid) { … }
UnicodeString& U_EXPORT2
ZoneMeta::getZoneIdByMetazone(const UnicodeString &mzid, const UnicodeString ®ion, UnicodeString &result) { … }
static void U_CALLCONV initAvailableMetaZoneIDs () { … }
const UVector*
ZoneMeta::getAvailableMetazoneIDs() { … }
const char16_t*
ZoneMeta::findMetaZoneID(const UnicodeString& mzid) { … }
const char16_t*
ZoneMeta::findTimeZoneID(const UnicodeString& tzid) { … }
TimeZone*
ZoneMeta::createCustomTimeZone(int32_t offset) { … }
UnicodeString&
ZoneMeta::formatCustomID(uint8_t hour, uint8_t min, uint8_t sec, UBool negative, UnicodeString& id) { … }
const char16_t*
ZoneMeta::getShortID(const TimeZone& tz) { … }
const char16_t*
ZoneMeta::getShortID(const UnicodeString& id) { … }
const char16_t*
ZoneMeta::getShortIDFromCanonical(const char16_t* canonicalID) { … }
U_NAMESPACE_END
#endif