23 #if !UCONFIG_NO_FORMATTING
39 class SimpleDateFormat;
109 #ifndef U_HIDE_INTERNAL_API
215 void setEraNames(
const UnicodeString* eraNames, int32_t count);
232 void setNarrowEras(
const UnicodeString* narrowEras, int32_t count);
266 void setShortMonths(
const UnicodeString* shortMonths, int32_t count);
304 const UnicodeString* getMonths(int32_t& count, DtContextType context, DtWidthType width)
const;
315 void setMonths(
const UnicodeString* months, int32_t count, DtContextType context, DtWidthType width);
332 void setWeekdays(
const UnicodeString* weekdays, int32_t count);
350 void setShortWeekdays(
const UnicodeString* abbrevWeekdays, int32_t count);
360 const UnicodeString* getWeekdays(int32_t& count, DtContextType context, DtWidthType width)
const;
370 void setWeekdays(
const UnicodeString* weekdays, int32_t count, DtContextType context, DtWidthType width);
381 const UnicodeString* getQuarters(int32_t& count, DtContextType context, DtWidthType width)
const;
393 void setQuarters(
const UnicodeString* quarters, int32_t count, DtContextType context, DtWidthType width);
409 void setAmPmStrings(
const UnicodeString* ampms, int32_t count);
411 #ifndef U_HIDE_INTERNAL_API
417 static const UChar DEFAULT_TIME_SEPARATOR = 0x003a;
423 static const UChar ALTERNATE_TIME_SEPARATOR = 0x002e;
426 #ifndef U_HIDE_DRAFT_API
440 void setTimeSeparatorString(
const UnicodeString& newTimeSeparator);
443 #ifndef U_HIDE_DRAFT_API
466 void setYearNames(
const UnicodeString* yearNames, int32_t count,
491 void setZodiacNames(
const UnicodeString* zodiacNames, int32_t count,
496 #ifndef U_HIDE_INTERNAL_API
507 kLeapMonthPatternFormatWide,
508 kLeapMonthPatternFormatAbbrev,
509 kLeapMonthPatternFormatNarrow,
510 kLeapMonthPatternStandaloneWide,
511 kLeapMonthPatternStandaloneAbbrev,
512 kLeapMonthPatternStandaloneNarrow,
513 kLeapMonthPatternNumeric,
529 const UnicodeString* getLeapMonthPatterns(int32_t& count)
const;
533 #ifndef U_HIDE_DEPRECATED_API
541 const UnicodeString** getZoneStrings(int32_t& rowCount, int32_t& columnCount)
const;
555 void setZoneStrings(
const UnicodeString*
const* strings, int32_t rowCount, int32_t columnCount);
562 static const UChar * U_EXPORT2 getPatternUChars(
void);
582 void setLocalPatternChars(
const UnicodeString& newLocalPatternChars);
599 #ifndef U_HIDE_INTERNAL_API
600 kCapContextUsageOther = 0,
601 kCapContextUsageMonthFormat,
602 kCapContextUsageMonthStandalone,
603 kCapContextUsageMonthNarrow,
604 kCapContextUsageDayFormat,
605 kCapContextUsageDayStandalone,
606 kCapContextUsageDayNarrow,
607 kCapContextUsageEraWide,
608 kCapContextUsageEraAbbrev,
609 kCapContextUsageEraNarrow,
610 kCapContextUsageZoneLong,
611 kCapContextUsageZoneShort,
612 kCapContextUsageMetazoneLong,
613 kCapContextUsageMetazoneShort,
615 kCapContextUsageTypeCount = 14
630 static UClassID U_EXPORT2 getStaticClassID();
635 friend class DateFormatSymbolsSingleSetter;
647 int32_t fEraNamesCount;
653 int32_t fNarrowErasCount;
659 int32_t fMonthsCount;
665 int32_t fShortMonthsCount;
671 int32_t fNarrowMonthsCount;
677 int32_t fStandaloneMonthsCount;
683 int32_t fStandaloneShortMonthsCount;
689 int32_t fStandaloneNarrowMonthsCount;
695 int32_t fWeekdaysCount;
701 int32_t fShortWeekdaysCount;
707 int32_t fShorterWeekdaysCount;
713 int32_t fNarrowWeekdaysCount;
719 int32_t fStandaloneWeekdaysCount;
725 int32_t fStandaloneShortWeekdaysCount;
731 int32_t fStandaloneShorterWeekdaysCount;
737 int32_t fStandaloneNarrowWeekdaysCount;
749 int32_t fNarrowAmPmsCount;
760 int32_t fQuartersCount;
766 int32_t fShortQuartersCount;
772 int32_t fStandaloneQuartersCount;
778 int32_t fStandaloneShortQuartersCount;
784 int32_t fLeapMonthPatternsCount;
792 int32_t fShortYearNamesCount;
800 int32_t fShortZodiacNamesCount;
841 int32_t fZoneStringsRowCount;
842 int32_t fZoneStringsColCount;
856 UBool fCapitalization[kCapContextUsageTypeCount][2];
910 void createZoneStrings(
const UnicodeString *
const * otherStrings);
926 void initZoneStringsArray(
void);
931 void disposeZoneStrings(
void);
947 static UBool U_EXPORT2 isNumericPatternChar(
UChar c, int32_t count);
949 #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 ULOC_FULLNAME_CAPACITY
Useful constant for the maximum size of the whole locale ID (including the terminating NULL and all k...
#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.
C++ API: Calendar object.
C++ API: Common ICU base class UObject.
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_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
UDateFormatField
FieldPosition and UFieldPosition selectors for format fields defined by DateFormat and UDateFormat...
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
ULocDataLocaleType
Constants for *_getLocale() Allow user to select whether she wants information on requested...
C++ API: Locale ID object.
Basic definitions for ICU, for both C and C++ APIs.
#define FALSE
The FALSE value of a UBool.
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 Locale object represents a specific geographical, political, or cultural region.