19 #if !UCONFIG_NO_COLLATION
26 #ifndef U_HIDE_INTERNAL_API
31 #define KEY_BUFFER_SIZE 64
37 #define CELIST_BUFFER_SIZE 4
51 #define STRING_LIST_BUFFER_SIZE 16
109 uint32_t
get(int32_t index)
const;
122 UBool matchesAt(int32_t offset,
const CEList *other)
const;
133 uint32_t &operator[](int32_t index)
const;
154 #ifdef INSTRUMENT_CELIST
155 static int32_t _active;
156 static int32_t _histogram[10];
230 int32_t size()
const;
248 #ifdef INSTRUMENT_STRING_LIST
249 static int32_t _lists;
250 static int32_t _strings;
251 static int32_t _histogram[101];
259 class StringToCEsMap;
260 class CEToStringsMap;
263 #ifndef U_HIDE_INTERNAL_API
309 static void close(
CollData *collData);
331 const StringList *getStringList(int32_t ce)
const;
353 void freeCEList(
const CEList *list);
366 int32_t minLengthInChars(
const CEList *ces, int32_t offset)
const;
388 int32_t minLengthInChars(
const CEList *ces, int32_t offset, int32_t *history)
const;
413 static void freeCollDataCache();
422 static void flushCollDataCache();
425 friend class CollDataCache;
426 friend class CollDataCacheEntry;
433 static char *getCollatorKey(
UCollator *collator,
char *buffer, int32_t bufferLength);
435 static CollDataCache *getCollDataCache();
438 StringToCEsMap *charsToCEList;
439 CEToStringsMap *ceToCharsStartingWith;
444 static CollDataCache *collDataCache;
449 uint32_t jamoLimits[4];
455 #endif // #if !UCONFIG_NO_COLLATION
456 #endif // #ifndef COLL_DATA_H