65 #if !UCONFIG_NO_COLLATION
314 int32_t length)
const;
368 const UChar* target, int32_t targetLength)
388 const UChar* target, int32_t targetLength,
436 int32_t sourceLength,
445 virtual int32_t
hashCode(
void)
const;
484 int32_t getMaxExpansion(int32_t order)
const;
509 static UClassID U_EXPORT2 getStaticClassID(
void);
519 uint8_t *cloneRuleData(int32_t &length,
UErrorCode &status);
532 int32_t cloneBinary(uint8_t *buffer, int32_t capacity,
UErrorCode &status);
632 int32_t resultLength)
const;
647 uint8_t *result, int32_t resultLength)
const;
683 int32_t destCapacity,
697 int32_t reorderCodesLength,
718 int32_t destCapacity,
727 CHARINDEX = 0x70000000,
729 EXPANDCHARINDEX = 0x7E000000,
731 CONTRACTCHARINDEX = 0x7F000000,
733 UNMAPPED = 0xFFFFFFFF,
735 PRIMARYORDERINCREMENT = 0x00010000,
737 SECONDARYORDERINCREMENT = 0x00000100,
739 TERTIARYORDERINCREMENT = 0x00000001,
741 PRIMARYORDERMASK = 0xffff0000,
743 SECONDARYORDERMASK = 0x0000ff00,
745 TERTIARYORDERMASK = 0x000000ff,
747 IGNORABLEMASK = 0x0000ffff,
749 PRIMARYDIFFERENCEONLY = 0xffff0000,
751 SECONDARYDIFFERENCEONLY = 0xffffff00,
753 PRIMARYORDERSHIFT = 16,
755 SECONDARYORDERSHIFT = 8,
757 COLELEMENTSTART = 0x02020202,
759 PRIMARYLOWZEROMASK = 0x00FF0000,
761 RESETSECONDARYTERTIARY = 0x00000202,
763 RESETTERTIARY = 0x00000002,
765 PRIMIGNORABLE = 0x0202
772 UBool isWriteThroughAlias;
850 void setUCollator(
const char* locale,
UErrorCode& status);
861 #ifndef U_HIDE_INTERNAL_API
883 void checkOwned(
void);
886 void setRuleStringFromCollator();
944 inline void RuleBasedCollator::setUCollator(
const Locale &locale,
947 setUCollator(locale.
getName(), status);
951 inline void RuleBasedCollator::setUCollator(
UCollator *collator)
954 if (ucollator && dataIsOwned) {
957 ucollator = collator;
959 isWriteThroughAlias =
TRUE;
960 setRuleStringFromCollator();
963 #ifndef U_HIDE_INTERNAL_API
976 return Collator::LESS;
978 return Collator::EQUAL;
980 return Collator::GREATER;
990 return Collator::PRIMARY;
992 return Collator::SECONDARY;
994 return Collator::TERTIARY;
996 return Collator::QUATERNARY;
998 return Collator::IDENTICAL;
1007 case Collator::PRIMARY :
1009 case Collator::SECONDARY :
1011 case Collator::TERTIARY :
1013 case Collator::QUATERNARY :