54 #if !UCONFIG_NO_COLLATION
67 class StringEnumeration;
69 #if !UCONFIG_NO_SERVICE
73 class CollatorFactory;
277 virtual Collator* clone(
void)
const = 0;
325 #ifdef U_USE_COLLATION_OBSOLETE_2_6
363 virtual EComparisonResult compare(
const UnicodeString& source,
394 virtual EComparisonResult compare(
const UnicodeString& source,
396 int32_t length)
const;
449 virtual EComparisonResult compare(
const UChar* source, int32_t sourceLength,
450 const UChar* target, int32_t targetLength)
470 const UChar* target, int32_t targetLength,
541 int32_t sourceLength,
548 virtual int32_t hashCode(
void)
const = 0;
609 virtual ECollationStrength getStrength(
void)
const;
629 virtual void setStrength(ECollationStrength newStrength);
646 virtual int32_t getReorderCodes(int32_t *dest,
647 int32_t destCapacity,
664 virtual void setReorderCodes(
const int32_t* reorderCodes,
665 int32_t reorderCodesLength,
686 static int32_t U_EXPORT2 getEquivalentReorderCodes(int32_t reorderCode,
688 int32_t destCapacity,
701 const Locale& displayLocale,
726 static const Locale* U_EXPORT2 getAvailableLocales(int32_t& count);
808 static Locale U_EXPORT2 getFunctionalEquivalent(
const char* keyword,
const Locale& locale,
811 #if !UCONFIG_NO_SERVICE
895 virtual uint32_t setVariableTop(
const UChar *varTop, int32_t len,
UErrorCode &status) = 0;
915 virtual void setVariableTop(uint32_t varTop,
UErrorCode &status) = 0;
923 virtual uint32_t getVariableTop(
UErrorCode &status)
const = 0;
943 virtual Collator* safeClone(
void)
const;
959 int32_t resultLength)
const = 0;
976 virtual int32_t getSortKey(
const UChar*source, int32_t sourceLength,
977 uint8_t*result, int32_t resultLength)
const = 0;
1016 static int32_t U_EXPORT2 getBound(
const uint8_t *source,
1017 int32_t sourceLength,
1019 uint32_t noOfLevels,
1021 int32_t resultLength,
1038 #ifndef U_HIDE_DEPRECATED_API
1071 virtual void setLocales(
const Locale& requestedLocale,
const Locale& validLocale,
const Locale& actualLocale);
1074 #if !UCONFIG_NO_SERVICE
1075 #ifndef U_HIDE_INTERNAL_API
1107 virtual int32_t internalGetShortDefinitionString(
const char *locale,
1118 friend class CFactory;
1119 friend class SimpleCFactory;
1120 friend class ICUCollatorFactory;
1121 friend class ICUCollatorService;
1136 #if !UCONFIG_NO_SERVICE
1169 virtual UBool visible(
void)
const;
1191 const Locale& displayLocale,