29 #if !UCONFIG_NO_FORMATTING 41 typedef struct UHashtable UHashtable;
46 class AppendableWrapper;
327 #ifndef U_HIDE_OBSOLETE_API 419 virtual void setLocale(
const Locale& theLocale);
481 return msgPattern.getApostropheMode();
510 virtual void adoptFormats(
Format** formatsToAdopt, int32_t count);
526 virtual void setFormats(
const Format** newFormats, int32_t cnt);
543 virtual void adoptFormat(int32_t formatNumber,
Format* formatToAdopt);
554 virtual void setFormat(int32_t formatNumber,
const Format& format);
624 virtual const Format** getFormats(int32_t& count)
const;
738 int32_t& count)
const;
805 UBool usesNamedArguments()
const;
808 #ifndef U_HIDE_INTERNAL_API 819 int32_t getArgTypeCount()
const;
846 static UClassID U_EXPORT2 getStaticClassID(
void);
848 #ifndef U_HIDE_INTERNAL_API 859 static UBool equalFormats(
const void* left,
const void* right);
867 int32_t formatAliasesCapacity;
880 virtual ~PluralSelectorProvider();
899 int32_t argTypeCount;
900 int32_t argTypeCapacity;
907 UBool hasArgTypeConflicts;
922 UHashtable* cachedFormatters;
923 UHashtable* customFormatArgStarts;
925 PluralSelectorProvider pluralProvider;
926 PluralSelectorProvider ordinalProvider;
942 const UChar *
const *list);
973 void format(int32_t msgStart,
974 const void *plNumber,
978 AppendableWrapper& appendTo,
984 void setArgStartFormat(int32_t argStart,
Format* formatter,
UErrorCode& status);
986 void setCustomArgStartFormat(int32_t argStart,
Format* formatter,
UErrorCode& status);
988 int32_t nextTopLevelArgStart(int32_t partIndex)
const;
990 UBool argNameMatches(int32_t partIndex,
const UnicodeString& argName, int32_t argNumber);
992 void cacheExplicitFormats(
UErrorCode& status);
1010 FieldPosition* updateMetaData(AppendableWrapper& dest, int32_t prevLength,
1018 int32_t findOtherSubMessage(int32_t partIndex)
const;
1025 int32_t findFirstPluralNumberArg(int32_t msgStart,
const UnicodeString &argName)
const;
1027 Format* getCachedFormatter(int32_t argumentNumber)
const;
1029 UnicodeString getLiteralStringUntilNextArgument(int32_t from)
const;
1033 void formatComplexSubMessage(int32_t msgStart,
1034 const void *plNumber,
1038 AppendableWrapper& appendTo,
1054 listCount = argTypeCount;
1061 void resetPattern();
1087 friend class MessageFormatAdapter;
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
C++ API: PluralFormat object.
Base class for 'pure' C++ implementations of uenum api.
C++ API: PluralRules object.
Defines rules for mapping non-negative numeric values onto a small set of keywords.
Parses and represents ICU MessageFormat patterns.
#define U_CDECL_BEGIN
This is used to begin a declaration of a library private ICU C API.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
FieldPositionIterator returns the field ids and their start/limit positions generated by a call to Fo...
virtual UClassID getDynamicClassID() const
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.
uint16_t UChar
Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...
#define U_CDECL_END
This is used to end a declaration of a library private ICU C API.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
C API: Parse Error Information.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted out...
UPluralType
Type of plurals and PluralRules.
ParsePosition is a simple class used by Format and its subclasses to keep track of the current positi...
C++ API: Locale ID object.
A UParseError struct is used to returned detailed information about parsing errors.
Basic definitions for ICU, for both C and C++ APIs.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
C++ API: MessagePattern class: Parses and represents ICU MessageFormat patterns.
UMessagePatternApostropheMode
Mode for when an apostrophe starts quoted literal text for MessageFormat output.
int8_t UBool
The ICU boolean type.
A Locale object represents a specific geographical, political, or cultural region.