25 #if U_SHOW_CPLUSPLUS_API
27 #if !UCONFIG_NO_FORMATTING
44 class SimpleDateFormat;
115 #ifndef U_HIDE_INTERNAL_API
221 void setEraNames(
const UnicodeString* eraNames, int32_t count);
238 void setNarrowEras(
const UnicodeString* narrowEras, int32_t count);
272 void setShortMonths(
const UnicodeString* shortMonths, int32_t count);
281 #ifndef U_HIDE_DEPRECATED_API
287 #endif // U_HIDE_DEPRECATED_API
303 #ifndef U_HIDE_DEPRECATED_API
309 #endif // U_HIDE_DEPRECATED_API
320 const UnicodeString* getMonths(int32_t& count, DtContextType context, DtWidthType width)
const;
331 void setMonths(
const UnicodeString* months, int32_t count, DtContextType context, DtWidthType width);
348 void setWeekdays(
const UnicodeString* weekdays, int32_t count);
366 void setShortWeekdays(
const UnicodeString* abbrevWeekdays, int32_t count);
376 const UnicodeString* getWeekdays(int32_t& count, DtContextType context, DtWidthType width)
const;
386 void setWeekdays(
const UnicodeString* weekdays, int32_t count, DtContextType context, DtWidthType width);
396 const UnicodeString* getQuarters(int32_t& count, DtContextType context, DtWidthType width)
const;
407 void setQuarters(
const UnicodeString* quarters, int32_t count, DtContextType context, DtWidthType width);
423 void setAmPmStrings(
const UnicodeString* ampms, int32_t count);
425 #ifndef U_HIDE_INTERNAL_API
431 static const char16_t DEFAULT_TIME_SEPARATOR = 0x003a;
437 static const char16_t ALTERNATE_TIME_SEPARATOR = 0x002e;
452 void setTimeSeparatorString(
const UnicodeString& newTimeSeparator);
477 void setYearNames(
const UnicodeString* yearNames, int32_t count,
502 void setZodiacNames(
const UnicodeString* zodiacNames, int32_t count,
505 #ifndef U_HIDE_INTERNAL_API
516 kLeapMonthPatternFormatWide,
517 kLeapMonthPatternFormatAbbrev,
518 kLeapMonthPatternFormatNarrow,
519 kLeapMonthPatternStandaloneWide,
520 kLeapMonthPatternStandaloneAbbrev,
521 kLeapMonthPatternStandaloneNarrow,
522 kLeapMonthPatternNumeric,
538 const UnicodeString* getLeapMonthPatterns(int32_t& count)
const;
542 #ifndef U_HIDE_DEPRECATED_API
550 const UnicodeString** getZoneStrings(int32_t& rowCount, int32_t& columnCount)
const;
564 void setZoneStrings(
const UnicodeString*
const* strings, int32_t rowCount, int32_t columnCount);
571 static const char16_t* U_EXPORT2 getPatternUChars();
591 void setLocalPatternChars(
const UnicodeString& newLocalPatternChars);
608 #ifndef U_HIDE_INTERNAL_API
609 kCapContextUsageOther = 0,
610 kCapContextUsageMonthFormat,
611 kCapContextUsageMonthStandalone,
612 kCapContextUsageMonthNarrow,
613 kCapContextUsageDayFormat,
614 kCapContextUsageDayStandalone,
615 kCapContextUsageDayNarrow,
616 kCapContextUsageEraWide,
617 kCapContextUsageEraAbbrev,
618 kCapContextUsageEraNarrow,
619 kCapContextUsageZoneLong,
620 kCapContextUsageZoneShort,
621 kCapContextUsageMetazoneLong,
622 kCapContextUsageMetazoneShort,
624 kCapContextUsageTypeCount = 14
639 static UClassID U_EXPORT2 getStaticClassID();
644 friend class DateFormatSymbolsSingleSetter;
656 int32_t fEraNamesCount;
662 int32_t fNarrowErasCount;
668 int32_t fMonthsCount;
674 int32_t fShortMonthsCount;
680 int32_t fNarrowMonthsCount;
686 int32_t fStandaloneMonthsCount;
692 int32_t fStandaloneShortMonthsCount;
698 int32_t fStandaloneNarrowMonthsCount;
704 int32_t fWeekdaysCount;
710 int32_t fShortWeekdaysCount;
716 int32_t fShorterWeekdaysCount;
722 int32_t fNarrowWeekdaysCount;
728 int32_t fStandaloneWeekdaysCount;
734 int32_t fStandaloneShortWeekdaysCount;
740 int32_t fStandaloneShorterWeekdaysCount;
746 int32_t fStandaloneNarrowWeekdaysCount;
758 int32_t fNarrowAmPmsCount;
769 int32_t fQuartersCount;
775 int32_t fShortQuartersCount;
782 int32_t fNarrowQuartersCount;
788 int32_t fStandaloneQuartersCount;
794 int32_t fStandaloneShortQuartersCount;
801 int32_t fStandaloneNarrowQuartersCount;
807 int32_t fLeapMonthPatternsCount;
815 int32_t fShortYearNamesCount;
823 int32_t fShortZodiacNamesCount;
864 int32_t fZoneStringsRowCount;
865 int32_t fZoneStringsColCount;
879 UBool fCapitalization[kCapContextUsageTypeCount][2];
885 int32_t fAbbreviatedDayPeriodsCount;
891 int32_t fWideDayPeriodsCount;
897 int32_t fNarrowDayPeriodsCount;
903 int32_t fStandaloneAbbreviatedDayPeriodsCount;
909 int32_t fStandaloneWideDayPeriodsCount;
915 int32_t fStandaloneNarrowDayPeriodsCount;
921 CharString* validLocale =
nullptr;
922 CharString* actualLocale =
nullptr;
935 void initializeData(
const Locale& locale,
const char *type,
970 void createZoneStrings(
const UnicodeString *
const * otherStrings);
986 void initZoneStringsArray();
991 void disposeZoneStrings();
1007 static UBool U_EXPORT2 isNumericPatternChar(char16_t c, int32_t count);
1009 #ifndef U_HIDE_INTERNAL_API
virtual UClassID getDynamicClassID() const
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.
U_EXPORT UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
C++ API: Calendar object.
C++ API: Common ICU base class UObject.
UDateFormatField
FieldPosition and UFieldPosition selectors for format fields defined by DateFormat and UDateFormat...
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
ULocDataLocaleType
Constants for *_getLocale() Allow user to select whether she wants information on requested...
C++ API: String Enumeration.
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.
int8_t UBool
The ICU boolean type, a signed-byte integer.
A Locale object represents a specific geographical, political, or cultural region.