19 #if !UCONFIG_NO_COLLATION
29 #define KEY_BUFFER_SIZE 64
34 #define CELIST_BUFFER_SIZE 4
45 #define STRING_LIST_BUFFER_SIZE 16
143 #ifdef INSTRUMENT_CELIST
235 #ifdef INSTRUMENT_STRING_LIST
238 static int32_t _histogram[101];
245 class StringToCEsMap;
246 class CEToStringsMap;
294 static void close(
CollData *collData);
337 void freeCEList(
const CEList *list);
395 static void freeCollDataCache();
404 static void flushCollDataCache();
407 friend class CollDataCache;
408 friend class CollDataCacheEntry;
415 static char *getCollatorKey(
UCollator *collator,
char *buffer,
int32_t bufferLength);
417 static CollDataCache *getCollDataCache();
420 StringToCEsMap *charsToCEList;
421 CEToStringsMap *ceToCharsStartingWith;
426 static CollDataCache *collDataCache;
436 #endif // #if !UCONFIG_NO_COLLATION
437 #endif // #ifndef COLL_DATA_H
unsigned int uint32_t
Define 64 bit limits.
#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 If the compiler doesn't support namespaces...
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...
Define this to enable the StringList objects to collect statistics.
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.
signed int int32_t
Define 64 bit limits.
int8_t UBool
The ICU boolean type.