12 #ifndef __DTPTNGEN_H__
13 #define __DTPTNGEN_H__
30 class DateTimeMatcher;
34 class SharedDateTimePatternGenerator;
69 #ifndef U_HIDE_INTERNAL_API
119 #ifndef U_HIDE_DRAFT_API
152 #ifndef U_HIDE_DRAFT_API
433 #ifndef U_HIDE_INTERNAL_API
481 static UClassID U_EXPORT2 getStaticClassID(
void);
512 DateTimeMatcher* dtMatcher;
513 DistanceInfo *distanceInfo;
514 PatternMap *patternMap;
519 DateTimeMatcher *skipMatcher;
520 Hashtable *fAvailableFormatKeyHash;
523 UChar fDefaultHourFormatChar;
525 int32_t fAllowedHourFormats[7];
530 kDTPGFixFractionalSeconds = 1,
531 kDTPGSkeletonUsesCapJ = 2,
532 kDTPGSkeletonUsesLowB = 3,
533 kDTPGSkeletonUsesCapB = 4
537 void addCanonicalItems();
549 const UnicodeString* getBestRaw(DateTimeMatcher& source, int32_t includeMask, DistanceInfo* missingFields,
const PtnSkeleton** specifiedSkeletonPtr = 0);
552 int32_t getTopBitNumber(int32_t foundMask);
555 void copyHashtable(Hashtable *other,
UErrorCode &status);
557 static void loadAllowedHourFormatsData(
UErrorCode &status);
virtual UClassID getDynamicClassID() const
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.
This class provides flexible generation of date format patterns, like "yy-MM-dd". ...
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.
Base class for 'pure' C++ implementations of uenum api.
#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: Wrapper for icu::DateTimePatternGenerator (unicode/dtptngen.h).
UBool operator!=(const StringPiece &x, const StringPiece &y)
Global operator != for StringPiece.
UDateTimePatternConflict
Status return values from udatpg_addPattern().
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.
UDateTimePatternField
Field number constants for udatpg_getAppendItemFormats() and similar functions.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
C++ API: Abstract class for converting dates.
C++ API: Locale ID object.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
UObject is the common ICU "boilerplate" class.
UDateTimePatternMatchOptions
Masks to control forcing the length of specified fields in the returned pattern to match those in the...
int8_t UBool
The ICU boolean type.
A Locale object represents a specific geographical, political, or cultural region.