Go to the documentation of this file.
29 #if !UCONFIG_NO_FORMATTING
46 class AppendableWrapper;
330 #ifndef U_HIDE_OBSOLETE_API
484 return msgPattern.getApostropheMode();
741 int32_t& count)
const;
811 #ifndef U_HIDE_INTERNAL_API
851 #ifndef U_HIDE_INTERNAL_API
870 int32_t formatAliasesCapacity;
880 class U_I18N_API PluralSelectorProvider :
public PluralFormat::PluralSelector {
883 virtual ~PluralSelectorProvider();
902 int32_t argTypeCount;
903 int32_t argTypeCapacity;
910 UBool hasArgTypeConflicts;
928 PluralSelectorProvider pluralProvider;
929 PluralSelectorProvider ordinalProvider;
945 const char16_t *
const *list);
976 void format(int32_t msgStart,
977 const void *plNumber,
981 AppendableWrapper& appendTo,
987 void setArgStartFormat(int32_t argStart,
Format* formatter,
UErrorCode& status);
989 void setCustomArgStartFormat(int32_t argStart,
Format* formatter,
UErrorCode& status);
991 int32_t nextTopLevelArgStart(int32_t partIndex)
const;
993 UBool argNameMatches(int32_t partIndex,
const UnicodeString& argName, int32_t argNumber);
995 void cacheExplicitFormats(
UErrorCode& status);
1013 FieldPosition* updateMetaData(AppendableWrapper& dest, int32_t prevLength,
1021 int32_t findOtherSubMessage(int32_t partIndex)
const;
1028 int32_t findFirstPluralNumberArg(int32_t msgStart,
const UnicodeString &argName)
const;
1030 Format* getCachedFormatter(int32_t argumentNumber)
const;
1032 UnicodeString getLiteralStringUntilNextArgument(int32_t from)
const;
1036 void formatComplexSubMessage(int32_t msgStart,
1037 const void *plNumber,
1041 AppendableWrapper& appendTo,
1057 listCount = argTypeCount;
1064 void resetPattern();
1070 class U_I18N_API DummyFormat :
public Format {
1073 virtual Format* clone()
const;
1074 virtual UnicodeString& format(
const Formattable& obj,
1075 UnicodeString& appendTo,
1077 virtual UnicodeString& format(
const Formattable&,
1078 UnicodeString& appendTo,
1081 virtual UnicodeString& format(
const Formattable& obj,
1082 UnicodeString& appendTo,
1083 FieldPositionIterator* posIter,
1085 virtual void parseObject(
const UnicodeString&,
1087 ParsePosition&)
const;
1090 friend class MessageFormatAdapter;
struct UHashtable UHashtable
UPluralType
Type of plurals and PluralRules.
FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted out...
C API: Parse Error Information.
Basic definitions for ICU, for both C and C++ APIs.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.
int8_t UBool
The ICU boolean type.
U_EXPORT UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
Defines rules for mapping non-negative numeric values onto a small set of keywords.
A UParseError struct is used to returned detailed information about parsing errors.
Parses and represents ICU MessageFormat patterns.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
UMessagePatternApostropheMode
Mode for when an apostrophe starts quoted literal text for MessageFormat output.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers,...
Base class for 'pure' C++ implementations of uenum api.
#define U_CDECL_END
This is used to end a declaration of a library private ICU C API.
#define U_CDECL_BEGIN
This is used to begin a declaration of a library private ICU C API.
C++ API: MessagePattern class: Parses and represents ICU MessageFormat patterns.
C++ API: Locale ID object.
C++ API: PluralFormat object.
C++ API: PluralRules object.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
ParsePosition is a simple class used by Format and its subclasses to keep track of the current positi...
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
A Locale object represents a specific geographical, political, or cultural region.