5#ifndef QTIMEZONELOCALE_P_H
6#define QTIMEZONELOCALE_P_H
18#include <private/qglobal_p.h>
20#include <QtCore/qstring.h>
21#include <QtCore/qtimezone.h>
22#if QT_CONFIG(datestring)
23# include "private/qttemporalpattern_p.h"
27#include <unicode/ucal.h>
29#include <QtCore/private/qlocale_p.h>
51#if QT_CONFIG(datestring)
61#define rangeGetter(name)
62 constexpr QLocaleData::DataRange name() const
63 { return { m_ ## name ## _idx, m_ ## name ## _size }; }
65#define declFieldIndex(name) quint16 m_ ## name ## _idx;
66#define declBigFieldIndex(name) quint32 m_ ## name ## _idx;
68#define declFieldSize(name) quint8 m_ ## name ## _size;
70#define forEachNameType(X, form) X(form ## Generic) X(form ## Standard) X(form ## DaylightSaving)
72#define timeTypeRange(form)
73 constexpr QLocaleData::DataRange form ## Name(QTimeZone::TimeType timeType) const
76 case QTimeZone::StandardTime: return form ## Standard();
77 case QTimeZone::DaylightTime: return form ## DaylightSaving();
78 case QTimeZone::GenericTime: return form ## Generic();
80 Q_UNREACHABLE_RETURN({});
87#ifdef QT_CLDR_ZONE_DEBUG
100#define forEachField(X)
101 X(posHourFormat) X(negHourFormat) X(offsetGmtFormat) X(fallbackFormat)
102 forEachNameType(X, regionFormat)
113#define regionFormatName regionFormatRange
115#undef regionFormatName
136 QTimeZone::TimeType timeType)
const
138 return nameType == QTimeZone::ShortName ? shortName(timeType) : longName(timeType);
142#define forEach32BitField(X) forEachNameType(X, long)
143#define forEach16BitField(X) forEachNameType(X, short)
144#define forEachField(X) forEach32BitField(X) forEach16BitField(X)
155#undef forEach16BitField
156#undef forEach32BitField
165#define forEachField(X) forEachNameType(X, long)
182#define forEachField(X) forEachNameType(X, short)
194#undef forEachNameType
QList< qsizetype > fallbackLocalesFor(qsizetype index)
QList< QByteArrayView > ianaIdsForTerritory(QLocale::Territory territory)
QT_REQUIRE_CONFIG(animation)
#define rangeGetter(name)
#define timeTypeRange(form)
QT_REQUIRE_CONFIG(timezone_locale)
#define forEach16BitField(X)
#define forEach32BitField(X)
static bool ucalOffsetsAtTime(UCalendar *m_ucal, qint64 atMSecsSinceEpoch, int *utcOffset, int *dstOffset)
static int ucalDaylightOffset(const QByteArray &id)
static QList< QByteArray > uenumToIdList(UEnumeration *uenum)
QT_REQUIRE_CONFIG(timezone)
quint32 m_metaLongTableStart
quint16 m_metaShortTableStart
quint32 m_exemplarTableStart
quint32 m_exemplarCity_idx
quint8 m_exemplarCity_size
constexpr QByteArrayView ianaId() const
constexpr QLocaleData::DataRange name(QTimeZone::NameType nameType, QTimeZone::TimeType timeType) const
constexpr QByteArrayView ianaId() const