18#include <QtCore/private/qglobal_p.h>
23#define QMETATYPE_CONVERTER(To, From, assign_and_return)
24 case makePair(QMetaType::To, QMetaType::From):
25 if constexpr (QMetaType::To == QMetaType::From)
30 const From &source = *static_cast<const From *>(from);
31 To &result = *static_cast<To *>(to);
34#define QMETATYPE_CONVERTER_ASSIGN(To, From)
37#define QMETATYPE_CONVERTER_FUNCTION(To, assign_and_return)
39 To &result = *static_cast<To *>(r);
47 return (quint64(from) << 32) + quint64(to);
64extern Q_CORE_EXPORT QMetaTypeModuleHelper qMetaTypeGuiHelper;
65extern Q_CORE_EXPORT QMetaTypeModuleHelper qMetaTypeWidgetsHelper;
83#if QT_CONFIG(easingcurve)
101#if !QT_CONFIG(regularexpression)
107#ifdef QT_NO_MATRIX4X4
119#ifdef QT_NO_QUATERNION
129 static_assert(
QMetaTypeId2<T>::IsBuiltIn,
"This function only works for built-in types");
130 static constexpr int typeId = QtPrivate::BuiltinMetaType<T>::value;
131 return iface->typeId.loadRelaxed() == typeId;
134template <
typename FPointer>
140 Q_ASSERT(!isInterfaceFor<
void>(iface));
141 Q_ASSERT(iface->size);
142 return ptr !=
nullptr || (iface->flags & Flag) == 0;
147 return checkMetaTypeFlagOrPointer(iface, iface->defaultCtr, QMetaType::NeedsConstruction);
152 return checkMetaTypeFlagOrPointer(iface, iface->copyCtr, QMetaType::NeedsCopyConstruction);
157 return checkMetaTypeFlagOrPointer(iface, iface->moveCtr, QMetaType::NeedsMoveConstruction);
163
164
165
166 return iface->revision < 1 ||
167 checkMetaTypeFlagOrPointer(iface, iface->dtor, QMetaType::NeedsDestruction);
176 memset(where, 0, iface->size);
185 memcpy(where, copy, iface->size);
194 memcpy(where, copy, iface->size);
223#define QT_METATYPE_CONVERT_ID_TO_TYPE(MetaTypeName, MetaTypeId, RealName)
224 case QMetaType::MetaTypeName:
225 return QtMetaTypePrivate::getInterfaceFromType<RealName>();