summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qmetatype_p.h
diff options
context:
space:
mode:
authorJędrzej Nowacki <jedrzej.nowacki@nokia.com>2011-12-13 12:07:47 +0100
committerQt by Nokia <qt-info@nokia.com>2011-12-22 13:20:40 +0100
commit56f154c747a6623fc8249265262160ac0adbe4cd (patch)
tree5b3a86073db010820b745d0ca8a9284997a71e7b /src/corelib/kernel/qmetatype_p.h
parentd868c9945a188d6ad22e0b7d6d24ac7fca00ab4e (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.h6
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