65 #if !UCONFIG_NO_COLLATION
81 class CollationElementIterator;
259 using Collator::compare;
312 const UChar* target, int32_t targetLength,
360 int32_t sourceLength,
369 virtual int32_t
hashCode(
void)
const;
397 #ifndef U_HIDE_DEPRECATED_API
414 int32_t getMaxExpansion(int32_t order)
const;
440 static UClassID U_EXPORT2 getStaticClassID(
void);
450 uint8_t *cloneRuleData(int32_t &length,
UErrorCode &status);
463 int32_t cloneBinary(uint8_t *buffer, int32_t capacity,
UErrorCode &status);
560 int32_t resultLength)
const;
575 uint8_t *result, int32_t resultLength)
const;
591 int32_t destCapacity,
605 int32_t reorderCodesLength,
626 int32_t destCapacity,
635 CHARINDEX = 0x70000000,
637 EXPANDCHARINDEX = 0x7E000000,
639 CONTRACTCHARINDEX = 0x7F000000,
641 UNMAPPED = 0xFFFFFFFF,
643 PRIMARYORDERINCREMENT = 0x00010000,
645 SECONDARYORDERINCREMENT = 0x00000100,
647 TERTIARYORDERINCREMENT = 0x00000001,
649 PRIMARYORDERMASK = 0xffff0000,
651 SECONDARYORDERMASK = 0x0000ff00,
653 TERTIARYORDERMASK = 0x000000ff,
655 IGNORABLEMASK = 0x0000ffff,
657 PRIMARYDIFFERENCEONLY = 0xffff0000,
659 SECONDARYDIFFERENCEONLY = 0xffffff00,
661 PRIMARYORDERSHIFT = 16,
663 SECONDARYORDERSHIFT = 8,
665 COLELEMENTSTART = 0x02020202,
667 PRIMARYLOWZEROMASK = 0x00FF0000,
669 RESETSECONDARYTERTIARY = 0x00000202,
671 RESETTERTIARY = 0x00000002,
673 PRIMIGNORABLE = 0x0202
680 UBool isWriteThroughAlias;
758 void setUCollator(
const char* locale,
UErrorCode& status);
769 #ifndef U_HIDE_INTERNAL_API
790 void checkOwned(
void);
793 void setRuleStringFromCollator();
827 inline void RuleBasedCollator::setUCollator(
const Locale &locale,
830 setUCollator(locale.
getName(), status);
834 inline void RuleBasedCollator::setUCollator(
UCollator *collator)
837 if (ucollator && dataIsOwned) {
840 ucollator = collator;
842 isWriteThroughAlias =
TRUE;
843 setRuleStringFromCollator();
846 inline const UCollator * RuleBasedCollator::getUCollator()