#include "unicode/utypes.h"
#if !UCONFIG_NO_FORMATTING
#include "tzgnames.h"
#include "unicode/basictz.h"
#include "unicode/locdspnm.h"
#include "unicode/rbtz.h"
#include "unicode/simpleformatter.h"
#include "unicode/simpletz.h"
#include "unicode/strenum.h"
#include "unicode/vtzone.h"
#include "bytesinkutil.h"
#include "charstr.h"
#include "cmemory.h"
#include "cstring.h"
#include "mutex.h"
#include "uhash.h"
#include "uassert.h"
#include "umutex.h"
#include "ulocimp.h"
#include "uresimp.h"
#include "ureslocs.h"
#include "zonemeta.h"
#include "tznames_impl.h"
#include "olsontz.h"
#include "ucln_in.h"
U_NAMESPACE_BEGIN
#define ZID_KEY_MAX …
static const char gZoneStrings[] = …;
static const char gRegionFormatTag[] = …;
static const char gFallbackFormatTag[] = …;
static const char16_t gEmpty[] = …;
static const char16_t gDefRegionPattern[] = …;
static const char16_t gDefFallbackPattern[] = …;
static const double kDstCheckRange = …;
U_CDECL_BEGIN
PartialLocationKey;
static int32_t U_CALLCONV
hashPartialLocationKey(const UHashTok key) { … }
static UBool U_CALLCONV
comparePartialLocationKey(const UHashTok key1, const UHashTok key2) { … }
static void U_CALLCONV
deleteGNameInfo(void *obj) { … }
ZNameInfo;
ZMatchInfo;
U_CDECL_END
class TimeZoneGenericNameMatchInfo : public UMemory { … };
TimeZoneGenericNameMatchInfo::TimeZoneGenericNameMatchInfo(UVector* matches)
: … { … }
TimeZoneGenericNameMatchInfo::~TimeZoneGenericNameMatchInfo() { … }
int32_t
TimeZoneGenericNameMatchInfo::size() const { … }
UTimeZoneGenericNameType
TimeZoneGenericNameMatchInfo::getGenericNameType(int32_t index) const { … }
int32_t
TimeZoneGenericNameMatchInfo::getMatchLength(int32_t index) const { … }
UnicodeString&
TimeZoneGenericNameMatchInfo::getTimeZoneID(int32_t index, UnicodeString& tzID) const { … }
class GNameSearchHandler : public TextTrieMapSearchResultHandler { … };
GNameSearchHandler::GNameSearchHandler(uint32_t types)
: … { … }
GNameSearchHandler::~GNameSearchHandler() { … }
UBool
GNameSearchHandler::handleMatch(int32_t matchLength, const CharacterNode *node, UErrorCode &status) { … }
UVector*
GNameSearchHandler::getMatches(int32_t& maxMatchLen) { … }
static UMutex gLock;
class TZGNCore : public UMemory { … };
TZGNCore::TZGNCore(const Locale& locale, UErrorCode& status)
: … { … }
TZGNCore::~TZGNCore() { … }
void
TZGNCore::initialize(const Locale& locale, UErrorCode& status) { … }
void
TZGNCore::cleanup() { … }
UnicodeString&
TZGNCore::getDisplayName(const TimeZone& tz, UTimeZoneGenericNameType type, UDate date, UnicodeString& name) const { … }
UnicodeString&
TZGNCore::getGenericLocationName(const UnicodeString& tzCanonicalID, UnicodeString& name) const { … }
const char16_t*
TZGNCore::getGenericLocationName(const UnicodeString& tzCanonicalID) { … }
UnicodeString&
TZGNCore::formatGenericNonLocationName(const TimeZone& tz, UTimeZoneGenericNameType type, UDate date, UnicodeString& name) const { … }
UnicodeString&
TZGNCore::getPartialLocationName(const UnicodeString& tzCanonicalID,
const UnicodeString& mzID, UBool isLong, const UnicodeString& mzDisplayName,
UnicodeString& name) const { … }
const char16_t*
TZGNCore::getPartialLocationName(const UnicodeString& tzCanonicalID,
const UnicodeString& mzID, UBool isLong, const UnicodeString& mzDisplayName) { … }
void
TZGNCore::loadStrings(const UnicodeString& tzCanonicalID) { … }
int32_t
TZGNCore::findBestMatch(const UnicodeString& text, int32_t start, uint32_t types,
UnicodeString& tzID, UTimeZoneFormatTimeType& timeType, UErrorCode& status) const { … }
TimeZoneGenericNameMatchInfo*
TZGNCore::findLocal(const UnicodeString& text, int32_t start, uint32_t types, UErrorCode& status) const { … }
TimeZoneNames::MatchInfoCollection*
TZGNCore::findTimeZoneNames(const UnicodeString& text, int32_t start, uint32_t types, UErrorCode& status) const { … }
TZGNCoreRef;
static UMutex gTZGNLock;
static UHashtable *gTZGNCoreCache = …;
static UBool gTZGNCoreCacheInitialized = …;
static int32_t gAccessCount = …;
#define SWEEP_INTERVAL …
#define CACHE_EXPIRATION …
U_CDECL_BEGIN
static UBool U_CALLCONV tzgnCore_cleanup()
{ … }
static void U_CALLCONV
deleteTZGNCoreRef(void *obj) { … }
U_CDECL_END
static void sweepCache() { … }
TimeZoneGenericNames::TimeZoneGenericNames()
: … { … }
TimeZoneGenericNames::~TimeZoneGenericNames() { … }
TimeZoneGenericNames*
TimeZoneGenericNames::createInstance(const Locale& locale, UErrorCode& status) { … }
bool
TimeZoneGenericNames::operator==(const TimeZoneGenericNames& other) const { … }
TimeZoneGenericNames*
TimeZoneGenericNames::clone() const { … }
UnicodeString&
TimeZoneGenericNames::getDisplayName(const TimeZone& tz, UTimeZoneGenericNameType type,
UDate date, UnicodeString& name) const { … }
UnicodeString&
TimeZoneGenericNames::getGenericLocationName(const UnicodeString& tzCanonicalID, UnicodeString& name) const { … }
int32_t
TimeZoneGenericNames::findBestMatch(const UnicodeString& text, int32_t start, uint32_t types,
UnicodeString& tzID, UTimeZoneFormatTimeType& timeType, UErrorCode& status) const { … }
U_NAMESPACE_END
#endif