QMetaTypeId2

MarsCactus發表於2024-10-24
#define QT_FOR_EACH_STATIC_TYPE(F)\
    QT_FOR_EACH_STATIC_PRIMITIVE_TYPE(F)\
    QT_FOR_EACH_STATIC_PRIMITIVE_POINTER(F)\
    QT_FOR_EACH_STATIC_CORE_CLASS(F)\
    QT_FOR_EACH_STATIC_CORE_POINTER(F)\
    QT_FOR_EACH_STATIC_CORE_TEMPLATE(F)\
    QT_FOR_EACH_STATIC_GUI_CLASS(F)\
    QT_FOR_EACH_STATIC_WIDGETS_CLASS(F)\


#define Q_DECLARE_BUILTIN_METATYPE(TYPE, METATYPEID, NAME) \
    QT_BEGIN_NAMESPACE \
    template<> struct QMetaTypeId2<NAME> \
    { \
        using NameAsArrayType = std::array<char, sizeof(#NAME)>; \
        enum { Defined = 1, IsBuiltIn = true, MetaType = METATYPEID };   \
        static inline constexpr int qt_metatype_id() { return METATYPEID; } \
        static constexpr NameAsArrayType nameAsArray = { #NAME }; \
    }; \
    QT_END_NAMESPACE

QT_FOR_EACH_STATIC_TYPE(Q_DECLARE_BUILTIN_METATYPE)

Macro expand:


 template<> struct QMetaTypeId2<bool> { using NameAsArrayType = std::array<char, sizeof("bool")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 1 }; static inline constexpr int qt_metatype_id() { return 1; } static constexpr NameAsArrayType nameAsArray = { "bool" }; };  
 template<> struct QMetaTypeId2<int> { using NameAsArrayType = std::array<char, sizeof("int")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 2 }; static inline constexpr int qt_metatype_id() { return 2; } static constexpr NameAsArrayType nameAsArray = { "int" }; };  
 template<> struct QMetaTypeId2<uint> { using NameAsArrayType = std::array<char, sizeof("uint")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 3 }; static inline constexpr int qt_metatype_id() { return 3; } static constexpr NameAsArrayType nameAsArray = { "uint" }; };  
 template<> struct QMetaTypeId2<qlonglong> { using NameAsArrayType = std::array<char, sizeof("qlonglong")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 4 }; static inline constexpr int qt_metatype_id() { return 4; } static constexpr NameAsArrayType nameAsArray = { "qlonglong" }; };  
 template<> struct QMetaTypeId2<qulonglong> { using NameAsArrayType = std::array<char, sizeof("qulonglong")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 5 }; static inline constexpr int qt_metatype_id() { return 5; } static constexpr NameAsArrayType nameAsArray = { "qulonglong" }; };  
 template<> struct QMetaTypeId2<double> { using NameAsArrayType = std::array<char, sizeof("double")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 6 }; static inline constexpr int qt_metatype_id() { return 6; } static constexpr NameAsArrayType nameAsArray = { "double" }; };  
 template<> struct QMetaTypeId2<long> { using NameAsArrayType = std::array<char, sizeof("long")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 32 }; static inline constexpr int qt_metatype_id() { return 32; } static constexpr NameAsArrayType nameAsArray = { "long" }; };  
 template<> struct QMetaTypeId2<short> { using NameAsArrayType = std::array<char, sizeof("short")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 33 }; static inline constexpr int qt_metatype_id() { return 33; } static constexpr NameAsArrayType nameAsArray = { "short" }; };  
 template<> struct QMetaTypeId2<char> { using NameAsArrayType = std::array<char, sizeof("char")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 34 }; static inline constexpr int qt_metatype_id() { return 34; } static constexpr NameAsArrayType nameAsArray = { "char" }; };  
 template<> struct QMetaTypeId2<char16_t> { using NameAsArrayType = std::array<char, sizeof("char16_t")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 56 }; static inline constexpr int qt_metatype_id() { return 56; } static constexpr NameAsArrayType nameAsArray = { "char16_t" }; };  
 template<> struct QMetaTypeId2<char32_t> { using NameAsArrayType = std::array<char, sizeof("char32_t")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 57 }; static inline constexpr int qt_metatype_id() { return 57; } static constexpr NameAsArrayType nameAsArray = { "char32_t" }; };  
 template<> struct QMetaTypeId2<ulong> { using NameAsArrayType = std::array<char, sizeof("ulong")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 35 }; static inline constexpr int qt_metatype_id() { return 35; } static constexpr NameAsArrayType nameAsArray = { "ulong" }; };  
 template<> struct QMetaTypeId2<ushort> { using NameAsArrayType = std::array<char, sizeof("ushort")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 36 }; static inline constexpr int qt_metatype_id() { return 36; } static constexpr NameAsArrayType nameAsArray = { "ushort" }; };  
 template<> struct QMetaTypeId2<uchar> { using NameAsArrayType = std::array<char, sizeof("uchar")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 37 }; static inline constexpr int qt_metatype_id() { return 37; } static constexpr NameAsArrayType nameAsArray = { "uchar" }; };  
 template<> struct QMetaTypeId2<float> { using NameAsArrayType = std::array<char, sizeof("float")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 38 }; static inline constexpr int qt_metatype_id() { return 38; } static constexpr NameAsArrayType nameAsArray = { "float" }; };  
 template<> struct QMetaTypeId2<signed char> { using NameAsArrayType = std::array<char, sizeof("signed char")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 40 }; static inline constexpr int qt_metatype_id() { return 40; } static constexpr NameAsArrayType nameAsArray = { "signed char" }; };  
 template<> struct QMetaTypeId2<std::nullptr_t> { using NameAsArrayType = std::array<char, sizeof("std::nullptr_t")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 51 }; static inline constexpr int qt_metatype_id() { return 51; } static constexpr NameAsArrayType nameAsArray = { "std::nullptr_t" }; };  
 template<> struct QMetaTypeId2<QCborSimpleType> { using NameAsArrayType = std::array<char, sizeof("QCborSimpleType")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 52 }; static inline constexpr int qt_metatype_id() { return 52; } static constexpr NameAsArrayType nameAsArray = { "QCborSimpleType" }; };  
 template<> struct QMetaTypeId2<void> { using NameAsArrayType = std::array<char, sizeof("void")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 43 }; static inline constexpr int qt_metatype_id() { return 43; } static constexpr NameAsArrayType nameAsArray = { "void" }; };  
 template<> struct QMetaTypeId2<void*> { using NameAsArrayType = std::array<char, sizeof("void*")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 31 }; static inline constexpr int qt_metatype_id() { return 31; } static constexpr NameAsArrayType nameAsArray = { "void*" }; };  
 template<> struct QMetaTypeId2<QChar> { using NameAsArrayType = std::array<char, sizeof("QChar")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 7 }; static inline constexpr int qt_metatype_id() { return 7; } static constexpr NameAsArrayType nameAsArray = { "QChar" }; };  
 template<> struct QMetaTypeId2<QString> { using NameAsArrayType = std::array<char, sizeof("QString")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 10 }; static inline constexpr int qt_metatype_id() { return 10; } static constexpr NameAsArrayType nameAsArray = { "QString" }; };  
 template<> struct QMetaTypeId2<QByteArray> { using NameAsArrayType = std::array<char, sizeof("QByteArray")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 12 }; static inline constexpr int qt_metatype_id() { return 12; } static constexpr NameAsArrayType nameAsArray = { "QByteArray" }; };  
 template<> struct QMetaTypeId2<QBitArray> { using NameAsArrayType = std::array<char, sizeof("QBitArray")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 13 }; static inline constexpr int qt_metatype_id() { return 13; } static constexpr NameAsArrayType nameAsArray = { "QBitArray" }; };  
 template<> struct QMetaTypeId2<QDate> { using NameAsArrayType = std::array<char, sizeof("QDate")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 14 }; static inline constexpr int qt_metatype_id() { return 14; } static constexpr NameAsArrayType nameAsArray = { "QDate" }; };  
 template<> struct QMetaTypeId2<QTime> { using NameAsArrayType = std::array<char, sizeof("QTime")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 15 }; static inline constexpr int qt_metatype_id() { return 15; } static constexpr NameAsArrayType nameAsArray = { "QTime" }; };  
 template<> struct QMetaTypeId2<QDateTime> { using NameAsArrayType = std::array<char, sizeof("QDateTime")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 16 }; static inline constexpr int qt_metatype_id() { return 16; } static constexpr NameAsArrayType nameAsArray = { "QDateTime" }; };  
 template<> struct QMetaTypeId2<QUrl> { using NameAsArrayType = std::array<char, sizeof("QUrl")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 17 }; static inline constexpr int qt_metatype_id() { return 17; } static constexpr NameAsArrayType nameAsArray = { "QUrl" }; };  
 template<> struct QMetaTypeId2<QLocale> { using NameAsArrayType = std::array<char, sizeof("QLocale")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 18 }; static inline constexpr int qt_metatype_id() { return 18; } static constexpr NameAsArrayType nameAsArray = { "QLocale" }; };  
 template<> struct QMetaTypeId2<QRect> { using NameAsArrayType = std::array<char, sizeof("QRect")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 19 }; static inline constexpr int qt_metatype_id() { return 19; } static constexpr NameAsArrayType nameAsArray = { "QRect" }; };  
 template<> struct QMetaTypeId2<QRectF> { using NameAsArrayType = std::array<char, sizeof("QRectF")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 20 }; static inline constexpr int qt_metatype_id() { return 20; } static constexpr NameAsArrayType nameAsArray = { "QRectF" }; };  
 template<> struct QMetaTypeId2<QSize> { using NameAsArrayType = std::array<char, sizeof("QSize")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 21 }; static inline constexpr int qt_metatype_id() { return 21; } static constexpr NameAsArrayType nameAsArray = { "QSize" }; };  
 template<> struct QMetaTypeId2<QSizeF> { using NameAsArrayType = std::array<char, sizeof("QSizeF")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 22 }; static inline constexpr int qt_metatype_id() { return 22; } static constexpr NameAsArrayType nameAsArray = { "QSizeF" }; };  
 template<> struct QMetaTypeId2<QLine> { using NameAsArrayType = std::array<char, sizeof("QLine")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 23 }; static inline constexpr int qt_metatype_id() { return 23; } static constexpr NameAsArrayType nameAsArray = { "QLine" }; };  
 template<> struct QMetaTypeId2<QLineF> { using NameAsArrayType = std::array<char, sizeof("QLineF")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 24 }; static inline constexpr int qt_metatype_id() { return 24; } static constexpr NameAsArrayType nameAsArray = { "QLineF" }; };  
 template<> struct QMetaTypeId2<QPoint> { using NameAsArrayType = std::array<char, sizeof("QPoint")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 25 }; static inline constexpr int qt_metatype_id() { return 25; } static constexpr NameAsArrayType nameAsArray = { "QPoint" }; };  
 template<> struct QMetaTypeId2<QPointF> { using NameAsArrayType = std::array<char, sizeof("QPointF")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 26 }; static inline constexpr int qt_metatype_id() { return 26; } static constexpr NameAsArrayType nameAsArray = { "QPointF" }; }; QT_END_NAMESPACE  QT_BEGIN_NAMESPACE 
 template<> struct QMetaTypeId2<QUuid> { using NameAsArrayType = std::array<char, sizeof("QUuid")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 30 }; static inline constexpr int qt_metatype_id() { return 30; } static constexpr NameAsArrayType nameAsArray = { "QUuid" }; };  
 template<> struct QMetaTypeId2<QVariant> { using NameAsArrayType = std::array<char, sizeof("QVariant")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 41 }; static inline constexpr int qt_metatype_id() { return 41; } static constexpr NameAsArrayType nameAsArray = { "QVariant" }; }; QT_END_NAMESPACE  QT_BEGIN_NAMESPACE 
 template<> struct QMetaTypeId2<QJsonValue> { using NameAsArrayType = std::array<char, sizeof("QJsonValue")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 45 }; static inline constexpr int qt_metatype_id() { return 45; } static constexpr NameAsArrayType nameAsArray = { "QJsonValue" }; };  
 template<> struct QMetaTypeId2<QJsonObject> { using NameAsArrayType = std::array<char, sizeof("QJsonObject")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 46 }; static inline constexpr int qt_metatype_id() { return 46; } static constexpr NameAsArrayType nameAsArray = { "QJsonObject" }; };  
 template<> struct QMetaTypeId2<QJsonArray> { using NameAsArrayType = std::array<char, sizeof("QJsonArray")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 47 }; static inline constexpr int qt_metatype_id() { return 47; } static constexpr NameAsArrayType nameAsArray = { "QJsonArray" }; };  
 template<> struct QMetaTypeId2<QJsonDocument> { using NameAsArrayType = std::array<char, sizeof("QJsonDocument")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 48 }; static inline constexpr int qt_metatype_id() { return 48; } static constexpr NameAsArrayType nameAsArray = { "QJsonDocument" }; };  
 template<> struct QMetaTypeId2<QCborValue> { using NameAsArrayType = std::array<char, sizeof("QCborValue")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 53 }; static inline constexpr int qt_metatype_id() { return 53; } static constexpr NameAsArrayType nameAsArray = { "QCborValue" }; };  
 template<> struct QMetaTypeId2<QCborArray> { using NameAsArrayType = std::array<char, sizeof("QCborArray")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 54 }; static inline constexpr int qt_metatype_id() { return 54; } static constexpr NameAsArrayType nameAsArray = { "QCborArray" }; };  
 template<> struct QMetaTypeId2<QCborMap> { using NameAsArrayType = std::array<char, sizeof("QCborMap")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 55 }; static inline constexpr int qt_metatype_id() { return 55; } static constexpr NameAsArrayType nameAsArray = { "QCborMap" }; };  
 template<> struct QMetaTypeId2<qfloat16> { using NameAsArrayType = std::array<char, sizeof("qfloat16")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 63 }; static inline constexpr int qt_metatype_id() { return 63; } static constexpr NameAsArrayType nameAsArray = { "qfloat16" }; }; QT_END_NAMESPACE  QT_BEGIN_NAMESPACE 
 template<> struct QMetaTypeId2<QObject*> { using NameAsArrayType = std::array<char, sizeof("QObject*")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 39 }; static inline constexpr int qt_metatype_id() { return 39; } static constexpr NameAsArrayType nameAsArray = { "QObject*" }; };  
 template<> struct QMetaTypeId2<QVariantMap> { using NameAsArrayType = std::array<char, sizeof("QVariantMap")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 8 }; static inline constexpr int qt_metatype_id() { return 8; } static constexpr NameAsArrayType nameAsArray = { "QVariantMap" }; };  
 template<> struct QMetaTypeId2<QVariantList> { using NameAsArrayType = std::array<char, sizeof("QVariantList")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 9 }; static inline constexpr int qt_metatype_id() { return 9; } static constexpr NameAsArrayType nameAsArray = { "QVariantList" }; };  
 template<> struct QMetaTypeId2<QVariantHash> { using NameAsArrayType = std::array<char, sizeof("QVariantHash")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 28 }; static inline constexpr int qt_metatype_id() { return 28; } static constexpr NameAsArrayType nameAsArray = { "QVariantHash" }; };  
 template<> struct QMetaTypeId2<QVariantPair> { using NameAsArrayType = std::array<char, sizeof("QVariantPair")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 58 }; static inline constexpr int qt_metatype_id() { return 58; } static constexpr NameAsArrayType nameAsArray = { "QVariantPair" }; };  
 template<> struct QMetaTypeId2<QByteArrayList> { using NameAsArrayType = std::array<char, sizeof("QByteArrayList")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 49 }; static inline constexpr int qt_metatype_id() { return 49; } static constexpr NameAsArrayType nameAsArray = { "QByteArrayList" }; };  
 template<> struct QMetaTypeId2<QStringList> { using NameAsArrayType = std::array<char, sizeof("QStringList")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 11 }; static inline constexpr int qt_metatype_id() { return 11; } static constexpr NameAsArrayType nameAsArray = { "QStringList" }; };  
 template<> struct QMetaTypeId2<QFont> { using NameAsArrayType = std::array<char, sizeof("QFont")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1000 }; static inline constexpr int qt_metatype_id() { return 0x1000; } static constexpr NameAsArrayType nameAsArray = { "QFont" }; };  
 template<> struct QMetaTypeId2<QPixmap> { using NameAsArrayType = std::array<char, sizeof("QPixmap")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1001 }; static inline constexpr int qt_metatype_id() { return 0x1001; } static constexpr NameAsArrayType nameAsArray = { "QPixmap" }; };  
 template<> struct QMetaTypeId2<QBrush> { using NameAsArrayType = std::array<char, sizeof("QBrush")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1002 }; static inline constexpr int qt_metatype_id() { return 0x1002; } static constexpr NameAsArrayType nameAsArray = { "QBrush" }; };  
 template<> struct QMetaTypeId2<QColor> { using NameAsArrayType = std::array<char, sizeof("QColor")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1003 }; static inline constexpr int qt_metatype_id() { return 0x1003; } static constexpr NameAsArrayType nameAsArray = { "QColor" }; };  
 template<> struct QMetaTypeId2<QPalette> { using NameAsArrayType = std::array<char, sizeof("QPalette")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1004 }; static inline constexpr int qt_metatype_id() { return 0x1004; } static constexpr NameAsArrayType nameAsArray = { "QPalette" }; };  
 template<> struct QMetaTypeId2<QIcon> { using NameAsArrayType = std::array<char, sizeof("QIcon")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1005 }; static inline constexpr int qt_metatype_id() { return 0x1005; } static constexpr NameAsArrayType nameAsArray = { "QIcon" }; };  
 template<> struct QMetaTypeId2<QImage> { using NameAsArrayType = std::array<char, sizeof("QImage")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1006 }; static inline constexpr int qt_metatype_id() { return 0x1006; } static constexpr NameAsArrayType nameAsArray = { "QImage" }; };  
 template<> struct QMetaTypeId2<QPolygon> { using NameAsArrayType = std::array<char, sizeof("QPolygon")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1007 }; static inline constexpr int qt_metatype_id() { return 0x1007; } static constexpr NameAsArrayType nameAsArray = { "QPolygon" }; };  
 template<> struct QMetaTypeId2<QRegion> { using NameAsArrayType = std::array<char, sizeof("QRegion")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1008 }; static inline constexpr int qt_metatype_id() { return 0x1008; } static constexpr NameAsArrayType nameAsArray = { "QRegion" }; };  
 template<> struct QMetaTypeId2<QBitmap> { using NameAsArrayType = std::array<char, sizeof("QBitmap")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1009 }; static inline constexpr int qt_metatype_id() { return 0x1009; } static constexpr NameAsArrayType nameAsArray = { "QBitmap" }; };  
 template<> struct QMetaTypeId2<QCursor> { using NameAsArrayType = std::array<char, sizeof("QCursor")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x100a }; static inline constexpr int qt_metatype_id() { return 0x100a; } static constexpr NameAsArrayType nameAsArray = { "QCursor" }; }; QT_END_NAMESPACE  QT_BEGIN_NAMESPACE 
 template<> struct QMetaTypeId2<QPen> { using NameAsArrayType = std::array<char, sizeof("QPen")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x100c }; static inline constexpr int qt_metatype_id() { return 0x100c; } static constexpr NameAsArrayType nameAsArray = { "QPen" }; };  
 template<> struct QMetaTypeId2<QTextLength> { using NameAsArrayType = std::array<char, sizeof("QTextLength")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x100d }; static inline constexpr int qt_metatype_id() { return 0x100d; } static constexpr NameAsArrayType nameAsArray = { "QTextLength" }; };  
 template<> struct QMetaTypeId2<QTextFormat> { using NameAsArrayType = std::array<char, sizeof("QTextFormat")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x100e }; static inline constexpr int qt_metatype_id() { return 0x100e; } static constexpr NameAsArrayType nameAsArray = { "QTextFormat" }; };  
 template<> struct QMetaTypeId2<QTransform> { using NameAsArrayType = std::array<char, sizeof("QTransform")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1010 }; static inline constexpr int qt_metatype_id() { return 0x1010; } static constexpr NameAsArrayType nameAsArray = { "QTransform" }; };  
 template<> struct QMetaTypeId2<QMatrix4x4> { using NameAsArrayType = std::array<char, sizeof("QMatrix4x4")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1011 }; static inline constexpr int qt_metatype_id() { return 0x1011; } static constexpr NameAsArrayType nameAsArray = { "QMatrix4x4" }; };  
 template<> struct QMetaTypeId2<QVector2D> { using NameAsArrayType = std::array<char, sizeof("QVector2D")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1012 }; static inline constexpr int qt_metatype_id() { return 0x1012; } static constexpr NameAsArrayType nameAsArray = { "QVector2D" }; };  
 template<> struct QMetaTypeId2<QVector3D> { using NameAsArrayType = std::array<char, sizeof("QVector3D")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1013 }; static inline constexpr int qt_metatype_id() { return 0x1013; } static constexpr NameAsArrayType nameAsArray = { "QVector3D" }; };  
 template<> struct QMetaTypeId2<QVector4D> { using NameAsArrayType = std::array<char, sizeof("QVector4D")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1014 }; static inline constexpr int qt_metatype_id() { return 0x1014; } static constexpr NameAsArrayType nameAsArray = { "QVector4D" }; };  
 template<> struct QMetaTypeId2<QQuaternion> { using NameAsArrayType = std::array<char, sizeof("QQuaternion")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1015 }; static inline constexpr int qt_metatype_id() { return 0x1015; } static constexpr NameAsArrayType nameAsArray = { "QQuaternion" }; };  
 template<> struct QMetaTypeId2<QPolygonF> { using NameAsArrayType = std::array<char, sizeof("QPolygonF")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1016 }; static inline constexpr int qt_metatype_id() { return 0x1016; } static constexpr NameAsArrayType nameAsArray = { "QPolygonF" }; };  
 template<> struct QMetaTypeId2<QColorSpace> { using NameAsArrayType = std::array<char, sizeof("QColorSpace")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x1017 }; static inline constexpr int qt_metatype_id() { return 0x1017; } static constexpr NameAsArrayType nameAsArray = { "QColorSpace" }; };  
 template<> struct QMetaTypeId2<QSizePolicy> { using NameAsArrayType = std::array<char, sizeof("QSizePolicy")>; enum { Defined = 1, IsBuiltIn = true, MetaType = 0x2000 }; static inline constexpr int qt_metatype_id() { return 0x2000; } static constexpr NameAsArrayType nameAsArray = { "QSizePolicy" }; }; QT_END_NAMESPACE