diff options
author | Jędrzej Nowacki <jedrzej.nowacki@nokia.com> | 2012-01-06 12:13:49 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-10 01:25:59 +0100 |
commit | 64a735eed688e4dbf52aa3caf4caea53c4c211ec (patch) | |
tree | 41894d65235621aa1b20c45ccb7aabbd956d2de2 | |
parent | 3d7ce0e96a12b1138308c8519e442caf56f1dbe9 (diff) |
Small QMetaType optimization.
Prefer compile time check over a runtime.
Change-Id: Ib78563083c765d1fd72217c5aa529d0cbb951130
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
-rw-r--r-- | src/corelib/kernel/qmetatype.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp index c5e3d21c6d..7132a099a2 100644 --- a/src/corelib/kernel/qmetatype.cpp +++ b/src/corelib/kernel/qmetatype.cpp @@ -1434,12 +1434,12 @@ class TypeConstructor { static void *Construct(const int type, void *where, const T *copy) { QMetaType::Constructor ctor = 0; - if (type >= QMetaType::FirstGuiType && type <= QMetaType::LastGuiType) { + if (QTypeModuleInfo<T>::IsGui) { Q_ASSERT(qMetaTypeGuiHelper); if (!qMetaTypeGuiHelper) return 0; ctor = qMetaTypeGuiHelper[type - QMetaType::FirstGuiType].constructor; - } else if (type >= QMetaType::FirstWidgetsType && type <= QMetaType::LastWidgetsType) { + } else if (QTypeModuleInfo<T>::IsWidget) { Q_ASSERT(qMetaTypeWidgetsHelper); if (!qMetaTypeWidgetsHelper) return 0; @@ -1526,12 +1526,12 @@ class TypeDestructor { static void Destruct(const int type, void *where) { QMetaType::Destructor dtor = 0; - if (type >= QMetaType::FirstGuiType && type <= QMetaType::LastGuiType) { + if (QTypeModuleInfo<T>::IsGui) { Q_ASSERT(qMetaTypeGuiHelper); if (!qMetaTypeGuiHelper) return; dtor = qMetaTypeGuiHelper[type - QMetaType::FirstGuiType].destructor; - } else if (type >= QMetaType::FirstWidgetsType && type <= QMetaType::LastWidgetsType) { + } else if (QTypeModuleInfo<T>::IsWidget) { Q_ASSERT(qMetaTypeWidgetsHelper); if (!qMetaTypeWidgetsHelper) return; @@ -1600,12 +1600,12 @@ class SizeOf { struct SizeOfImpl<T, /* IsAcceptedType = */ false> { static int Size(const int type) { - if (type >= QMetaType::FirstGuiType && type <= QMetaType::LastGuiType) { + if (QTypeModuleInfo<T>::IsGui) { Q_ASSERT(qMetaTypeGuiHelper); if (!qMetaTypeGuiHelper) return 0; return qMetaTypeGuiHelper[type - QMetaType::FirstGuiType].size; - } else if (type >= QMetaType::FirstWidgetsType && type <= QMetaType::LastWidgetsType) { + } else if (QTypeModuleInfo<T>::IsWidget) { Q_ASSERT(qMetaTypeWidgetsHelper); if (!qMetaTypeWidgetsHelper) return 0; |