18 #if !UCONFIG_NO_COLLATION && !UCONFIG_NO_NORMALIZATION
75 class RuleBasedCollator;
76 class StringEnumeration;
308 virtual int32_t getMaxLabelCount()
const;
378 virtual int32_t getBucketCount(
UErrorCode &status);
389 virtual int32_t getRecordCount(
UErrorCode &status);
414 virtual int32_t getBucketIndex()
const;
457 virtual int32_t getBucketRecordCount()
const;
502 virtual const void *getRecordData()
const;
551 #ifndef U_HIDE_INTERNAL_API
557 static void staticCleanup();
565 UVector *firstStringsInScript(
UErrorCode &status);
582 #ifndef U_HIDE_INTERNAL_API
592 int32_t serialNumber_;
641 static ELangType langTypeFromLocale(
const Locale &loc);
648 UVector *bucketList_;
650 int32_t labelsIterIndex_;
651 int32_t itemsIterIndex_;
652 Bucket *currentBucket_;
656 UBool indexBuildRequired_;
660 int32_t maxLabelCount_;
662 UHashtable *alreadyIn_;
683 UVector *firstScriptCharacters_;
698 typedef const UChar PinyinLookup[24][3];
699 static PinyinLookup HACK_PINYIN_LOOKUP_SHORT;
700 static PinyinLookup HACK_PINYIN_LOOKUP_LONG;
704 static PinyinLookup *HACK_PINYIN_LOOKUP;
705 static const UChar *PINYIN_LOWER_BOUNDS;
709 int32_t recordCounter_;
The Collator class performs locale-sensitive string comparison.
A Bucket holds an index label and references to everything belonging to that label.
virtual UClassID getDynamicClassID() const =0
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.
U_EXPORT UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Normal Label, typically the starting letter of the names in the bucket with this label.
#define U_CDECL_BEGIN
This is used to begin a declaration of a library private ICU C API.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
The RuleBasedCollator class provides the simple implementation of Collator, using data-driven tables...
UBool operator!=(const StringPiece &x, const StringPiece &y)
Global operator != for StringPiece.
A mutable set of Unicode characters and multicharacter strings.
A record, or item, in the index.
C++ API: Common ICU base class UObject.
uint16_t UChar
Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...
#define U_CDECL_END
This is used to end a declaration of a library private ICU C API.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
class AlphabeticIndex supports the creation of a UI index appropriate for a given language...
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
C++ API: Locale ID object.
Basic definitions for ICU, for both C and C++ APIs.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
UVector * inputRecords_
Holds all user records before they are distributed into buckets.
UObject is the common ICU "boilerplate" class.
UMemory is the common ICU base class.
int8_t UBool
The ICU boolean type.
A Locale object represents a specific geographical, political, or cultural region.
UAlphabeticIndexLabelType
Constants for Alphabetic Index Label Types.