19 #if !UCONFIG_NO_COLLATION
30 #define KEY_BUFFER_SIZE 64
36 #define CELIST_BUFFER_SIZE 4
50 #define STRING_LIST_BUFFER_SIZE 16
108 uint32_t
get(int32_t index)
const;
121 UBool matchesAt(int32_t offset,
const CEList *other)
const;
132 uint32_t &operator[](int32_t index)
const;
153 #ifdef INSTRUMENT_CELIST
154 static int32_t _active;
155 static int32_t _histogram[10];
229 int32_t size()
const;
247 #ifdef INSTRUMENT_STRING_LIST
248 static int32_t _lists;
249 static int32_t _strings;
250 static int32_t _histogram[101];
257 class StringToCEsMap;
258 class CEToStringsMap;
306 static void close(
CollData *collData);
328 const StringList *getStringList(int32_t ce)
const;
350 void freeCEList(
const CEList *list);
363 int32_t minLengthInChars(
const CEList *ces, int32_t offset)
const;
385 int32_t minLengthInChars(
const CEList *ces, int32_t offset, int32_t *history)
const;
410 static void freeCollDataCache();
419 static void flushCollDataCache();
422 friend class CollDataCache;
423 friend class CollDataCacheEntry;
430 static char *getCollatorKey(
UCollator *collator,
char *buffer, int32_t bufferLength);
432 static CollDataCache *getCollDataCache();
435 StringToCEsMap *charsToCEList;
436 CEToStringsMap *ceToCharsStartingWith;
441 static CollDataCache *collDataCache;
446 uint32_t jamoLimits[4];
451 #endif // #if !UCONFIG_NO_COLLATION
452 #endif // #ifndef COLL_DATA_H
#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.
#define KEY_BUFFER_SIZE
The size of the internal buffer for the Collator's short description string.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
C++ API: Common ICU base class UObject.
uint16_t UChar
Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
UObject is the common ICU "boilerplate" class.
void * UClassID
UClassID is used to identify classes without using RTTI, since RTTI is not yet supported by all C++ c...
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
This object holds a list of CEs generated from a particular UnicodeString
struct UCollator UCollator
structure representing a collator object instance
#define CELIST_BUFFER_SIZE
The size of the internal CE buffer in a CEList object.
Basic definitions for ICU, for both C and C++ APIs.
virtual UClassID getDynamicClassID() const =0
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.
int8_t UBool
The ICU boolean type.