diff options
author | Jędrzej Nowacki <jedrzej.nowacki@nokia.com> | 2012-03-13 14:15:53 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-14 09:45:07 +0100 |
commit | 22494ea8e82d5d5588e67e8067f0273687ed9098 (patch) | |
tree | f0b7a4f6d498ba8e109677756183ff371f5f9171 /src/corelib/kernel/qmetatype.cpp | |
parent | e92ceba13d751c151604726c3fa67ff4c918629f (diff) |
Unify QMetaType::TypeFlags detection.
Duplicated code was removed. As an side effect:
- one runtime flag check was replaced by a compile time check.
- is enum flag can be used together with built-in types.
Change-Id: I54173e7b07ce7e487d3cc21ba24dcccd28b5d049
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib/kernel/qmetatype.cpp')
-rw-r--r-- | src/corelib/kernel/qmetatype.cpp | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp index 5032cf9590..98f53f7dd1 100644 --- a/src/corelib/kernel/qmetatype.cpp +++ b/src/corelib/kernel/qmetatype.cpp @@ -1578,13 +1578,9 @@ class Flags template<typename T, bool IsAcceptedType = DefinedTypesFilter::Acceptor<T>::IsAccepted> struct FlagsImpl { - static quint32 Flags(const int type) + static quint32 Flags(const int /* type */) { - return (!QTypeInfo<T>::isStatic * QMetaType::MovableType) - | (QTypeInfo<T>::isComplex * QMetaType::NeedsConstruction) - | (QTypeInfo<T>::isComplex * QMetaType::NeedsDestruction) - | (type == QMetaType::QObjectStar ? QMetaType::PointerToQObject : 0) - | (type == QMetaType::QWidgetStar ? QMetaType::PointerToQObject : 0); + return QtPrivate::QMetaTypeTypeFlags<T>::Flags; } }; template<typename T> |