Go to the documentation of this file.
17 #if U_SHOW_CPLUSPLUS_API
23 #if !UCONFIG_NO_COLLATION
81 class RuleBasedCollator;
82 class StringEnumeration;
227 friend class BucketList;
233 int32_t displayIndex_;
265 int32_t getBucketCount()
const;
286 const Bucket *getBucket(int32_t index)
const;
292 : buckets_(bucketList), collatorPrimaryOnly_(collatorPrimaryOnly) {}
294 BucketList *buckets_;
458 virtual int32_t getMaxLabelCount()
const;
512 virtual int32_t getBucketCount(
UErrorCode &status);
523 virtual int32_t getRecordCount(
UErrorCode &status);
548 virtual int32_t getBucketIndex()
const;
591 virtual int32_t getBucketRecordCount()
const;
636 virtual const void *getRecordData()
const;
684 UVector *firstStringsInScript(
UErrorCode &status);
693 void initLabels(UVector &indexCharacters,
UErrorCode &errorCode)
const;
694 BucketList *createBucketList(
UErrorCode &errorCode)
const;
697 void internalResetBucketIterator();
705 #ifndef U_HIDE_INTERNAL_API
712 struct Record:
public UMemory {
730 int32_t labelsIterIndex_;
731 int32_t itemsIterIndex_;
732 Bucket *currentBucket_;
736 int32_t maxLabelCount_;
738 UnicodeSet *initialLabels_;
743 UVector *firstCharsInScripts_;
746 RuleBasedCollator *collator_;
747 RuleBasedCollator *collatorPrimaryOnly_;
750 BucketList *buckets_;
752 UnicodeString inflowLabel_;
753 UnicodeString overflowLabel_;
754 UnicodeString underflowLabel_;
755 UnicodeString overflowComparisonString_;
757 UnicodeString emptyString_;
762 #endif // !UCONFIG_NO_COLLATION
UAlphabeticIndexLabelType getLabelType() const
Returns whether this bucket is a normal, underflow, overflow, or inflow bucket.
struct UHashtable UHashtable
const UnicodeString & getLabel() const
Returns the label string.
Basic definitions for ICU, for both C and C++ APIs.
A mutable set of Unicode characters and multicharacter strings.
UAlphabeticIndexLabelType
Constants for Alphabetic Index Label Types.
int8_t UBool
The ICU boolean type.
U_EXPORT UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
The Collator class performs locale-sensitive string comparison.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
UObject is the common ICU "boilerplate" class.
@ U_ALPHAINDEX_NORMAL
Normal Label, typically the starting letter of the names in the bucket with this label.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
UMemory is the common ICU base class.
The RuleBasedCollator class provides the implementation of Collator, using data-driven tables.
@ U_ALPHAINDEX_INFLOW
Inflow Label.
UBool operator!=(const StringPiece &x, const StringPiece &y)
Global operator != for StringPiece.
Immutable, thread-safe version of AlphabeticIndex.
@ U_ALPHAINDEX_OVERFLOW
Overflow Label.
@ U_ALPHAINDEX_UNDERFLOW
Undeflow Label.
C++ API: Locale ID object.
C++ API: Common ICU base class UObject.
AlphabeticIndex supports the creation of a UI index appropriate for a given language.
A Locale object represents a specific geographical, political, or cultural region.
An index "bucket" with a label string and type.