27 #if !UCONFIG_NO_FORMATTING
39 typedef struct UHashtable UHashtable;
44 class AppendableWrapper;
324 #ifndef U_HIDE_OBSOLETE_API
416 virtual void setLocale(
const Locale& theLocale);
478 return msgPattern.getApostropheMode();
507 virtual void adoptFormats(
Format** formatsToAdopt, int32_t count);
523 virtual void setFormats(
const Format** newFormats, int32_t cnt);
540 virtual void adoptFormat(int32_t formatNumber,
Format* formatToAdopt);
551 virtual void setFormat(int32_t formatNumber,
const Format& format);
621 virtual const Format** getFormats(int32_t& count)
const;
754 int32_t& count)
const;
821 UBool usesNamedArguments()
const;
824 #ifndef U_HIDE_INTERNAL_API
835 int32_t getArgTypeCount()
const;
862 static UClassID U_EXPORT2 getStaticClassID(
void);
864 #ifndef U_HIDE_INTERNAL_API
875 static UBool equalFormats(
const void* left,
const void* right);
883 int32_t formatAliasesCapacity;
895 PluralSelectorProvider(
const Locale* loc);
896 virtual ~PluralSelectorProvider();
899 void reset(
const Locale* loc);
914 int32_t argTypeCount;
915 int32_t argTypeCapacity;
922 UBool hasArgTypeConflicts;
937 UHashtable* cachedFormatters;
938 UHashtable* customFormatArgStarts;
940 PluralSelectorProvider pluralProvider;
956 const UChar *
const *list);
987 void format(int32_t msgStart,
992 AppendableWrapper& appendTo,
998 void setArgStartFormat(int32_t argStart,
Format* formatter,
UErrorCode& status);
1000 void setCustomArgStartFormat(int32_t argStart,
Format* formatter,
UErrorCode& status);
1002 int32_t nextTopLevelArgStart(int32_t partIndex)
const;
1004 UBool argNameMatches(int32_t partIndex,
const UnicodeString& argName, int32_t argNumber);
1006 void cacheExplicitFormats(
UErrorCode& status);
1024 FieldPosition* updateMetaData(AppendableWrapper& dest, int32_t prevLength,
1027 Format* getCachedFormatter(int32_t argumentNumber)
const;
1029 UnicodeString getLiteralStringUntilNextArgument(int32_t from)
const;
1033 void formatComplexSubMessage(int32_t msgStart,
1034 double pluralNumber,
1038 AppendableWrapper& appendTo,
1055 listCount = argTypeCount;
1062 void resetPattern();
1072 virtual Format* clone()
const;
1080 virtual UClassID getDynamicClassID()
const;
1083 friend class MessageFormatAdapter;