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.
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.
UBool operator!=(const StringPiece &x, const StringPiece &y)
Global operator != for StringPiece.
Immutable, thread-safe version of AlphabeticIndex.
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.