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
struct UHashtable UHashtable
The Collator class performs locale-sensitive string comparison.
const UnicodeString & getLabel() const
Returns the label string.
U_EXPORT UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
Normal Label, typically the starting letter of the names in the bucket with this label.
#define U_CDECL_BEGIN
This is used to begin a declaration of a library private ICU C API.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
An index "bucket" with a label string and type.
The RuleBasedCollator class provides the implementation of Collator, using data-driven tables...
Immutable, thread-safe version of AlphabeticIndex.
UBool operator!=(const StringPiece &x, const StringPiece &y)
Global operator != for StringPiece.
A mutable set of Unicode characters and multicharacter strings.
C++ API: Common ICU base class UObject.
#define U_CDECL_END
This is used to end a declaration of a library private ICU C API.
AlphabeticIndex supports the creation of a UI index appropriate for a given language.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
C++ API: Locale ID object.
Basic definitions for ICU, for both C and C++ APIs.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
UAlphabeticIndexLabelType getLabelType() const
Returns whether this bucket is a normal, underflow, overflow, or inflow bucket.
UObject is the common ICU "boilerplate" class.
UMemory is the common ICU base class.
int8_t UBool
The ICU boolean type, a signed-byte integer.
A Locale object represents a specific geographical, political, or cultural region.
UAlphabeticIndexLabelType
Constants for Alphabetic Index Label Types.