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_;
733 int32_t maxLabelCount_;
740 UVector *firstCharsInScripts_;
747 BucketList *buckets_;
759 #endif // !UCONFIG_NO_COLLATION struct UHashtable UHashtable
The Collator class performs locale-sensitive string comparison.
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.
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
The RuleBasedCollator class provides the implementation of Collator, using data-driven tables...
UAlphabeticIndexLabelType getLabelType() const
Returns whether this bucket is a normal, underflow, overflow, or inflow bucket.
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.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
AlphabeticIndex supports the creation of a UI index appropriate for a given language.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
C++ API: Locale ID object.
Basic definitions for ICU, for both C and C++ APIs.
const UnicodeString & getLabel() const
Returns the label string.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
UObject is the common ICU "boilerplate" class.
UMemory is the common ICU base class.
int8_t UBool
The ICU boolean type.
A Locale object represents a specific geographical, political, or cultural region.
UAlphabeticIndexLabelType
Constants for Alphabetic Index Label Types.