19 #ifndef __LISTFORMATTER_H__ 20 #define __LISTFORMATTER_H__ 24 #if U_SHOW_CPLUSPLUS_API 32 class FieldPositionIterator;
33 class FieldPositionHandler;
34 class FormattedListData;
41 struct ListFormatInternal;
48 struct ListFormatData :
public UMemory {
49 UnicodeString twoPattern;
50 UnicodeString startPattern;
51 UnicodeString middlePattern;
52 UnicodeString endPattern;
54 ListFormatData(
const UnicodeString& two,
const UnicodeString& start,
const UnicodeString& middle,
const UnicodeString& end) :
55 twoPattern(two), startPattern(start), middlePattern(middle), endPattern(end) {}
66 #if !UCONFIG_NO_FORMATTING 67 #ifndef U_HIDE_DRAFT_API 129 FormattedListData *fData;
134 : fData(
nullptr), fErrorCode(errorCode) {}
138 #endif // !UCONFIG_NO_FORMATTING 188 #ifndef U_HIDE_INTERNAL_API 223 #ifndef U_HIDE_DRAFT_API 242 #endif // U_HIDE_DRAFT_API 244 #if !UCONFIG_NO_FORMATTING 245 #ifndef U_HIDE_DRAFT_API 262 #endif // !UCONFIG_NO_FORMATTING 264 #ifndef U_HIDE_INTERNAL_API 282 ListFormatter(
const ListFormatInternal* listFormatterInternal);
286 static void initializeHash(
UErrorCode& errorCode);
287 static const ListFormatInternal* getListFormatInternal(
const Locale& locale,
const char *style,
UErrorCode& errorCode);
288 struct ListPatternsSink;
289 static ListFormatInternal* loadListFormatInternal(
const Locale& locale,
const char* style,
UErrorCode& errorCode);
293 int32_t index, int32_t &offset, FieldPositionHandler* handler,
UErrorCode& errorCode)
const;
297 ListFormatInternal* owned;
298 const ListFormatInternal* data;
305 #endif // __LISTFORMATTER_H__
#define U_OVERRIDE
Defined to the C++11 "override" keyword if available.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
FieldPositionIterator returns the field ids and their start/limit positions generated by a call to Fo...
Represents a span of a string containing a given field.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
C++ API: Locale ID object.
Basic definitions for ICU, for both C and C++ APIs.
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.
Requested operation can not be completed with ICU in its current state.
int8_t UBool
The ICU boolean type.
Base class for objects to which Unicode characters and strings can be appended.
A Locale object represents a specific geographical, political, or cultural region.