65 #if !UCONFIG_NO_COLLATION
81 class CollationElementIterator;
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);
442 #ifndef U_HIDE_DEPRECATED_API
453 uint8_t *cloneRuleData(int32_t &length,
UErrorCode &status);
466 int32_t cloneBinary(uint8_t *buffer, int32_t capacity,
UErrorCode &status);
563 int32_t resultLength)
const;
578 uint8_t *result, int32_t resultLength)
const;
594 int32_t destCapacity,
608 int32_t reorderCodesLength,
629 int32_t destCapacity,
638 CHARINDEX = 0x70000000,
640 EXPANDCHARINDEX = 0x7E000000,
642 CONTRACTCHARINDEX = 0x7F000000,
644 UNMAPPED = 0xFFFFFFFF,
646 PRIMARYORDERINCREMENT = 0x00010000,
648 SECONDARYORDERINCREMENT = 0x00000100,
650 TERTIARYORDERINCREMENT = 0x00000001,
652 PRIMARYORDERMASK = 0xffff0000,
654 SECONDARYORDERMASK = 0x0000ff00,
656 TERTIARYORDERMASK = 0x000000ff,
658 IGNORABLEMASK = 0x0000ffff,
660 PRIMARYDIFFERENCEONLY = 0xffff0000,
662 SECONDARYDIFFERENCEONLY = 0xffffff00,
664 PRIMARYORDERSHIFT = 16,
666 SECONDARYORDERSHIFT = 8,
668 COLELEMENTSTART = 0x02020202,
670 PRIMARYLOWZEROMASK = 0x00FF0000,
672 RESETSECONDARYTERTIARY = 0x00000202,
674 RESETTERTIARY = 0x00000002,
676 PRIMIGNORABLE = 0x0202
683 UBool isWriteThroughAlias;
761 void setUCollator(
const char* locale,
UErrorCode& status);
772 #ifndef U_HIDE_INTERNAL_API
793 void checkOwned(
void);
796 void setRuleStringFromCollator();
830 inline void RuleBasedCollator::setUCollator(
const Locale &locale,
833 setUCollator(locale.
getName(), status);
837 inline void RuleBasedCollator::setUCollator(
UCollator *collator)
840 if (ucollator && dataIsOwned) {
843 ucollator = collator;
845 isWriteThroughAlias =
TRUE;
846 setRuleStringFromCollator();
849 #ifndef U_HIDE_INTERNAL_API
850 inline const UCollator * RuleBasedCollator::getUCollator()