Go to the documentation of this file.
20 #if !UCONFIG_NO_COLLATION
78 class RuleBasedCollator;
79 class StringEnumeration;
224 friend class BucketList;
230 int32_t displayIndex_;
262 int32_t getBucketCount()
const;
283 const Bucket *getBucket(int32_t index)
const;
289 : buckets_(bucketList), collatorPrimaryOnly_(collatorPrimaryOnly) {}
291 BucketList *buckets_;
455 virtual int32_t getMaxLabelCount()
const;
509 virtual int32_t getBucketCount(
UErrorCode &status);
520 virtual int32_t getRecordCount(
UErrorCode &status);
545 virtual int32_t getBucketIndex()
const;
588 virtual int32_t getBucketRecordCount()
const;
633 virtual const void *getRecordData()
const;
681 UVector *firstStringsInScript(
UErrorCode &status);
690 void initLabels(UVector &indexCharacters,
UErrorCode &errorCode)
const;
691 BucketList *createBucketList(
UErrorCode &errorCode)
const;
694 void internalResetBucketIterator();
702 #ifndef U_HIDE_INTERNAL_API
709 struct Record:
public UMemory {
727 int32_t labelsIterIndex_;
728 int32_t itemsIterIndex_;
729 Bucket *currentBucket_;
733 int32_t maxLabelCount_;
735 UnicodeSet *initialLabels_;
740 UVector *firstCharsInScripts_;
743 RuleBasedCollator *collator_;
744 RuleBasedCollator *collatorPrimaryOnly_;
747 BucketList *buckets_;
749 UnicodeString inflowLabel_;
750 UnicodeString overflowLabel_;
751 UnicodeString underflowLabel_;
752 UnicodeString overflowComparisonString_;
754 UnicodeString emptyString_;
759 #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
Error code to replace exception handling, so that the code is compatible with all C++ compilers,...
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.
#define U_NAMESPACE_BEGIN
A Locale object represents a specific geographical, political, or cultural region.
An index "bucket" with a label string and type.