31 #if !UCONFIG_NO_COLLATION
40 class RuleBasedCollator;
160 UBool isBogus(
void)
const;
171 const uint8_t* getByteArray(int32_t& count)
const;
173 #ifdef U_USE_COLLATION_KEY_DEPRECATES
181 uint8_t* toByteArray(int32_t& count)
const;
184 #ifndef U_HIDE_DEPRECATED_API
229 int32_t hashCode(
void)
const;
241 static UClassID U_EXPORT2 getStaticClassID();
249 uint8_t *reallocate(int32_t newCapacity, int32_t length);
253 void setLength(int32_t newLength);
255 uint8_t *getBytes() {
256 return (fFlagAndLength >= 0) ? fUnion.fStackBuffer : fUnion.fFields.fBytes;
258 const uint8_t *getBytes()
const {
259 return (fFlagAndLength >= 0) ? fUnion.fStackBuffer : fUnion.fFields.fBytes;
261 int32_t getCapacity()
const {
262 return (fFlagAndLength >= 0) ? (int32_t)
sizeof(fUnion) : fUnion.fFields.fCapacity;
264 int32_t getLength()
const {
return fFlagAndLength & 0x7fffffff; }
281 friend class CollationKeyByteSink;
294 int32_t fFlagAndLength;
299 mutable int32_t fHashCode;
304 union StackBufferOrFields {
306 uint8_t fStackBuffer[32];
317 return !(*
this == other);
321 CollationKey::isBogus()
const
323 return fHashCode == 2;
326 inline const uint8_t*
327 CollationKey::getByteArray(int32_t &count)
const