qmetatype.h: add QT_FOR_EACH_STATIC_PRIMITIVE_NON_VOID_TYPE
This allows us to simplify the explicit specialization of the QMetaTypeInterface<void> explicit specialization, dropping the warning push/pop, and remove an unnecessary explicit instantiation. Change-Id: Id0fb9ab0089845ee8843fffd16f9bdccf1965b95 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 5db3fd29b42ec06ccb15fdd7f274bb20c326ffb6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
781b0856a2
commit
8c1c6afc6b
@ -41,8 +41,7 @@ template <typename T>
|
|||||||
inline constexpr int qMetaTypeId();
|
inline constexpr int qMetaTypeId();
|
||||||
|
|
||||||
// F is a tuple: (QMetaType::TypeName, QMetaType::TypeNameID, RealType)
|
// F is a tuple: (QMetaType::TypeName, QMetaType::TypeNameID, RealType)
|
||||||
#define QT_FOR_EACH_STATIC_PRIMITIVE_TYPE(F)\
|
#define QT_FOR_EACH_STATIC_PRIMITIVE_NON_VOID_TYPE(F)\
|
||||||
F(Void, 43, void) \
|
|
||||||
F(Bool, 1, bool) \
|
F(Bool, 1, bool) \
|
||||||
F(Int, 2, int) \
|
F(Int, 2, int) \
|
||||||
F(UInt, 3, uint) \
|
F(UInt, 3, uint) \
|
||||||
@ -62,7 +61,11 @@ inline constexpr int qMetaTypeId();
|
|||||||
F(Nullptr, 51, std::nullptr_t) \
|
F(Nullptr, 51, std::nullptr_t) \
|
||||||
F(QCborSimpleType, 52, QCborSimpleType) \
|
F(QCborSimpleType, 52, QCborSimpleType) \
|
||||||
|
|
||||||
#define QT_FOR_EACH_STATIC_PRIMITIVE_POINTER(F)\
|
#define QT_FOR_EACH_STATIC_PRIMITIVE_TYPE(F) \
|
||||||
|
QT_FOR_EACH_STATIC_PRIMITIVE_NON_VOID_TYPE(F) \
|
||||||
|
F(Void, 43, void) \
|
||||||
|
|
||||||
|
#define QT_FOR_EACH_STATIC_PRIMITIVE_POINTER(F) \
|
||||||
F(VoidStar, 31, void*) \
|
F(VoidStar, 31, void*) \
|
||||||
|
|
||||||
#if QT_CONFIG(easingcurve)
|
#if QT_CONFIG(easingcurve)
|
||||||
@ -2379,10 +2382,7 @@ public:
|
|||||||
|
|
||||||
#define QT_METATYPE_DECLARE_EXTERN_TEMPLATE_ITER(TypeName, Id, Name) \
|
#define QT_METATYPE_DECLARE_EXTERN_TEMPLATE_ITER(TypeName, Id, Name) \
|
||||||
extern template class Q_CORE_EXPORT QMetaTypeForType<Name>;
|
extern template class Q_CORE_EXPORT QMetaTypeForType<Name>;
|
||||||
QT_WARNING_PUSH
|
QT_FOR_EACH_STATIC_PRIMITIVE_NON_VOID_TYPE(QT_METATYPE_DECLARE_EXTERN_TEMPLATE_ITER)
|
||||||
QT_WARNING_DISABLE_GCC("-Wattributes") // false positive because of QMetaTypeForType<void>
|
|
||||||
QT_FOR_EACH_STATIC_PRIMITIVE_TYPE(QT_METATYPE_DECLARE_EXTERN_TEMPLATE_ITER)
|
|
||||||
QT_WARNING_POP
|
|
||||||
QT_FOR_EACH_STATIC_PRIMITIVE_POINTER(QT_METATYPE_DECLARE_EXTERN_TEMPLATE_ITER)
|
QT_FOR_EACH_STATIC_PRIMITIVE_POINTER(QT_METATYPE_DECLARE_EXTERN_TEMPLATE_ITER)
|
||||||
QT_FOR_EACH_STATIC_CORE_CLASS(QT_METATYPE_DECLARE_EXTERN_TEMPLATE_ITER)
|
QT_FOR_EACH_STATIC_CORE_CLASS(QT_METATYPE_DECLARE_EXTERN_TEMPLATE_ITER)
|
||||||
QT_FOR_EACH_STATIC_CORE_POINTER(QT_METATYPE_DECLARE_EXTERN_TEMPLATE_ITER)
|
QT_FOR_EACH_STATIC_CORE_POINTER(QT_METATYPE_DECLARE_EXTERN_TEMPLATE_ITER)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user