icu::ListFormatter Class Reference

An immutable class for formatting a list, using data from CLDR (or supplied separately). More...

`#include <listformatter.h>`

Inheritance diagram for icu::ListFormatter:

## Public Member Functions

| ListFormatter (const ListFormatter &)
| Copy constructor. More...
ListFormatter & | operator= (const ListFormatter &other)
| Assignment operator. More...
virtual | ~ListFormatter ()
| Destructor. More...
UnicodeString & | format (const UnicodeString items[], int32_t n_items, UnicodeString &appendTo, UErrorCode &errorCode) const
| Formats a list of strings. More...
FormattedList | formatStringsToValue (const UnicodeString items[], int32_t n_items, UErrorCode &errorCode) const
| Formats a list of strings to a FormattedList, which exposes field position information. More...
UnicodeString & | format (const UnicodeString items[], int32_t n_items, UnicodeString &appendTo, int32_t index, int32_t &offset, UErrorCode &errorCode) const
| ListFormatter (const ListFormatData &data, UErrorCode &errorCode)
| ListFormatter (const ListFormatInternal *listFormatterInternal)
Public Member Functions inherited from icu::UObject
virtual | ~UObject ()
| Destructor. More...
virtual UClassID | getDynamicClassID () const
| ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class. More...

## Static Public Member Functions

static ListFormatter * | createInstance (UErrorCode &errorCode)
| Creates a ListFormatter appropriate for the default locale. More...
static ListFormatter * | createInstance (const Locale &locale, UErrorCode &errorCode)
| Creates a ListFormatter appropriate for a locale. More...
static ListFormatter * | createInstance (const Locale &locale, UListFormatterType type, UListFormatterWidth width, UErrorCode &errorCode)
| Creates a ListFormatter for the given locale, list type, and style. More...

## Detailed Description

An immutable class for formatting a list, using data from CLDR (or supplied separately).

Example: Input data ["Alice", "Bob", "Charlie", "Delta"] will be formatted as "Alice, Bob, Charlie and Delta" in English.

The ListFormatter class is not intended for public subclassing.

Stable:
  ICU 50

Definition at line 151 of file listformatter.h.

## Constructor & Destructor Documentation

## ListFormatter() [1/3]

icu::ListFormatter::ListFormatter | ( | const ListFormatter & |  | ) |

Copy constructor.

Stable:
  ICU 52

## ~ListFormatter()

virtual icu::ListFormatter::~ListFormatter | ( |  | ) |

virtual

Destructor.

Stable:
  ICU 50

## ListFormatter() [2/3]

icu::ListFormatter::ListFormatter | ( | const ListFormatData & | data,
|  | UErrorCode & | errorCode
| ) |  |

Internal:
  Do not use.

This API is for internal use only. constructor made public for testing.

## ListFormatter() [3/3]

icu::ListFormatter::ListFormatter | ( | const ListFormatInternal * | listFormatterInternal | ) |

Internal:
  Do not use.

This API is for internal use only. constructor made public for testing.

## Member Function Documentation

## createInstance() [1/3]

static ListFormatter* icu::ListFormatter::createInstance | ( | const Locale & | locale,
|  | UErrorCode & | errorCode
| ) |  |

static

Creates a ListFormatter appropriate for a locale.

Parameters

  locale | The locale.
  errorCode | ICU error code, set if no data available for the given locale.

Returns
  A ListFormatter object created from internal data derived from CLDR data.

Stable:
  ICU 50

## createInstance() [2/3]

static ListFormatter* icu::ListFormatter::createInstance | ( | const Locale & | locale,
|  | UListFormatterType | type,
|  | UListFormatterWidth | width,
|  | UErrorCode & | errorCode
| ) |  |

static

Creates a ListFormatter for the given locale, list type, and style.

Parameters

  locale | The locale.
  type | The type of list formatting to use.
  width | The width of formatting to use.
  errorCode | ICU error code, set if no data available for the given locale.

Returns
  A ListFormatter object created from internal data derived from CLDR data.

Stable:
  ICU 67

## createInstance() [3/3]

static ListFormatter* icu::ListFormatter::createInstance | ( | UErrorCode & | errorCode | ) |

static

Creates a ListFormatter appropriate for the default locale.

Parameters

  errorCode | ICU error code, set if no data available for default locale.

Returns
  Pointer to a ListFormatter object for the default locale, created from internal data derived from CLDR data.

Stable:
  ICU 50

## format() [1/2]

UnicodeString& icu::ListFormatter::format | ( | const UnicodeString | items[],
|  | int32_t | n_items,
|  | UnicodeString & | appendTo,
|  | int32_t | index,
|  | int32_t & | offset,
|  | UErrorCode & | errorCode
| ) |  | const

Internal:
  Do not use.

This API is for internal use only. for MeasureFormat

## format() [2/2]

UnicodeString& icu::ListFormatter::format | ( | const UnicodeString | items[],
|  | int32_t | n_items,
|  | UnicodeString & | appendTo,
|  | UErrorCode & | errorCode
| ) |  | const

Formats a list of strings.

Parameters

  items | An array of strings to be combined and formatted.
  n_items | Length of the array items.
  appendTo | The string to which the result should be appended to.
  errorCode | ICU error code, set if there is an error.

Returns
  Formatted string combining the elements of items, appended to appendTo.

Stable:
  ICU 50

## formatStringsToValue()

FormattedList icu::ListFormatter::formatStringsToValue | ( | const UnicodeString | items[],
|  | int32_t | n_items,
|  | UErrorCode & | errorCode
| ) |  | const

Formats a list of strings to a FormattedList, which exposes field position information.

The FormattedList contains more information than a FieldPositionIterator.

Parameters

  items | An array of strings to be combined and formatted.
  n_items | Length of the array items.
  errorCode | ICU error code returned here.

Returns
  A FormattedList containing field information.

Stable:
  ICU 64

## operator=()

ListFormatter& icu::ListFormatter::operator= | ( | const ListFormatter & | other | ) |

Assignment operator.

Stable:
  ICU 52

The documentation for this class was generated from the following file:

- i18n/unicode/listformatter.h