31#if U_SHOW_CPLUSPLUS_API
38#if !UCONFIG_NO_FORMATTING
47class DateFormatSymbols;
50class FieldPositionHandler;
52class SharedNumberFormat;
53class SimpleDateFormatMutableNFs;
54class DateIntervalFormat;
57class LocalizedNumberFormatter;
882 using DateFormat::format;
927 using DateFormat::parse;
1182#ifndef U_HIDE_INTERNAL_API
1225 void initializeDefaultCentury(
void);
1227 void initializeBooleanAttributes(
void);
1277 char16_t fieldToOutput,
1278 FieldPositionHandler& handler,
1295 void zeroPaddingNumber(
const NumberFormat *currentNumberFormat,
1299 int32_t maxDigits)
const;
1305 static UBool isNumeric(
char16_t formatChar, int32_t count);
1315 static UBool isAfterNonNumericField(
const UnicodeString &pattern, int32_t patternOffset);
1374 int32_t matchAlphaMonthStrings(
const UnicodeString& text, int32_t start,
1376 int32_t stringArrayCount,
Calendar& cal)
const;
1396 int32_t matchDayPeriodStrings(
const UnicodeString& text, int32_t start,
1398 int32_t &dayPeriod)
const;
1417 UBool whitespaceLenient,
UBool partialMatchLenient,
UBool oldLeniency);
1439 int32_t subParse(
const UnicodeString& text, int32_t& start,
char16_t ch, int32_t count,
1442 int32_t *dayPeriod=
NULL)
const;
1447 UBool allowNegative,
1454 UBool allowNegative,
1457 int32_t checkIntSuffix(
const UnicodeString& text, int32_t start,
1458 int32_t patLoc,
UBool isNegative)
const;
1468 int32_t countDigits(
const UnicodeString& text, int32_t start, int32_t end)
const;
1482 static void translatePattern(
const UnicodeString& originalPattern,
1514 int32_t skipPatternWhiteSpace(
const UnicodeString& text, int32_t pos)
const;
1520 int32_t skipUWhiteSpace(
const UnicodeString& text, int32_t pos)
const;
1525 void initFastNumberFormatters(
UErrorCode& status);
1530 void freeFastNumberFormatters();
1565 static const int32_t fgCalendarFieldToLevel[];
1570 static int32_t getLevelFromChar(
char16_t ch);
1575 static UBool isSyntaxChar(
char16_t ch);
1617 UDate fDefaultCenturyStart;
1621 UBool fHasHanYearChar;
1626 void parsePattern();
1631 int32_t fDefaultCenturyStartYear;
1633 struct NSOverride :
public UMemory {
1634 const SharedNumberFormat *snf;
1638 NSOverride() : snf(
NULL), hash(0), next(
NULL) {
1647 const SharedNumberFormat **fSharedNumberFormatters;
1649 enum NumberFormatterKey {
1661 const number::LocalizedNumberFormatter* fFastNumberFormatters[SMPDTFMT_NF_COUNT] = {};
1663 UBool fHaveDefaultCentury;
1665 const BreakIterator* fCapitalizationBrkIter;
1671 return fDefaultCenturyStart;
Calendar is an abstract base class for converting between a UDate object and a set of integer fields ...
FieldPositionIterator returns the field ids and their start/limit positions generated by a call to Fo...
FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted out...
A Locale object represents a specific geographical, political, or cultural region.
ParsePosition is a simple class used by Format and its subclasses to keep track of the current positi...
TimeZone represents a time zone offset, and also figures out daylight savings.
UMemory is the common ICU base class.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
C++ API: Abstract class for converting dates.
UTimeZoneFormatTimeType
Constants for time types used by TimeZoneFormat APIs for receiving time type (standard time,...
UCalendarDateFields
Possible fields in a UCalendar.
UDateFormatField
FieldPosition and UFieldPosition selectors for format fields defined by DateFormat and UDateFormat.
C API: Display context types (enum values)
UDisplayContext
Display context settings.
int8_t UBool
The ICU boolean type, a signed-byte integer.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Basic definitions for ICU, for both C and C++ APIs.
#define NULL
Define NULL if necessary, to nullptr for C++ and to ((void *)0) for C.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.
double UDate
Date and Time data type.