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;
407 int32_t getMaxExpansion(int32_t order)
const;
432 static UClassID U_EXPORT2 getStaticClassID(
void);
442 uint8_t *cloneRuleData(int32_t &length,
UErrorCode &status);
455 int32_t cloneBinary(uint8_t *buffer, int32_t capacity,
UErrorCode &status);
552 int32_t resultLength)
const;
567 uint8_t *result, int32_t resultLength)
const;
583 int32_t destCapacity,
597 int32_t reorderCodesLength,
618 int32_t destCapacity,
627 CHARINDEX = 0x70000000,
629 EXPANDCHARINDEX = 0x7E000000,
631 CONTRACTCHARINDEX = 0x7F000000,
633 UNMAPPED = 0xFFFFFFFF,
635 PRIMARYORDERINCREMENT = 0x00010000,
637 SECONDARYORDERINCREMENT = 0x00000100,
639 TERTIARYORDERINCREMENT = 0x00000001,
641 PRIMARYORDERMASK = 0xffff0000,
643 SECONDARYORDERMASK = 0x0000ff00,
645 TERTIARYORDERMASK = 0x000000ff,
647 IGNORABLEMASK = 0x0000ffff,
649 PRIMARYDIFFERENCEONLY = 0xffff0000,
651 SECONDARYDIFFERENCEONLY = 0xffffff00,
653 PRIMARYORDERSHIFT = 16,
655 SECONDARYORDERSHIFT = 8,
657 COLELEMENTSTART = 0x02020202,
659 PRIMARYLOWZEROMASK = 0x00FF0000,
661 RESETSECONDARYTERTIARY = 0x00000202,
663 RESETTERTIARY = 0x00000002,
665 PRIMIGNORABLE = 0x0202
672 UBool isWriteThroughAlias;
750 void setUCollator(
const char* locale,
UErrorCode& status);
761 #ifndef U_HIDE_INTERNAL_API
782 void checkOwned(
void);
785 void setRuleStringFromCollator();
819 inline void RuleBasedCollator::setUCollator(
const Locale &locale,
822 setUCollator(locale.
getName(), status);
826 inline void RuleBasedCollator::setUCollator(
UCollator *collator)
829 if (ucollator && dataIsOwned) {
832 ucollator = collator;
834 isWriteThroughAlias =
TRUE;
835 setRuleStringFromCollator();
838 #ifndef U_HIDE_INTERNAL_API
839 inline const UCollator * RuleBasedCollator::getUCollator()