ICU 70.1 70.1

Data Structures
Here are the data structures with brief descriptions:
[detail level 1 2 3 4]

►N icu | File coll.h
►N number |
►N impl |
C Grouper |
C MacroProps |
C Padder |
C RangeMacroProps |
C StringProp | Manages NumberFormatterSettings::usage()'s char* instance on the heap
C SymbolsWrapper |
C CurrencyPrecision | A class that defines a rounding precision parameterized by a currency to be used when formatting numbers in NumberFormatter
C FormattedNumber | The result of a number formatting operation
C FormattedNumberRange | The result of a number range formatting operation
C FractionPrecision | A class that defines a rounding precision based on a number of fraction places and optionally significant digits to be used when formatting numbers in NumberFormatter
C IncrementPrecision | A class that defines a rounding precision parameterized by a rounding increment to be used when formatting numbers in NumberFormatter
C IntegerWidth | A class that defines the strategy for padding and truncating integers before the decimal separator
C LocalizedNumberFormatter | A NumberFormatter that has a locale associated with it; this means .format() methods are available
C LocalizedNumberRangeFormatter | A NumberRangeFormatter that has a locale associated with it; this means .formatRange() methods are available
C Notation | A class that defines the notation style to be used when formatting numbers in NumberFormatter
C NumberFormatter | See the main description in numberformatter.h for documentation and examples
C NumberFormatterSettings | An abstract base class for specifying settings related to number formatting
C NumberRangeFormatter | See the main description in numberrangeformatter.h for documentation and examples
C NumberRangeFormatterSettings | An abstract base class for specifying settings related to number formatting
C Precision | A class that defines the rounding precision to be used when formatting numbers in NumberFormatter
C Scale | A class that defines a quantity by which a number should be multiplied when formatting
C ScientificNotation | A class that defines the scientific notation style to be used when formatting numbers in NumberFormatter
C UnlocalizedNumberFormatter | A NumberFormatter that does not yet have a locale
C UnlocalizedNumberRangeFormatter | A NumberRangeFormatter that does not yet have a locale
►C AlphabeticIndex | AlphabeticIndex supports the creation of a UI index appropriate for a given language
C Bucket | An index "bucket" with a label string and type
C ImmutableIndex | Immutable, thread-safe version of AlphabeticIndex
C AnnualTimeZoneRule | `AnnualTimeZoneRule` is a class used for representing a time zone rule which takes effect annually
C Appendable | Base class for objects to which Unicode characters and strings can be appended
C BasicTimeZone | `BasicTimeZone` is an abstract class extending `TimeZone`
C BreakIterator | Implements methods for finding the location of boundaries in text
C ByteSink | A ByteSink can be filled with bytes
►C BytesTrie | Light-weight, non-const reader class for a BytesTrie
C Iterator | Iterator for all of the (byte sequence, value) pairs in a BytesTrie
C State | BytesTrie state object, for saving a trie's current state and resetting the trie back to this state later
C BytesTrieBuilder | Builder class for BytesTrie
C 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
C CanonicalIterator | This class allows one to iterate through all the strings that are canonically equivalent to a given string
C CaseMap | Low-level C++ case mapping functions
C Char16Ptr | Char16_t * wrapper with implicit conversion from distinct but bit-compatible pointer types
C CharacterIterator | Abstract class that defines an API for iteration on text objects
C 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
C ChoiceFormat | ChoiceFormat converts between ranges of numeric values and strings for those ranges
C CollationElementIterator | Used as an iterator to walk through each character of an international string
C CollationKey | Collation keys are generated by the Collator class
C Collator | The `Collator` class performs locale-sensitive string comparison
C CollatorFactory | A factory, used with registerFactory, the creates multiple collators and provides display names for them
C CompactDecimalFormat | IMPORTANT: New users are strongly encouraged to see if numberformatter.h fits their use case
C ConstChar16Ptr | Const char16_t * wrapper with implicit conversion from distinct but bit-compatible pointer types
C ConstrainedFieldPosition | Represents a span of a string containing a given field
C CurrencyAmount | A currency together with a numeric amount, such as 200 USD
C CurrencyPluralInfo | This class represents the information needed by DecimalFormat to format currency plural, such as "3.00 US dollars" or "1.00 US dollar"
C CurrencyUnit | A unit of currency, such as USD (U.S
C 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
C DateFormatSymbols | DateFormatSymbols is a public class for encapsulating localizable date-time formatting data – including timezone data
C DateInterval | This class represents a date interval
C DateIntervalFormat | DateIntervalFormat is a class for formatting and parsing date intervals in a language-independent manner
C DateIntervalInfo | DateIntervalInfo is a public class for encapsulating localizable date time interval patterns
C DateTimePatternGenerator | This class provides flexible generation of date format patterns, like "yy-MM-dd"
C 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
C DecimalFormat | IMPORTANT: New users are strongly encouraged to see if numberformatter.h fits their use case
C DecimalFormatSymbols | This class represents the set of symbols needed by DecimalFormat to format numbers
►C Edits | Records lengths of string edits but not replacement text
C Iterator | Access to the list of edits
C ErrorCode | Wrapper class for UErrorCode, with conversion operators for direct use in ICU C and C++ APIs
C FieldPosition | `FieldPosition` is a simple class used by `Format` and its subclasses to identify fields in formatted output
C FieldPositionIterator | FieldPositionIterator returns the field ids and their start/limit positions generated by a call to Format::format
C FilteredBreakIteratorBuilder | The BreakIteratorFilter is used to modify the behavior of a BreakIterator by constructing a new BreakIterator which suppresses certain segment boundaries
C FilteredNormalizer2 | Normalization filtered by a UnicodeSet
C FontRuns | The `FontRuns` class associates pointers to `LEFontInstance` objects with runs of text
C Format | Base class for all formats
C Formattable | Formattable objects can be passed to the Format class or its subclasses for formatting
C FormattedDateInterval | An immutable class containing the result of a date interval formatting operation
C FormattedList | An immutable class containing the result of a list formatting operation
C FormattedRelativeDateTime | An immutable class containing the result of a relative datetime formatting operation
C FormattedValue | An abstract formatted value: a string with associated field attributes
C ForwardCharacterIterator | Abstract class that defines an API for forward-only iteration on text objects
C GenderInfo | GenderInfo computes the gender of a list as a whole given the gender of each element
C GregorianCalendar | Concrete class which provides the standard calendar used by most of the world
C IDNA | Abstract base class for IDNA processing
C IDNAInfo | Output container for IDNA processing errors
C InitialTimeZoneRule | `InitialTimeZoneRule` represents a time zone rule representing a time zone effective from the beginning and has no actual start times
C ListFormatter | An immutable class for formatting a list, using data from CLDR (or supplied separately)
C LocalArray | "Smart pointer" class, deletes objects via the C++ array delete[] operator
►C Locale | A `Locale` object represents a specific geographical, political, or cultural region
C ConvertingIterator | A generic Locale iterator implementation over Locale input iterators
C Iterator | A Locale iterator interface similar to a Java Iterator<Locale>
C RangeIterator | A generic Locale iterator implementation over Locale input iterators
C LocaleBuilder | `LocaleBuilder` is used to build instances of `Locale` from values configured by the setters
C LocaleDisplayNames | Returns display names of Locales and components of Locales
►C LocaleMatcher | Immutable class that picks the best match between a user's desired locales and an application's supported locales
C Builder | LocaleMatcher builder
C Result | Data for the best-matching pair of a desired and a supported locale
C LocaleRuns | The `LocaleRuns` class associates pointers to `Locale` objects with runs of text
C LocalPointer | "Smart pointer" class, deletes objects via the standard C++ delete operator
C LocalPointerBase | "Smart pointer" base class; do not use directly: use LocalPointer etc
C Measure | An amount of a specified unit, consisting of a number and a Unit
C MeasureFormat |
C MeasureUnit | A unit such as length, mass, volume, currency, etc
C MessageFormat |
►C MessagePattern | Parses and represents ICU MessageFormat patterns
C Part | A message pattern "part", representing a pattern parsing event
C Normalizer | Old Unicode normalization API
C Normalizer2 | Unicode normalization functionality for standard Unicode normalization or for using custom mapping tables
C NumberFormat |
C NumberFormatFactory | A NumberFormatFactory is used to register new number formats
C NumberingSystem | Defines numbering systems
►C ParagraphLayout | ParagraphLayout
C Line | This class represents a single line of text in a `ParagraphLayout`
C VisualRun | This object represents a single visual run in a line of text in a paragraph
C ParsePosition | `ParsePosition` is a simple class used by `Format` and its subclasses to keep track of the current position during parsing
C PluralFormat |
C PluralRules | Defines rules for mapping non-negative numeric values onto a small set of keywords
C RegexMatcher | Class RegexMatcher bundles together a regular expression pattern and input text to which the expression can be applied
C RegexPattern | Class `RegexPattern` represents a compiled regular expression
C 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
C RelativeDateTimeFormatter | Formats simple relative dates
C 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
C ResourceBundle | A class representing a collection of resource information pertaining to a given locale
C RuleBasedBreakIterator | A subclass of BreakIterator whose behavior is specified using a list of rules
C RuleBasedCollator | Implementation of Collator, using data-driven tables
C RuleBasedNumberFormat | Formats numbers according to a set of rules
C RuleBasedTimeZone | BasicTimeZone subclass implemented in terms of InitialTimeZoneRule and TimeZoneRule instances
C RunArray | The `RunArray` class is a base class for building classes which represent data that is associated with runs of text
C ScientificNumberFormatter | A formatter that formats numbers in user-friendly scientific notation
C SearchIterator | `SearchIterator` is an abstract base class that provides methods to search for a pattern within a text string
C SelectFormat |
C SimpleDateFormat | SimpleDateFormat is a concrete class for formatting and parsing dates in a language-independent manner
C SimpleFormatter | Formats simple patterns like "{1} was born in {0}"
C SimpleNumberFormatFactory | A NumberFormatFactory that supports a single locale
C SimpleTimeZone | `SimpleTimeZone` is a concrete subclass of `TimeZone` that represents a time zone for use with a Gregorian calendar
C StringByteSink | Implementation of ByteSink that writes to a "string"
C StringCharacterIterator | A concrete subclass of CharacterIterator that iterates over the characters (code units or code points) in a UnicodeString
C StringEnumeration | Base class for 'pure' C++ implementations of uenum api
C StringPiece | A string-like object that points to a sized piece of memory
C StringSearch | `StringSearch` is a `SearchIterator` that provides language-sensitive text searching based on the comparison rules defined in a RuleBasedCollator object
C SymbolTable | An interface that defines both lookup protocol and parsing of symbolic names
C TimeArrayTimeZoneRule | `TimeArrayTimeZoneRule` represents a time zone rule whose start times are defined by an array of milliseconds since the standard base time
C TimeUnit | Measurement unit for time units
C TimeUnitAmount | Express a duration as a time unit and number
C TimeUnitFormat | Format or parse a TimeUnitAmount, using plural rules for the units where available
C TimeZone | `TimeZone` represents a time zone offset, and also figures out daylight savings
C TimeZoneFormat | `TimeZoneFormat` supports time zone display name formatting and parsing
►C TimeZoneNames | `TimeZoneNames` is an abstract class representing the time zone display name data model defined by UTS#35 Unicode Locale Data Markup Language (LDML)
C MatchInfoCollection | `MatchInfoCollection` represents a collection of time zone name matches used by TimeZoneNames#find
C TimeZoneRule | `TimeZoneRule` is a class representing a rule for time zone
C TimeZoneTransition | `TimeZoneTransition` is a class representing a time zone transition
►C Transliterator | `Transliterator` is an abstract class that transliterates text from one format to another
C Token | A context integer or pointer for a factory function, passed by value
C UCharCharacterIterator | A concrete subclass of CharacterIterator that iterates over the characters (code units or code points) in a char16_t array
►C UCharsTrie | Light-weight, non-const reader class for a UCharsTrie
C Iterator | Iterator for all of the (string, value) pairs in a UCharsTrie
C State | UCharsTrie state object, for saving a trie's current state and resetting the trie back to this state later
C UCharsTrieBuilder | Builder class for UCharsTrie
C UMemory | UMemory is the common ICU base class
C UnicodeFilter | `UnicodeFilter` defines a protocol for selecting a subset of the full range (U+0000 to U+10FFFF) of Unicode characters
C UnicodeFunctor | `UnicodeFunctor` is an abstract base class for objects that perform match and/or replace operations on Unicode strings
C UnicodeMatcher | `UnicodeMatcher` defines a protocol for objects that can match a range of characters in a Replaceable string
C UnicodeReplacer | `UnicodeReplacer` defines a protocol for objects that replace a range of characters in a Replaceable string with output text
C UnicodeSet | A mutable set of Unicode characters and multicharacter strings
C UnicodeSetIterator | UnicodeSetIterator iterates over the contents of a UnicodeSet
C UnicodeString | UnicodeString is a string class that stores Unicode characters directly and provides similar functionality as the Java String and StringBuffer/StringBuilder classes
C UnicodeStringAppendable | An Appendable implementation which writes to a UnicodeString
C UObject | UObject is the common ICU "boilerplate" class
C ValueRuns | The `ValueRuns` class associates integer values with runs of text
C VTimeZone | `VTimeZone` is a class implementing RFC2445 VTIMEZONE
C LocalUBiDiPointer | "Smart pointer" class, closes a UBiDi via ubidi_close()
C LocalUBiDiTransformPointer | "Smart pointer" class, closes a UBiDiTransform via ubiditransform_close()
C LocalUBreakIteratorPointer | "Smart pointer" class, closes a UBreakIterator via ubrk_close()
C LocalUCalendarPointer | "Smart pointer" class, closes a UCalendar via ucal_close()
C LocalUCaseMapPointer | "Smart pointer" class, closes a UCaseMap via ucasemap_close()
C LocalUCharsetDetectorPointer | "Smart pointer" class, closes a UCharsetDetector via ucsdet_close()
C LocalUCollatorPointer | "Smart pointer" class, closes a UCollator via ucol_close()
C LocalUConstrainedFieldPositionPointer | "Smart pointer" class; closes a UConstrainedFieldPosition via ucfpos_close()
C LocalUConverterPointer | "Smart pointer" class, closes a UConverter via ucnv_close()
C LocalUConverterSelectorPointer | "Smart pointer" class, closes a UConverterSelector via ucnvsel_close()
C LocalUCPTriePointer | "Smart pointer" class, closes a UCPTrie via ucptrie_close()
C LocalUDataMemoryPointer | "Smart pointer" class, closes a UDataMemory via udata_close()
C LocalUDateFormatPointer | "Smart pointer" class, closes a UDateFormat via udat_close()
C LocalUDateIntervalFormatPointer | "Smart pointer" class, closes a UDateIntervalFormat via udtitvfmt_close()
C LocalUDateTimePatternGeneratorPointer | "Smart pointer" class, closes a UDateTimePatternGenerator via udatpg_close()
C LocalUEnumerationPointer | "Smart pointer" class, closes a UEnumeration via uenum_close()
C LocalUFieldPositionIteratorPointer | "Smart pointer" class, closes a UFieldPositionIterator via ufieldpositer_close()
C LocalUFILEPointer | "Smart pointer" class, closes a UFILE via u_fclose()
C LocalUFormattablePointer | "Smart pointer" class, closes a UFormattable via ufmt_close()
C LocalUFormattedDateIntervalPointer | "Smart pointer" class, closes a UFormattedDateInterval via udtitvfmt_close()
C LocalUFormattedListPointer | "Smart pointer" class, closes a UFormattedList via ulistfmt_closeResult()
C LocalUFormattedNumberPointer | "Smart pointer" class; closes a UFormattedNumber via unumf_closeResult()
C LocalUFormattedRelativeDateTimePointer | "Smart pointer" class, closes a UFormattedRelativeDateTime via ureldatefmt_closeResult()
C LocalUIDNAPointer | "Smart pointer" class, closes a UIDNA via uidna_close()
C LocalUListFormatterPointer | "Smart pointer" class, closes a UListFormatter via ulistfmt_close()
C LocalULocaleDataPointer | "Smart pointer" class, closes a ULocaleData via ulocdata_close()
C LocalULocaleDisplayNamesPointer | "Smart pointer" class, closes a ULocaleDisplayNames via uldn_close()
C LocalUMessageFormatPointer | "Smart pointer" class, closes a UMessageFormat via umsg_close()
C LocalUMutableCPTriePointer | "Smart pointer" class, closes a UMutableCPTrie via umutablecptrie_close()
C LocalUNormalizer2Pointer | "Smart pointer" class, closes a UNormalizer2 via unorm2_close()
C LocalUNumberFormatPointer | "Smart pointer" class, closes a UNumberFormat via unum_close()
C LocalUNumberFormatterPointer | "Smart pointer" class; closes a UNumberFormatter via unumf_close()
C LocalUNumberingSystemPointer | "Smart pointer" class, closes a UNumberingSystem via unumsys_close()
C LocalUNumberRangeFormatterPointer | "Smart pointer" class; closes a UNumberFormatter via unumf_close()
C LocalUPluralRulesPointer | "Smart pointer" class, closes a UPluralRules via uplrules_close()
C LocalURegularExpressionPointer | "Smart pointer" class, closes a URegularExpression via uregex_close()
C LocalURelativeDateTimeFormatterPointer | "Smart pointer" class, closes a URelativeDateTimeFormatter via ureldatefmt_close()
C LocalUResourceBundlePointer | "Smart pointer" class, closes a UResourceBundle via ures_close()
C LocalUSetPointer | "Smart pointer" class, closes a USet via uset_close()
C LocalUSpoofCheckerPointer | "Smart pointer" class, closes a USpoofChecker via uspoof_close()
C LocalUSpoofCheckResultPointer | "Smart pointer" class, closes a USpoofCheckResult via `uspoof_closeCheckResult()`
C LocalUStringPrepProfilePointer | "Smart pointer" class, closes a UStringPrepProfile via usprep_close()
C LocalUStringSearchPointer | "Smart pointer" class, closes a UStringSearch via usearch_close()
C LocalUTextPointer | "Smart pointer" class, closes a UText via utext_close()
C LocalUTransliteratorPointer | "Smart pointer" class, closes a UTransliterator via utrans_close()
C UCharIterator | C API for code unit iteration
C UConverterFromUnicodeArgs | The structure for the fromUnicode callback function parameter
C UConverterToUnicodeArgs | The structure for the toUnicode callback function parameter
C UCPTrie | Immutable Unicode code point trie structure
C UDataInfo | UDataInfo contains the properties about the requested data
C UFieldPosition | A struct representing a range of text containing a specific field
C UIDNAInfo | Output container for IDNA processing errors
C UParseError | A UParseError struct is used to returned detailed information about parsing errors
C UReplaceableCallbacks | A set of function pointers that transliterators use to manipulate a UReplaceable
C USerializedSet | A serialized form of a Unicode set
C UText | UText struct
C UTextFuncs | (public) Function dispatch table for UText
C UTransPosition | Position structure for utrans_transIncremental() incremental transliteration