// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ******************************************************************************* * Copyright (C) 2011-2016, International Business Machines Corporation and * others. All Rights Reserved. ******************************************************************************* */ #ifndef __TZNAMES_IMPL_H__ #define __TZNAMES_IMPL_H__ /** * \file * \brief C++ API: TimeZoneNames object */ #include "unicode/utypes.h" #if !UCONFIG_NO_FORMATTING #include "unicode/tznames.h" #include "unicode/ures.h" #include "unicode/locid.h" #include "uhash.h" #include "uvector.h" #include "umutex.h" // Some zone display names involving supplementary characters can be over 50 chars, 100 UTF-16 code units, 200 UTF-8 bytes #define ZONE_NAME_U16_MAX … U_NAMESPACE_BEGIN /* * ZNStringPool Pool of (char16_t *) strings. Provides for sharing of repeated * zone strings. */ struct ZNStringPoolChunk; class U_I18N_API ZNStringPool: public UMemory { … }; /* * Character node used by TextTrieMap */ struct CharacterNode { … }; inline UBool CharacterNode::hasValues() const { … } inline int32_t CharacterNode::countValues() const { … } inline const void *CharacterNode::getValue(int32_t index) const { … } /* * Search result handler callback interface used by TextTrieMap search. */ class TextTrieMapSearchResultHandler : public UMemory { … }; /** * TextTrieMap is a trie implementation for supporting * fast prefix match for the string key. */ class U_I18N_API TextTrieMap : public UMemory { … }; class ZNames; class TextTrieMap; class ZNameSearchHandler; class TimeZoneNamesImpl : public TimeZoneNames { … }; class TZDBNames; class TZDBTimeZoneNames : public TimeZoneNames { … }; U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ #endif // __TZNAMES_IMPL_H__ //eof //