24 #if U_SHOW_CPLUSPLUS_API
31 #if !UCONFIG_NO_FORMATTING
48 class AppendableWrapper;
347 #ifndef U_HIDE_OBSOLETE_API
497 return msgPattern.getApostropheMode();
756 int32_t& count)
const;
823 #ifndef U_HIDE_INTERNAL_API
863 #ifndef U_HIDE_INTERNAL_API
882 int32_t formatAliasesCapacity;
892 class PluralSelectorProvider :
public PluralFormat::PluralSelector {
895 virtual ~PluralSelectorProvider();
914 int32_t argTypeCount;
915 int32_t argTypeCapacity;
922 UBool hasArgTypeConflicts;
940 PluralSelectorProvider pluralProvider;
941 PluralSelectorProvider ordinalProvider;
957 const char16_t *
const *list);
988 void format(int32_t msgStart,
989 const void *plNumber,
993 AppendableWrapper& appendTo,
999 void setArgStartFormat(int32_t argStart,
Format* formatter,
UErrorCode& status);
1001 void setCustomArgStartFormat(int32_t argStart,
Format* formatter,
UErrorCode& status);
1003 int32_t nextTopLevelArgStart(int32_t partIndex)
const;
1005 UBool argNameMatches(int32_t partIndex,
const UnicodeString& argName, int32_t argNumber);
1007 void cacheExplicitFormats(
UErrorCode& status);
1025 FieldPosition* updateMetaData(AppendableWrapper& dest, int32_t prevLength,
1033 int32_t findOtherSubMessage(int32_t partIndex)
const;
1040 int32_t findFirstPluralNumberArg(int32_t msgStart,
const UnicodeString &argName)
const;
1042 Format* getCachedFormatter(int32_t argumentNumber)
const;
1044 UnicodeString getLiteralStringUntilNextArgument(int32_t from)
const;
1048 void formatComplexSubMessage(int32_t msgStart,
1049 const void *plNumber,
1053 AppendableWrapper& appendTo,
1069 listCount = argTypeCount;
1076 void resetPattern();
1082 class DummyFormat :
public Format {
1084 virtual bool operator==(
const Format&)
const override;
1085 virtual DummyFormat* clone()
const override;
1086 virtual UnicodeString& format(
const Formattable& obj,
1087 UnicodeString& appendTo,
1089 virtual UnicodeString& format(
const Formattable&,
1090 UnicodeString& appendTo,
1093 virtual UnicodeString& format(
const Formattable& obj,
1094 UnicodeString& appendTo,
1095 FieldPositionIterator* posIter,
1097 virtual void parseObject(
const UnicodeString&,
1099 ParsePosition&)
const override;
1102 friend class MessageFormatAdapter;
FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted out...
A Locale object represents a specific geographical, political, or cultural region.
Parses and represents ICU MessageFormat patterns.
ParsePosition is a simple class used by Format and its subclasses to keep track of the current positi...
Defines rules for mapping non-negative numeric values onto a small set of keywords.
Base class for 'pure' C++ implementations of uenum api.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
C++ API: Locale ID object.
C++ API: MessagePattern class: Parses and represents ICU MessageFormat patterns.
UMessagePatternApostropheMode
Mode for when an apostrophe starts quoted literal text for MessageFormat output.
struct UHashtable UHashtable
U_COMMON_API UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
C API: Parse Error Information.
C++ API: PluralFormat object.
C++ API: PluralRules object.
A UParseError struct is used to returned detailed information about parsing errors.
#define U_CDECL_END
This is used to end a declaration of a library private ICU C API.
int8_t UBool
The ICU boolean type, a signed-byte integer.
#define U_CDECL_BEGIN
This is used to begin a declaration of a library private ICU C API.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
UPluralType
Type of plurals and PluralRules.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
#define U_I18N_API_CLASS
Set to export library symbols from inside the i18n library, and to import them from outside,...
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.