36 #if !UCONFIG_NO_FORMATTING 45 class DateFormatSymbols;
48 class FieldPositionHandler;
50 class SharedNumberFormat;
51 class SimpleDateFormatMutableNFs;
52 class DateIntervalFormat;
55 class LocalizedNumberFormatter;
868 virtual Format* clone(
void)
const;
880 using DateFormat::format;
925 using DateFormat::parse;
1046 virtual void applyLocalizedPattern(
const UnicodeString& pattern,
1085 static UClassID U_EXPORT2 getStaticClassID(
void);
1098 virtual UClassID getDynamicClassID(
void)
const;
1109 virtual void adoptCalendar(
Calendar* calendarToAdopt);
1119 virtual void adoptTimeZoneFormat(
TimeZoneFormat* timeZoneFormatToAdopt);
1126 virtual void setTimeZoneFormat(
const TimeZoneFormat& newTimeZoneFormat);
1178 const NumberFormat * getNumberFormatForField(char16_t field)
const;
1180 #ifndef U_HIDE_INTERNAL_API 1216 const Locale& getSmpFmtLocale(
void)
const;
1223 void initializeDefaultCentury(
void);
1225 void initializeBooleanAttributes(
void);
1275 FieldPositionHandler& handler,
1292 void zeroPaddingNumber(
const NumberFormat *currentNumberFormat,
1296 int32_t maxDigits)
const;
1302 static UBool isNumeric(char16_t formatChar, int32_t count);
1312 static UBool isAfterNonNumericField(
const UnicodeString &pattern, int32_t patternOffset);
1377 int32_t matchDayPeriodStrings(
const UnicodeString& text, int32_t start,
1379 int32_t &dayPeriod)
const;
1398 UBool whitespaceLenient,
UBool partialMatchLenient,
UBool oldLeniency);
1420 int32_t subParse(
const UnicodeString& text, int32_t& start, char16_t ch, int32_t count,
1423 int32_t *dayPeriod=
NULL)
const;
1428 UBool allowNegative,
1435 UBool allowNegative,
1438 int32_t checkIntSuffix(
const UnicodeString& text, int32_t start,
1439 int32_t patLoc,
UBool isNegative)
const;
1449 int32_t countDigits(
const UnicodeString& text, int32_t start, int32_t end)
const;
1463 static void translatePattern(
const UnicodeString& originalPattern,
1495 int32_t skipPatternWhiteSpace(
const UnicodeString& text, int32_t pos)
const;
1501 int32_t skipUWhiteSpace(
const UnicodeString& text, int32_t pos)
const;
1506 void initFastNumberFormatters(
UErrorCode& status);
1511 void freeFastNumberFormatters();
1546 static const int32_t fgCalendarFieldToLevel[];
1551 static int32_t getLevelFromChar(char16_t ch);
1556 static UBool isSyntaxChar(char16_t ch);
1598 UDate fDefaultCenturyStart;
1602 UBool fHasHanYearChar;
1607 void parsePattern();
1612 int32_t fDefaultCenturyStartYear;
1614 struct NSOverride :
public UMemory {
1615 const SharedNumberFormat *snf;
1619 NSOverride() : snf(
NULL), hash(0), next(
NULL) {
1628 const SharedNumberFormat **fSharedNumberFormatters;
1630 enum NumberFormatterKey {
1644 UBool fHaveDefaultCentury;
1652 return fDefaultCenturyStart;
UCalendarDateFields
Possible fields in a UCalendar.
UTimeZoneFormatTimeType
Constants for time types used by TimeZoneFormat APIs for receiving time type (standard time...
Calendar is an abstract base class for converting between a UDate object and a set of integer fields ...
UDisplayContext
Display context settings.
double UDate
Date and Time data type.
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.
TimeZone represents a time zone offset, and also figures out daylight savings.
C API: Display context types (enum values)
#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...
The BreakIterator class implements methods for finding the location of boundaries in text...
#define NULL
Define NULL if necessary, to nullptr for C++ and to ((void *)0) for C.
#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...
FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted out...
C++ API: Abstract class for converting dates.
ParsePosition is a simple class used by Format and its subclasses to keep track of the current positi...
Basic definitions for ICU, for both C and C++ APIs.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
UMemory is the common ICU base class.
int8_t UBool
The ICU boolean type.
A Locale object represents a specific geographical, political, or cultural region.