19#include <QtCore/private/qglobal_p.h>
24#define QMETATYPE_CONVERTER(To, From, assign_and_return)
25 case makePair(QMetaType::To, QMetaType::From):
26 if constexpr (QMetaType::To == QMetaType::From)
31 const From &source = *static_cast<const From *>(from);
32 To &result = *static_cast<To *>(to);
35#define QMETATYPE_CONVERTER_ASSIGN(To, From)
38#define QMETATYPE_CONVERTER_FUNCTION(To, assign_and_return)
40 To &result = *static_cast<To *>(r);
48 return (quint64(from) << 32) + quint64(to);
65extern Q_CORE_EXPORT QMetaTypeModuleHelper qMetaTypeGuiHelper;
66extern Q_CORE_EXPORT QMetaTypeModuleHelper qMetaTypeWidgetsHelper;
84#if QT_CONFIG(easingcurve)
102#if !QT_CONFIG(regularexpression)
108#ifdef QT_NO_MATRIX4X4
120#ifdef QT_NO_QUATERNION
130 static_assert(
QMetaTypeId2<T>::IsBuiltIn,
"This function only works for built-in types");
131 static constexpr int typeId = QtPrivate::BuiltinMetaType<T>::value;
132 return iface->typeId.loadRelaxed() == typeId;
135template <
typename FPointer>
141 Q_ASSERT(!isInterfaceFor<
void>(iface));
142 Q_ASSERT(iface->size);
143 return ptr !=
nullptr || (iface->flags & Flag) == 0;
148 return checkMetaTypeFlagOrPointer(iface, iface
->defaultCtr, QMetaType::NeedsConstruction);
153 return checkMetaTypeFlagOrPointer(iface, iface
->copyCtr, QMetaType::NeedsCopyConstruction);
158 return checkMetaTypeFlagOrPointer(iface, iface
->moveCtr, QMetaType::NeedsMoveConstruction);
164
165
166
167 return iface->revision < 1 ||
168 checkMetaTypeFlagOrPointer(iface, iface
->dtor, QMetaType::NeedsDestruction);
177 memset(where, 0, iface->size);
186 memcpy(where, copy, iface->size);
195 memcpy(where, copy, iface->size);
224#define QT_METATYPE_CONVERT_ID_TO_TYPE(MetaTypeName, MetaTypeId, RealName)
225 case QMetaType::MetaTypeName:
226 return QtMetaTypePrivate::getInterfaceFromType<RealName>();
Combined button and popup list for selecting options.