8#include <QtCore/qprocessordetection.h>
9#include <QtCore/qtconfigmacros.h>
10#include <QtCore/qassert.h>
15# if defined(__STDCPP_FLOAT16_T__) && __has_include(<stdfloat>)
24#pragma qt_class(QtTypes)
25#pragma qt_class(QIntegerForSize)
26#pragma qt_sync_stop_processing
54# define Q_INT64_C(c) static_cast<long long>(c ## LL)
55# define Q_UINT64_C(c) static_cast<unsigned long long>(c ## ULL)
57# define Q_INT64_C(c) ((long long)(c ## LL))
58# define Q_UINT64_C(c) ((unsigned long long)(c ## ULL))
66#if defined(__SIZEOF_INT128__) && !defined(QT_NO_INT128)
67# define QT_SUPPORTS_INT128 __SIZEOF_INT128__
69# undef QT_SUPPORTS_INT128
72#if defined(QT_SUPPORTS_INT128)
73__extension__
typedef __int128_t qint128;
74__extension__
typedef __uint128_t
quint128;
78# define QT_C_STYLE_CAST(type, x) static_cast<type>(x)
80# define QT_C_STYLE_CAST(type, x) ((type)(x))
83# define Q_UINT128_MAX QT_C_STYLE_CAST(quint128, -1)
85# define Q_INT128_MAX QT_C_STYLE_CAST(qint128, Q_UINT128_MAX / 2)
86# define Q_INT128_MIN (-Q_INT128_MAX - 1)
89 namespace QtPrivate::NumberLiterals {
91 template <qu
int128 accu,
int base>
92 constexpr quint128 construct() {
return accu; }
97 if constexpr (C !=
'\'') {
98 const int digitValue =
'0' <= C && C <=
'9' ? C -
'0' :
99 'a' <= C && C <=
'z' ? C -
'a' + 10 :
100 'A' <= C && C <=
'Z' ? C -
'A' + 10 :
102 static_assert(digitValue >= 0 && digitValue <
base,
103 "Invalid character");
105 static_assert(accu <= (Q_UINT128_MAX - digitValue) /
base,
106 "Overflow occurred");
107 return construct<accu *
base + digitValue,
base, Cs...>();
109 return construct<accu,
base, Cs...>();
113 template <
char C,
char...Cs>
117 if constexpr (C ==
'x' || C ==
'X')
118 return construct<accu, 16, Cs...>();
119 else if constexpr (C ==
'b' || C ==
'B')
120 return construct<accu, 2, Cs...>();
122 return construct<accu, 8, C, Cs...>();
128 if constexpr (
sizeof...(Cs) == 0)
131 return parse0xb<Cs...>();
134 template <
char C,
char...Cs>
137 if constexpr (C ==
'0')
138 return parse0<Cs...>();
140 return construct<0, 10, C, Cs...>();
144 constexpr quint128 operator""_quint128()
noexcept
145 {
return QtPrivate::NumberLiterals::detail::parse<Cs...>(); }
147 constexpr qint128
operator""_qint128()
noexcept
148 {
return qint128(QtPrivate::NumberLiterals::detail::parse<Cs...>()); }
151 # define Q_UINT128_C(c) ([]{ using namespace QtPrivate::NumberLiterals; return c ## _quint128; }())
154 # define Q_INT128_C(c) ([]{ using namespace QtPrivate::NumberLiterals; return c ## _qint128; }())
163static_assert(
sizeof(ptrdiff_t) ==
sizeof(
size_t),
"Weird ptrdiff_t and size_t definitions");
169#define PRIdQPTRDIFF "td"
170#define PRIiQPTRDIFF "ti"
172#define PRIdQSIZETYPE "td"
173#define PRIiQSIZETYPE "ti"
175#define PRIdQINTPTR "td"
176#define PRIiQINTPTR "ti"
178#define PRIuQUINTPTR "zu"
179#define PRIoQUINTPTR "zo"
180#define PRIxQUINTPTR "zx"
181#define PRIXQUINTPTR "zX"
184#if defined(QT_COORD_TYPE)
185typedef QT_COORD_TYPE
qreal;
190#if defined(__cplusplus)
200template <
int>
struct QIntegerForSize;
201template <>
struct QIntegerForSize<1> {
typedef quint8 Unsigned;
typedef qint8 Signed; };
202template <>
struct QIntegerForSize<2> {
typedef quint16 Unsigned;
typedef qint16 Signed; };
203template <>
struct QIntegerForSize<4> {
typedef quint32 Unsigned;
typedef qint32 Signed; };
204template <>
struct QIntegerForSize<8> {
typedef quint64 Unsigned;
typedef qint64 Signed; };
205#if defined(QT_SUPPORTS_INT128)
206template <>
struct QIntegerForSize<16> {
typedef quint128 Unsigned;
typedef qint128 Signed; };
208template <
class T>
struct QIntegerForSizeof: QIntegerForSize<sizeof(T)> { };
209typedef QIntegerForSize<Q_PROCESSOR_WORDSIZE>::Signed qregisterint;
210typedef QIntegerForSize<Q_PROCESSOR_WORDSIZE>::Unsigned qregisteruint;
211typedef QIntegerForSizeof<void *>::Unsigned
quintptr;
212typedef QIntegerForSizeof<void *>::Signed
qptrdiff;
214using qsizetype = QIntegerForSizeof<std::size_t>::Signed;
225#if SIZE_MAX == 0xffffffffULL
226#define PRIuQUINTPTR "u"
227#define PRIoQUINTPTR "o"
228#define PRIxQUINTPTR "x"
229#define PRIXQUINTPTR "X"
231#define PRIdQPTRDIFF "d"
232#define PRIiQPTRDIFF "i"
234#define PRIdQINTPTR "d"
235#define PRIiQINTPTR "i"
237#define PRIdQSIZETYPE "d"
238#define PRIiQSIZETYPE "i"
239#elif SIZE_MAX == 0xffffffffffffffffULL
240#define PRIuQUINTPTR "llu"
241#define PRIoQUINTPTR "llo"
242#define PRIxQUINTPTR "llx"
243#define PRIXQUINTPTR "llX"
245#define PRIdQPTRDIFF "lld"
246#define PRIiQPTRDIFF "lli"
248#define PRIdQINTPTR "lld"
249#define PRIiQINTPTR "lli"
251#define PRIdQSIZETYPE "lld"
252#define PRIiQSIZETYPE "lli"
254#error Unsupported platform (unknown value for SIZE_MAX)
259#if defined(__STDCPP_FLOAT16_T__)
260# define QFLOAT16_IS_NATIVE 1
261using NativeFloat16Type = std::float16_t;
262#elif defined(Q_CC_CLANG) && defined(__FLT16_MAX__) && 0
264# define QFLOAT16_IS_NATIVE 1
265using NativeFloat16Type =
decltype(__FLT16_MAX__);
266#elif defined(Q_CC_GNU_ONLY) && defined(__FLT16_MAX__)
267# define QFLOAT16_IS_NATIVE 1
268# ifdef __ARM_FP16_FORMAT_IEEE
269using NativeFloat16Type = __fp16;
271using NativeFloat16Type = _Float16;
274# define QFLOAT16_IS_NATIVE 0
275using NativeFloat16Type =
void;
Combined button and popup list for selecting options.
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
unsigned long long quint64
QT_BEGIN_NAMESPACE typedef signed char qint8