ICU 58.2 58.2

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Namespace List
- Namespace Members

Data Structures | Typedefs | Enumerations | Functions
icu Namespace Reference

File coll.h. More...

## Data Structures
class | AlphabeticIndex
| AlphabeticIndex supports the creation of a UI index appropriate for a given language. More...
class | AnnualTimeZoneRule
| `AnnualTimeZoneRule` is a class used for representing a time zone rule which takes effect annually. More...
class | Appendable
| Base class for objects to which Unicode characters and strings can be appended. More...
class | BasicTimeZone
| `BasicTimeZone` is an abstract class extending `TimeZone`. More...
class | BreakIterator
| The BreakIterator class implements methods for finding the location of boundaries in text. More...
class | ByteSink
| A ByteSink can be filled with bytes. More...
class | BytesTrie
| Light-weight, non-const reader class for a BytesTrie. More...
class | BytesTrieBuilder
| Builder class for BytesTrie. More...
class | Calendar
| `Calendar` is an abstract base class for converting between a `UDate` object and a set of integer fields such as `YEAR`, `MONTH`, `DAY`, `HOUR`, and so on. More...
class | CanonicalIterator
| This class allows one to iterate through all the strings that are canonically equivalent to a given string. More...
class | CharacterIterator
| Abstract class that defines an API for iteration on text objects. More...
class | CheckedArrayByteSink
| Implementation of ByteSink that writes to a flat byte array, with bounds-checking: This sink will not write more than capacity bytes to outbuf. More...
class | ChoiceFormat
| ChoiceFormat converts between ranges of numeric values and strings for those ranges. More...
class | CollationElementIterator
| The CollationElementIterator class is used as an iterator to walk through each character of an international string. More...
class | CollationKey
| Collation keys are generated by the Collator class. More...
class | Collator
| The `Collator` class performs locale-sensitive string comparison. More...
class | CollatorFactory
| A factory, used with registerFactory, the creates multiple collators and provides display names for them. More...
class | CompactDecimalFormat
| The CompactDecimalFormat produces abbreviated numbers, suitable for display in environments will limited real estate. More...
class | CurrencyAmount
| A currency together with a numeric amount, such as 200 USD. More...
class | CurrencyPluralInfo
| This class represents the information needed by DecimalFormat to format currency plural, such as "3.00 US dollars" or "1.00 US dollar". More...
class | CurrencyUnit
| A unit of currency, such as USD (U.S. More...
class | DateFormat
| DateFormat is an abstract class for a family of classes that convert dates and times from their internal representations to textual form and back again in a language-independent manner. More...
class | DateFormatSymbols
| DateFormatSymbols is a public class for encapsulating localizable date-time formatting data – including timezone data. More...
class | DateInterval
| This class represents a date interval. More...
class | DateIntervalFormat
| DateIntervalFormat is a class for formatting and parsing date intervals in a language-independent manner. More...
class | DateIntervalInfo
| DateIntervalInfo is a public class for encapsulating localizable date time interval patterns. More...
class | DateTimePatternGenerator
| This class provides flexible generation of date format patterns, like "yy-MM-dd". More...
class | DateTimeRule
| `DateTimeRule` is a class representing a time in a year by a rule specified by month, day of month, day of week and time in the day. More...
class | DecimalFormat
| DecimalFormat is a concrete subclass of NumberFormat that formats decimal numbers. More...
class | DecimalFormatSymbols
| This class represents the set of symbols needed by DecimalFormat to format numbers. More...
class | EnumSet
| enum bitset for boolean fields. More...
class | ErrorCode
| Wrapper class for UErrorCode, with conversion operators for direct use in ICU C and C++ APIs. More...
class | FieldPosition
| `FieldPosition` is a simple class used by `Format` and its subclasses to identify fields in formatted output. More...
class | FieldPositionIterator
| FieldPositionIterator returns the field ids and their start/limit positions generated by a call to Format::format. More...
class | FilteredBreakIteratorBuilder
| The BreakIteratorFilter is used to modify the behavior of a BreakIterator by constructing a new BreakIterator which suppresses certain segment boundaries. More...
class | FilteredNormalizer2
| Normalization filtered by a UnicodeSet. More...
class | FontRuns
| The `FontRuns` class associates pointers to `LEFontInstance` objects with runs of text. More...
class | Format
| Base class for all formats. More...
class | Formattable
| Formattable objects can be passed to the Format class or its subclasses for formatting. More...
class | ForwardCharacterIterator
| Abstract class that defines an API for forward-only iteration on text objects. More...
class | GenderInfo
| GenderInfo computes the gender of a list as a whole given the gender of each element. More...
class | GregorianCalendar
| Concrete class which provides the standard calendar used by most of the world. More...
class | IDNA
| Abstract base class for IDNA processing. More...
class | IDNAInfo
| Output container for IDNA processing errors. More...
class | InitialTimeZoneRule
| `InitialTimeZoneRule` represents a time zone rule representing a time zone effective from the beginning and has no actual start times. More...
struct | ListFormatData
class | ListFormatter
| An immutable class for formatting a list, using data from CLDR (or supplied separately). More...
class | LocalArray
| "Smart pointer" class, deletes objects via the C++ array delete[] operator. More...
class | Locale
| A `Locale` object represents a specific geographical, political, or cultural region. More...
class | LocaleDisplayNames
| Returns display names of Locales and components of Locales. More...
class | LocaleRuns
| The `LocaleRuns` class associates pointers to `Locale` objects with runs of text. More...
class | LocalPointer
| "Smart pointer" class, deletes objects via the standard C++ delete operator. More...
class | LocalPointerBase
| "Smart pointer" base class; do not use directly: use LocalPointer etc. More...
class | Measure
| An amount of a specified unit, consisting of a number and a Unit. More...
class | MeasureFormat
| A formatter for measure objects. More...
class | MeasureUnit
| A unit such as length, mass, volume, currency, etc. More...
class | MessageFormat
class | MessagePattern
| Parses and represents ICU MessageFormat patterns. More...
class | Normalizer
| Old Unicode normalization API. More...
class | Normalizer2
| Unicode normalization functionality for standard Unicode normalization or for using custom mapping tables. More...
class | NumberFormat
| Abstract base class for all number formats. More...
class | NumberFormatFactory
| A NumberFormatFactory is used to register new number formats. More...
class | NumberingSystem
| Defines numbering systems. More...
class | ParagraphLayout
| ParagraphLayout. More...
class | ParsePosition
| `ParsePosition` is a simple class used by `Format` and its subclasses to keep track of the current position during parsing. More...
class | PluralFormat
class | PluralRules
| Defines rules for mapping non-negative numeric values onto a small set of keywords. More...
class | RegexMatcher
| class RegexMatcher bundles together a regular expression pattern and input text to which the expression can be applied. More...
class | RegexPattern
| Class `RegexPattern` represents a compiled regular expression. More...
class | Region
| `Region` is the class representing a Unicode Region Code, also known as a Unicode Region Subtag, which is defined based upon the BCP 47 standard. More...
class | RelativeDateTimeFormatter
| Formats simple relative dates. More...
class | Replaceable
| `Replaceable` is an abstract base class representing a string of characters that supports the replacement of a range of itself with a new string of characters. More...
class | ResourceBundle
| A class representing a collection of resource information pertaining to a given locale. More...
class | RuleBasedBreakIterator
| A subclass of BreakIterator whose behavior is specified using a list of rules. More...
class | RuleBasedCollator
| The RuleBasedCollator class provides the implementation of Collator, using data-driven tables. More...
class | RuleBasedNumberFormat
| The RuleBasedNumberFormat class formats numbers according to a set of rules. More...
class | RuleBasedTimeZone
| a BasicTimeZone subclass implemented in terms of InitialTimeZoneRule and TimeZoneRule instances More...
class | RunArray
| The `RunArray` class is a base class for building classes which represent data that is associated with runs of text. More...
class | ScientificNumberFormatter
| A formatter that formats numbers in user-friendly scientific notation. More...
class | SearchIterator
| `SearchIterator` is an abstract base class that provides methods to search for a pattern within a text string. More...
class | SelectFormat
class | SimpleDateFormat
| SimpleDateFormat is a concrete class for formatting and parsing dates in a language-independent manner. More...
class | SimpleFormatter
| Formats simple patterns like "{1} was born in {0}". More...
class | SimpleNumberFormatFactory
| A NumberFormatFactory that supports a single locale. More...
class | SimpleTimeZone
| `SimpleTimeZone` is a concrete subclass of `TimeZone` that represents a time zone for use with a Gregorian calendar. More...
class | StringByteSink
| Implementation of ByteSink that writes to a "string". More...
class | StringCharacterIterator
| A concrete subclass of CharacterIterator that iterates over the characters (code units or code points) in a UnicodeString. More...
class | StringEnumeration
| Base class for 'pure' C++ implementations of uenum api. More...
class | StringPiece
| A string-like object that points to a sized piece of memory. More...
class | StringSearch
| `StringSearch` is a `SearchIterator` that provides language-sensitive text searching based on the comparison rules defined in a RuleBasedCollator object. More...
class | StringTrieBuilder
| Base class for string trie builder classes. More...
class | SymbolTable
| An interface that defines both lookup protocol and parsing of symbolic names. More...
class | TimeArrayTimeZoneRule
| `TimeArrayTimeZoneRule` represents a time zone rule whose start times are defined by an array of milliseconds since the standard base time. More...
class | TimeUnit
| Measurement unit for time units. More...
class | TimeUnitAmount
| Express a duration as a time unit and number. More...
class | TimeUnitFormat
| Format or parse a TimeUnitAmount, using plural rules for the units where available. More...
class | TimeZone
| `TimeZone` represents a time zone offset, and also figures out daylight savings. More...
class | TimeZoneFormat
| `TimeZoneFormat` supports time zone display name formatting and parsing. More...
class | TimeZoneNames
| `TimeZoneNames` is an abstract class representing the time zone display name data model defined by UTS#35 Unicode Locale Data Markup Language (LDML). More...
class | TimeZoneRule
| `TimeZoneRule` is a class representing a rule for time zone. More...
class | TimeZoneTransition
| `TimeZoneTransition` is a class representing a time zone transition. More...
class | Transliterator
| `Transliterator` is an abstract class that transliterates text from one format to another. More...
class | UCharCharacterIterator
| A concrete subclass of CharacterIterator that iterates over the characters (code units or code points) in a UChar array. More...
class | UCharsTrie
| Light-weight, non-const reader class for a UCharsTrie. More...
class | UCharsTrieBuilder
| Builder class for UCharsTrie. More...
class | UMemory
| UMemory is the common ICU base class. More...
class | UnicodeFilter
| `UnicodeFilter` defines a protocol for selecting a subset of the full range (U+0000 to U+10FFFF) of Unicode characters. More...
class | UnicodeFunctor
| `UnicodeFunctor` is an abstract base class for objects that perform match and/or replace operations on Unicode strings. More...
class | UnicodeMatcher
| `UnicodeMatcher` defines a protocol for objects that can match a range of characters in a Replaceable string. More...
class | UnicodeReplacer
| `UnicodeReplacer` defines a protocol for objects that replace a range of characters in a Replaceable string with output text. More...
class | UnicodeSet
| A mutable set of Unicode characters and multicharacter strings. More...
class | UnicodeSetIterator
| UnicodeSetIterator iterates over the contents of a UnicodeSet. More...
class | UnicodeString
| UnicodeString is a string class that stores Unicode characters directly and provides similar functionality as the Java String and StringBuffer/StringBuilder classes. More...
class | UnicodeStringAppendable
| An Appendable implementation which writes to a UnicodeString. More...
class | UObject
| UObject is the common ICU "boilerplate" class. More...
class | ValueRuns
| The `ValueRuns` class associates integer values with runs of text. More...
class | VTimeZone
| `VTimeZone` is a class implementing RFC2445 VTIMEZONE. More...

## Typedefs
typedef RuleBasedBreakIterator | DictionaryBasedBreakIterator
| An obsolete subclass of RuleBasedBreakIterator. More...
typedef int32_t | UFieldResolutionTable[12][8]

## Enumerations
enum | UMatchDegree { U_MISMATCH, U_PARTIAL_MATCH, U_MATCH }
| Constants returned by `UnicodeMatcher::matches()` indicating the degree of match. More...
enum | URBNFRuleSetTag { URBNF_SPELLOUT, URBNF_ORDINAL, URBNF_DURATION, URBNF_NUMBERING_SYSTEM, URBNF_COUNT }
| Tags for the predefined rulesets. More...

## Functions
void | locale_available_init ()
U_EXPORT UBool | operator== (const StringPiece &x, const StringPiece &y)
| Global operator == for StringPiece. More...
UBool | operator!= (const StringPiece &x, const StringPiece &y)
| Global operator != for StringPiece. More...
void | UnicodeSet_initInclusion (int32_t src, UErrorCode &status)
U_COMMON_API UnicodeString | operator+ (const UnicodeString &s1, const UnicodeString &s2)
| Create a new UnicodeString with the concatenation of two others. More...
UnicodeString | ures_getUnicodeString (const UResourceBundle *resB, UErrorCode *status)
| Returns the string value from a string resource bundle. More...
UnicodeString | ures_getNextUnicodeString (UResourceBundle *resB, const char **key, UErrorCode *status)
| Returns the next string in a resource, or an empty string if there are no more resources to iterate over. More...
UnicodeString | ures_getUnicodeStringByIndex (const UResourceBundle *resB, int32_t indexS, UErrorCode *status)
| Returns the string in a given resource array or table at the specified index. More...
UnicodeString | ures_getUnicodeStringByKey (const UResourceBundle *resB, const char *key, UErrorCode *status)
| Returns a string in a resource that has a given key. More...
void | GenderInfo_initCache (UErrorCode &status)

## Detailed Description

File coll.h.

File tblcoll.h.

Created by: Helena Shih

Modification History:

Date Name Description 02/5/97 aliu Modified createDefault to load collation data from binary files when possible. Added related methods createCollationFromFile, chopLocale, createPathName. 02/11/97 aliu Added members addToCache, findInCache, and fgCache. 02/12/97 aliu Modified to create objects from RuleBasedCollator cache. Moved cache out of Collation class. 02/13/97 aliu Moved several methods out of this class and into RuleBasedCollator, with modifications. Modified createDefault() to call new RuleBasedCollator(Locale&) constructor. General clean up and documentation. 02/20/97 helena Added clone, operator==, operator!=, operator=, copy constructor and getDynamicClassID. 03/25/97 helena Updated with platform independent data types. 05/06/97 helena Added memory allocation error detection. 06/20/97 helena Java class name change. 09/03/97 helena Added createCollationKeyValues(). 02/10/98 damiba Added compare() with length as parameter. 04/23/99 stephen Removed EDecompositionMode, merged with Normalizer::EMode. 11/02/99 helena Collator performance enhancements. Eliminates the UnicodeString construction and special case for NO_OP. 11/23/99 srl More performance enhancements. Inlining of critical accessors. 05/15/00 helena Added version information API. 01/29/01 synwee Modified into a C++ wrapper which calls C apis (ucol.h). 2012-2014 markus Rewritten in C++ again.

Created by: Helena Shih

Modification History:

Date Name Description 2/5/97 aliu Added streamIn and streamOut methods. Added constructor which reads RuleBasedCollator object from a binary file. Added writeToFile method which streams RuleBasedCollator out to a binary file. The streamIn and streamOut methods use istream and ostream objects in binary mode. 2/12/97 aliu Modified to use TableCollationData sub-object to hold invariant data. 2/13/97 aliu Moved several methods into this class from Collation. Added a private RuleBasedCollator(Locale&) constructor, to be used by Collator::createDefault(). General clean up. 2/20/97 helena Added clone, operator==, operator!=, operator=, and copy constructor and getDynamicClassID. 3/5/97 aliu Modified constructFromFile() to add parameter specifying whether or not binary loading is to be attempted. This is required for dynamic rule loading. 05/07/97 helena Added memory allocation error detection. 6/17/97 helena Added IDENTICAL strength for compare, changed getRules to use MergeCollation::getPattern. 6/20/97 helena Java class name change. 8/18/97 helena Added internal API documentation. 09/03/97 helena Added createCollationKeyValues(). 02/10/98 damiba Added compare with "length" parameter 08/05/98 erm Synched with 1.2 version of RuleBasedCollator.java 04/23/99 stephen Removed EDecompositionMode, merged with Normalizer::EMode 06/14/99 stephen Removed kResourceBundleSuffix 11/02/99 helena Collator performance enhancements. Eliminates the UnicodeString construction and special case for NO_OP. 11/23/99 srl More performance enhancements. Updates to NormalizerIterator internal state management. 12/15/99 aliu Update to support Thai collation. Move NormalizerIterator to implementation file. 01/29/01 synwee Modified into a C++ wrapper which calls C API (ucol.h) 2012-2014 markus Rewritten in C++ again.

## Typedef Documentation

typedef RuleBasedBreakIterator icu::DictionaryBasedBreakIterator

An obsolete subclass of RuleBasedBreakIterator.

Handling of dictionary- based break iteration has been folded into the base class. This class is deprecated as of ICU 3.6.

Deprecated:
  ICU 3.6

Definition at line 34 of file dbbi.h.

typedef int32_t icu::UFieldResolutionTable[12][8]

Internal:
  Do not use.

This API is for internal use only.

Definition at line 46 of file calendar.h.

## Enumeration Type Documentation

enum icu::UMatchDegree

Constants returned by `UnicodeMatcher::matches()` indicating the degree of match.

Stable:
  ICU 2.4

Enumerator
U_MISMATCH | Constant returned by `matches()` indicating a mismatch between the text and this matcher. The text contains a character which does not match, or the text does not contain all desired characters for a non-incremental match. Stable: ICU 2.4
U_PARTIAL_MATCH | Constant returned by `matches()` indicating a partial match between the text and this matcher. This value is only returned for incremental match operations. All characters of the text match, but more characters are required for a complete match. Alternatively, for variable-length matchers, all characters of the text match, and if more characters were supplied at limit, they might also match. Stable: ICU 2.4
U_MATCH | Constant returned by `matches()` indicating a complete match between the text and this matcher. For an incremental variable-length match, this value is returned if the given text matches, and it is known that additional characters would not alter the extent of the match. Stable: ICU 2.4

Definition at line 32 of file unimatch.h.

enum icu::URBNFRuleSetTag

Tags for the predefined rulesets.

Stable:
  ICU 2.2

Enumerator
URBNF_COUNT | One more than the highest normal URBNFRuleSetTag value. Deprecated: ICU 58 The numeric value may change over time, see ICU ticket #12420.

Definition at line 54 of file rbnf.h.

## Function Documentation

void icu::locale_available_init | ( |  | ) |

Internal:
  Do not use.

This API is for internal use only.

UBool icu::operator!= | ( | const StringPiece & | x,
|  | const StringPiece & | y
| ) |  |
| inline

Global operator != for StringPiece.

Parameters

  x | The first StringPiece to compare.
  y | The second StringPiece to compare.

Returns
  TRUE if the string data is not equal

Stable:
  ICU 4.8

Definition at line 220 of file stringpiece.h.

References U_NAMESPACE_END.

Referenced by icu::FieldPosition::FieldPosition(), and icu::ParsePosition::ParsePosition().

U_COMMON_API UnicodeString icu::operator+ | ( | const UnicodeString & | s1,
|  | const UnicodeString & | s2
| ) |  |

Create a new UnicodeString with the concatenation of two others.

Parameters

  s1 | The first string to be copied to the new one.
  s2 | The second string to be copied to the new one, after s1.

Returns
  UnicodeString(s1).append(s2)

Stable:
  ICU 2.8

U_EXPORT UBool icu::operator== | ( | const StringPiece & | x,
|  | const StringPiece & | y
| ) |  |

Global operator == for StringPiece.

Parameters

  x | The first StringPiece to compare.
  y | The second StringPiece to compare.

Returns
  TRUE if the string data is equal

Stable:
  ICU 4.8

Referenced by icu::UCharsTrieBuilder::clear(), icu::MessagePattern::clearPatternAndSetApostropheMode(), icu::FieldPosition::FieldPosition(), icu::MessagePattern::Part::hasNumericValue(), icu::MeasureUnit::MeasureUnit(), icu::FieldPositionIterator::operator!=(), icu::CurrencyPluralInfo::operator!=(), icu::ParsePosition::operator!=(), icu::Format::operator!=(), icu::BreakIterator::operator!=(), icu::RegexPattern::operator!=(), icu::TimeZoneNames::operator!=(), icu::FieldPosition::operator!=(), icu::DateFormatSymbols::operator!=(), icu::Formattable::operator!=(), icu::DateIntervalInfo::operator!=(), icu::DecimalFormatSymbols::operator!=(), icu::SearchIterator::operator!=(), icu::Locale::operator!=(), icu::DateIntervalFormat::operator!=(), icu::TimeZone::operator!=(), icu::PluralRules::operator!=(), icu::Calendar::operator!=(), icu::UnicodeSet::operator!=(), icu::MessagePattern::operator!=(), icu::Normalizer::operator!=(), icu::MessagePattern::Part::operator!=(), icu::ParsePosition::ParsePosition(), icu::Calendar::setTime(), and icu::StringPiece::substr().

void icu::UnicodeSet_initInclusion | ( | int32_t | src,
|  | UErrorCode & | status
| ) |  |

Internal:
  Do not use.

This API is for internal use only.

UnicodeString icu::ures_getNextUnicodeString | ( | UResourceBundle * | resB,
|  | const char ** | key,
|  | UErrorCode * | status
| ) |  |
| inline

Returns the next string in a resource, or an empty string if there are no more resources to iterate over.

Use ures_getNextString() instead to distinguish between the end of the iteration and a real empty string value.

Parameters

  resB | a resource
  key | fill in for key associated with this string
  status | fills in the outgoing error code

Returns
  The string value, or a bogus string if there is a failure UErrorCode.

Stable:
  ICU 2.0

Definition at line 834 of file ures.h.

References icu::UnicodeString::setTo(), icu::UnicodeString::setToBogus(), TRUE, U_SUCCESS, and ures_getNextString().

UnicodeString icu::ures_getUnicodeString | ( | const UResourceBundle * | resB,
|  | UErrorCode * | status
| ) |  |
| inline

Returns the string value from a string resource bundle.

Parameters

  resB | a resource, should have type URES_STRING
  status | fills in the outgoing error code could be `U_MISSING_RESOURCE_ERROR` if the key is not found could be a non-failing error e.g.: `U_USING_FALLBACK_WARNING`,`U_USING_DEFAULT_WARNING`

Returns
  The string value, or a bogus string if there is a failure UErrorCode.

Stable:
  ICU 2.0

Definition at line 809 of file ures.h.

References icu::UnicodeString::setTo(), icu::UnicodeString::setToBogus(), TRUE, U_SUCCESS, and ures_getString().

UnicodeString icu::ures_getUnicodeStringByIndex | ( | const UResourceBundle * | resB,
|  | int32_t | indexS,
|  | UErrorCode * | status
| ) |  |
| inline

Returns the string in a given resource array or table at the specified index.

Parameters

  resB | a resource
  indexS | an index to the wanted string.
  status | fills in the outgoing error code

Returns
  The string value, or a bogus string if there is a failure UErrorCode.

Stable:
  ICU 2.0

Definition at line 856 of file ures.h.

References icu::UnicodeString::setTo(), icu::UnicodeString::setToBogus(), TRUE, U_SUCCESS, and ures_getStringByIndex().

UnicodeString icu::ures_getUnicodeStringByKey | ( | const UResourceBundle * | resB,
|  | const char * | key,
|  | UErrorCode * | status
| ) |  |
| inline

Returns a string in a resource that has a given key.

This procedure works only with table resources.

Parameters

  resB | a resource
  key | a key associated with the wanted string
  status | fills in the outgoing error code

Returns
  The string value, or a bogus string if there is a failure UErrorCode.

Stable:
  ICU 2.0

Definition at line 879 of file ures.h.

References icu::UnicodeString::setTo(), icu::UnicodeString::setToBogus(), TRUE, U_NAMESPACE_END, U_STABLE, U_SUCCESS, ures_getStringByKey(), and ures_openAvailableLocales().