diff options
author | Jędrzej Nowacki <jedrzej.nowacki@nokia.com> | 2011-12-13 12:07:47 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-12-22 13:20:40 +0100 |
commit | 56f154c747a6623fc8249265262160ac0adbe4cd (patch) | |
tree | 5b3a86073db010820b745d0ca8a9284997a71e7b /src/corelib/kernel/qmetatype_p.h | |
parent | d868c9945a188d6ad22e0b7d6d24ac7fca00ab4e (diff) |
Allow QMetaType to register information about movability
We need that information to perform some optimizations in QVariant.
Change-Id: Id9a1716e49e4cedd17cd09a32fea4ff003ef61f2
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Diffstat (limited to 'src/corelib/kernel/qmetatype_p.h')
-rw-r--r-- | src/corelib/kernel/qmetatype_p.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/corelib/kernel/qmetatype_p.h b/src/corelib/kernel/qmetatype_p.h index 448c6ded13..46c5697678 100644 --- a/src/corelib/kernel/qmetatype_p.h +++ b/src/corelib/kernel/qmetatype_p.h @@ -150,6 +150,7 @@ public: QMetaType::Constructor constructor; QMetaType::Destructor destructor; int size; + quint32 flags; // same as QMetaType::TypeFlags }; #ifndef QT_NO_DATASTREAM @@ -167,7 +168,10 @@ public: QT_METATYPE_INTERFACE_INIT_DATASTREAM_IMPL(Type) \ /*constructor*/(reinterpret_cast<QMetaType::Constructor>(QMetaTypeInterface::Impl<Type>::constructor)), \ /*destructor*/(reinterpret_cast<QMetaType::Destructor>(QMetaTypeInterface::Impl<Type>::destructor)), \ - /*size*/(sizeof(Type)) \ + /*size*/(sizeof(Type)), \ + /*flags*/(!QTypeInfo<Type>::isStatic * QMetaType::MovableType) \ + | (QTypeInfo<Type>::isComplex * QMetaType::NeedsConstruction) \ + | (QTypeInfo<Type>::isComplex * QMetaType::NeedsDestruction) \ } QT_END_NAMESPACE |