28 #if U_SHOW_CPLUSPLUS_API 35 #if !UCONFIG_NO_COLLATION 44 class RuleBasedCollator;
45 class CollationKeyByteSink;
165 UBool isBogus(
void)
const;
176 const uint8_t* getByteArray(int32_t& count)
const;
178 #ifdef U_USE_COLLATION_KEY_DEPRECATES 186 uint8_t* toByteArray(int32_t& count)
const;
189 #ifndef U_HIDE_DEPRECATED_API 234 int32_t hashCode(
void)
const;
246 static UClassID U_EXPORT2 getStaticClassID();
254 uint8_t *reallocate(int32_t newCapacity, int32_t length);
258 void setLength(int32_t newLength);
260 uint8_t *getBytes() {
261 return (fFlagAndLength >= 0) ? fUnion.fStackBuffer : fUnion.fFields.fBytes;
263 const uint8_t *getBytes()
const {
264 return (fFlagAndLength >= 0) ? fUnion.fStackBuffer : fUnion.fFields.fBytes;
266 int32_t getCapacity()
const {
267 return (fFlagAndLength >= 0) ? (int32_t)
sizeof(fUnion) : fUnion.fFields.fCapacity;
269 int32_t getLength()
const {
return fFlagAndLength & 0x7fffffff; }
286 friend class CollationKeyByteSink;
299 int32_t fFlagAndLength;
304 mutable int32_t fHashCode;
309 union StackBufferOrFields {
311 uint8_t fStackBuffer[32];
322 return !(*
this == other);
326 CollationKey::isBogus()
const 328 return fHashCode == 2;
331 inline const uint8_t*
332 CollationKey::getByteArray(int32_t &count)
const UCollationResult
UCOL_LESS is returned if source string is compared to be less than target string in the ucol_strcoll(...
U_EXPORT UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
The RuleBasedCollator class provides the implementation of Collator, using data-driven tables...
C++ API: Collation Service.
UBool operator!=(const StringPiece &x, const StringPiece &y)
Global operator != for StringPiece.
virtual UClassID getDynamicClassID() const
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.
EComparisonResult
LESS is returned if source string is compared to be less than target string in the compare() method...
Collation keys are generated by the Collator class.
C++ API: Common ICU base class UObject.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Basic definitions for ICU, for both C and C++ APIs.
UObject is the common ICU "boilerplate" class.
int8_t UBool
The ICU boolean type.