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
146 return staticGetSkeleton(pattern, status);
149 #ifndef U_HIDE_DRAFT_API
182 return staticGetBaseSkeleton(pattern, status);
427 #ifndef U_HIDE_INTERNAL_API
475 static UClassID U_EXPORT2 getStaticClassID(
void);
506 DateTimeMatcher* dtMatcher;
507 DistanceInfo *distanceInfo;
508 PatternMap *patternMap;
513 DateTimeMatcher *skipMatcher;
514 Hashtable *fAvailableFormatKeyHash;
517 UChar fDefaultHourFormatChar;
522 kDTPGFixFractionalSeconds = 1,
523 kDTPGSkeletonUsesCapJ = 2
526 void initData(
const Locale &locale,
UErrorCode &status);
527 void addCanonicalItems();
528 void addICUPatterns(
const Locale& locale,
UErrorCode& status);
529 void hackTimes(
const UnicodeString& hackPattern,
UErrorCode& status);
530 void addCLDRData(
const Locale& locale,
UErrorCode& status);
533 void setDateTimeFromCalendar(
const Locale& locale,
UErrorCode& status);
534 void setDecimalSymbols(
const Locale& locale,
UErrorCode& status);
538 int32_t getCanonicalIndex(
const UnicodeString& field);
539 const UnicodeString* getBestRaw(DateTimeMatcher& source, int32_t includeMask, DistanceInfo* missingFields,
const PtnSkeleton** specifiedSkeletonPtr = 0);
542 int32_t getTopBitNumber(int32_t foundMask);
543 void setAvailableFormat(
const UnicodeString &key,
UErrorCode& status);
544 UBool isAvailableFormatSet(
const UnicodeString &key)
const;
545 void copyHashtable(Hashtable *other,
UErrorCode &status);
546 UBool isCanonicalItem(
const UnicodeString& item)
const;