}
-
+typedef const UChar PinyinLookup[24][3];
+
static const Normalizer2 *nfkdNormalizer;
+static UBool indexCharactersAreInitialized = FALSE;
+static UnicodeSet *ALPHABETIC;
+static UnicodeSet *HANGUL;
+static UnicodeSet *ETHIOPIC;
+static UnicodeSet *CORE_LATIN;
+static UnicodeSet *IGNORE_SCRIPTS;
+static UnicodeSet *TO_TRY;
+static UnicodeSet *UNIHAN;
+static const UnicodeString *EMPTY_STRING;
+
//
// Append the contents of a UnicodeSet to a UVector of UnicodeStrings.
}
-static UBool indexCharactersAreInitialized = FALSE;
// Index Characters Clean up function. Delete statically allocated constant stuff.
U_CDECL_BEGIN
}
-UnicodeSet *AlphabeticIndex::ALPHABETIC;
-UnicodeSet *AlphabeticIndex::HANGUL;
-UnicodeSet *AlphabeticIndex::ETHIOPIC;
-UnicodeSet *AlphabeticIndex::CORE_LATIN;
-UnicodeSet *AlphabeticIndex::IGNORE_SCRIPTS;
-UnicodeSet *AlphabeticIndex::TO_TRY;
-UnicodeSet *AlphabeticIndex::UNIHAN;
-const UnicodeString *AlphabeticIndex::EMPTY_STRING;
-
//
// staticInit() One-time initialization of constants.
// Thread safe. Called from constructors.
// Pinyin lookup tables copied, pasted (and reformatted) from the ICU4J code.
-AlphabeticIndex::PinyinLookup AlphabeticIndex::HACK_PINYIN_LOOKUP_SHORT = {
+static const PinyinLookup HACK_PINYIN_LOOKUP_SHORT = {
{(UChar)0, (UChar)0, (UChar)0}, // A
{(UChar)0x516B, (UChar)0, (UChar)0}, // B
{(UChar)0x5693, (UChar)0, (UChar)0}, // C
0x0101, 0x62, 0x63, 0x64, 0x0113, 0x66, 0x67, 0x68, 0x6A, 0x6B, /*l*/0x6C, 0x1E3F, 0x0144, 0x014D,
/*p*/0x70, 0x71, 0x72, 0x73, 0x74, /*w*/0x77, 0x78, 0x79, 0x7A};
-AlphabeticIndex::PinyinLookup AlphabeticIndex::HACK_PINYIN_LOOKUP_LONG = {
+static const PinyinLookup HACK_PINYIN_LOOKUP_LONG = {
{(UChar)0, (UChar)0, (UChar)0}, // A
{(UChar)0x516B, (UChar)0, (UChar)0}, // b
{(UChar)0xD863, (UChar)0xDEAD, (UChar)0}, // c
//
// This whole arrangement is temporary.
//
-AlphabeticIndex::PinyinLookup *AlphabeticIndex::HACK_PINYIN_LOOKUP = NULL;
-const UChar *AlphabeticIndex::PINYIN_LOWER_BOUNDS = NULL;
+static const PinyinLookup *HACK_PINYIN_LOOKUP = NULL;
+static const UChar *PINYIN_LOWER_BOUNDS = NULL;
void AlphabeticIndex::initPinyinBounds(const Collator *col, UErrorCode &status) {
{
ELangType langType_; // The language type, simplified Chinese, Traditional Chinese,
// or not Chinese (Normal). Part of the Pinyin support
- typedef const UChar PinyinLookup[24][3];
- static PinyinLookup HACK_PINYIN_LOOKUP_SHORT;
- static PinyinLookup HACK_PINYIN_LOOKUP_LONG;
-
- // These will be lazily set to the short or long tables based on which
- // Chinese collation has been configured into the ICU library.
- static PinyinLookup *HACK_PINYIN_LOOKUP;
- static const UChar *PINYIN_LOWER_BOUNDS;
-
-
-
int32_t recordCounter_; // Counts Records created. For minting record serial numbers.
-// Constants. Lazily initialized the first time an AlphabeticIndex object is created.
-
- static UnicodeSet *ALPHABETIC;
- static UnicodeSet *CORE_LATIN;
- static UnicodeSet *ETHIOPIC;
- static UnicodeSet *HANGUL;
- static UnicodeSet *IGNORE_SCRIPTS;
- static UnicodeSet *TO_TRY;
- static UnicodeSet *UNIHAN;
- static const UnicodeString *EMPTY_STRING;
-
};
U_NAMESPACE_END