19#ifndef __LISTFORMATTER_H__
20#define __LISTFORMATTER_H__
24#if U_SHOW_CPLUSPLUS_API
26#if !UCONFIG_NO_FORMATTING
35class FieldPositionHandler;
36class FormattedListData;
43struct ListFormatInternal;
50struct ListFormatData :
public UMemory {
51 UnicodeString twoPattern;
52 UnicodeString startPattern;
53 UnicodeString middlePattern;
54 UnicodeString endPattern;
57 ListFormatData(
const UnicodeString& two,
const UnicodeString& start,
const UnicodeString& middle,
const UnicodeString& end,
59 twoPattern(two), startPattern(start), middlePattern(middle), endPattern(end), locale(loc) {}
131 FormattedListData *fData;
136 : fData(nullptr), fErrorCode(errorCode) {}
137 friend class ListFormatter;
238#ifndef U_HIDE_INTERNAL_API
269 static void initializeHash(
UErrorCode& errorCode);
270 static const ListFormatInternal* getListFormatInternal(
const Locale& locale,
const char *style,
UErrorCode& errorCode);
272 static ListFormatInternal* loadListFormatInternal(
const Locale& locale,
const char* style,
UErrorCode& errorCode);
276 ListFormatInternal* owned;
277 const ListFormatInternal* data;
Base class for objects to which Unicode characters and strings can be appended.
Represents a span of a string containing a given field.
A Locale object represents a specific geographical, political, or cultural region.
UMemory is the common ICU base class.
UObject is the common ICU "boilerplate" class.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
C++ API: Locale ID object.
int8_t UBool
The ICU boolean type, a signed-byte integer.
#define U_OVERRIDE
Defined to the C++11 "override" keyword if available.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
@ U_INVALID_STATE_ERROR
Requested operation can not be completed with ICU in its current state.
@ U_ZERO_ERROR
No error, no warning.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.