54 #if !UCONFIG_NO_COLLATION
69 #if !UCONFIG_NO_SERVICE
264 virtual Collator* clone(
void)
const = 0;
312 #ifdef U_USE_COLLATION_OBSOLETE_2_6
350 virtual EComparisonResult compare(
const UnicodeString& source,
381 virtual EComparisonResult compare(
const UnicodeString& source,
383 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,
510 int32_t sourceLength,
517 virtual int32_t hashCode(
void)
const = 0;
578 virtual ECollationStrength getStrength(
void)
const = 0;
598 virtual void setStrength(ECollationStrength newStrength) = 0;
613 virtual int32_t
U_EXPORT2 getReorderCodes(int32_t *dest,
614 int32_t destCapacity,
627 virtual void U_EXPORT2 setReorderCodes(
const int32_t* reorderCodes,
628 int32_t reorderCodesLength,
647 static int32_t
U_EXPORT2 getEquivalentReorderCodes(int32_t reorderCode,
649 int32_t destCapacity,
662 const Locale& displayLocale,
772 #if !UCONFIG_NO_SERVICE
856 virtual uint32_t setVariableTop(
const UChar *varTop, int32_t len,
UErrorCode &status) = 0;
876 virtual void setVariableTop(
const uint32_t varTop,
UErrorCode &status) = 0;
884 virtual uint32_t getVariableTop(
UErrorCode &status)
const = 0;
903 virtual Collator* safeClone(
void) = 0;
919 int32_t resultLength)
const = 0;
936 virtual int32_t getSortKey(
const UChar*source, int32_t sourceLength,
937 uint8_t*result, int32_t resultLength)
const = 0;
976 static int32_t
U_EXPORT2 getBound(
const uint8_t *source,
977 int32_t sourceLength,
981 int32_t resultLength,
1029 virtual void setLocales(
const Locale& requestedLocale,
const Locale& validLocale,
const Locale& actualLocale);
1032 #if !UCONFIG_NO_SERVICE
1046 friend class CFactory;
1047 friend class SimpleCFactory;
1048 friend class ICUCollatorFactory;
1049 friend class ICUCollatorService;
1064 #if !UCONFIG_NO_SERVICE
1097 virtual UBool visible(
void)
const;
1119 const Locale& displayLocale,
uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]
The binary form of a version on ICU APIs is an array of 4 uint8_t.
UCollationResult
UCOL_LESS is returned if source string is compared to be less than target string in the u_strcoll() m...
A mutable set of Unicode characters and multicharacter strings.
UNormalizationMode
Constants for normalization modes.
C++ API: Unicode Normalization.
A string-like object that points to a sized piece of memory.
C API for code unit iteration.
EComparisonResult
LESS is returned if source string is compared to be less than target string in the compare() method...
U_EXPORT UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
UColAttribute
Attributes that collation service understands.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
C++ API: StringPiece: Read-only byte string wrapper class.
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Collation keys are generated by the Collator class.
The Collator class performs locale-sensitive string comparison.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
C API: Unicode Character Iteration.
A factory, used with registerFactory, the creates multiple collators and provides display names for t...
UBool operator!=(const StringPiece &x, const StringPiece &y)
Global operator != for StringPiece.
C++ API: Common ICU base class UObject.
const void * URegistryKey
Opaque type returned by registerInstance, registerFactory and unregister for service registration...
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...
Base class for 'pure' C++ implementations of uenum api.
ULocDataLocaleType
Constants for *_getLocale() Allow user to select whether she wants information on requested...
UColBoundMode
enum that is taken by ucol_getBound API See below for explanation do not change the values assigned t...
C++ API: Locale ID object.
struct UCollator UCollator
structure representing a collator object instance
Basic definitions for ICU, for both C and C++ APIs.
UColAttributeValue
Enum containing attribute values for controling collation behavior.
A Locale object represents a specific geographical, political, or cultural region.
virtual UClassID getDynamicClassID() const =0
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.
ECollationStrength
Base letter represents a primary difference.
int8_t UBool
The ICU boolean type.