55 #if !UCONFIG_NO_COLLATION
68 class StringEnumeration;
70 #if !UCONFIG_NO_SERVICE
74 class CollatorFactory;
263 virtual Collator* clone(
void)
const = 0;
332 virtual EComparisonResult compare(
const UnicodeString& source,
363 virtual EComparisonResult compare(
const UnicodeString& source,
365 int32_t length)
const;
418 virtual EComparisonResult compare(
const UChar* source, int32_t sourceLength,
419 const UChar* target, int32_t targetLength)
439 const UChar* target, int32_t targetLength,
516 int32_t sourceLength,
523 virtual int32_t hashCode(
void)
const = 0;
584 virtual ECollationStrength getStrength(
void)
const;
604 virtual void setStrength(ECollationStrength newStrength);
621 virtual int32_t getReorderCodes(int32_t *dest,
622 int32_t destCapacity,
640 virtual void setReorderCodes(
const int32_t* reorderCodes,
641 int32_t reorderCodesLength,
664 static int32_t U_EXPORT2 getEquivalentReorderCodes(int32_t reorderCode,
666 int32_t destCapacity,
679 const Locale& displayLocale,
704 static const Locale* U_EXPORT2 getAvailableLocales(int32_t& count);
786 static Locale U_EXPORT2 getFunctionalEquivalent(
const char* keyword,
const Locale& locale,
789 #if !UCONFIG_NO_SERVICE
918 virtual uint32_t setVariableTop(
const UChar *varTop, int32_t len,
UErrorCode &status) = 0;
948 virtual void setVariableTop(uint32_t varTop,
UErrorCode &status) = 0;
957 virtual uint32_t getVariableTop(
UErrorCode &status)
const = 0;
977 virtual Collator* safeClone(
void)
const;
997 int32_t resultLength)
const = 0;
1018 virtual int32_t getSortKey(
const UChar*source, int32_t sourceLength,
1019 uint8_t*result, int32_t resultLength)
const = 0;
1058 static int32_t U_EXPORT2 getBound(
const uint8_t *source,
1059 int32_t sourceLength,
1061 uint32_t noOfLevels,
1063 int32_t resultLength,
1080 #ifndef U_HIDE_DEPRECATED_API
1111 virtual void setLocales(
const Locale& requestedLocale,
const Locale& validLocale,
const Locale& actualLocale);
1136 virtual int32_t internalGetShortDefinitionString(
const char *locale,
1146 const char *left, int32_t leftLength,
1147 const char *right, int32_t rightLength,
1155 internalNextSortKeyPart(
1157 uint8_t *dest, int32_t count,
UErrorCode &errorCode)
const;
1159 #ifndef U_HIDE_INTERNAL_API
1162 return reinterpret_cast<Collator *
>(uc);
1166 return reinterpret_cast<const Collator *
>(uc);
1170 return reinterpret_cast<UCollator *
>(
this);
1174 return reinterpret_cast<const UCollator *
>(
this);
1176 #endif // U_HIDE_INTERNAL_API
1184 friend class CFactory;
1185 friend class SimpleCFactory;
1186 friend class ICUCollatorFactory;
1187 friend class ICUCollatorService;
1192 #if !UCONFIG_NO_SERVICE
1225 virtual UBool visible(
void)
const;
1247 const Locale& displayLocale,