diff options
author | Stephen Kelly <stephen.kelly@kdab.com> | 2013-09-06 13:17:57 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-06 16:18:41 +0200 |
commit | 0771075f664e1a49e586357bc86c915042e440eb (patch) | |
tree | 67a81f277bd98facf4a34794d7c41fa086944a5c /src/corelib | |
parent | 15a17323ed2f2d19816ce3acc928b7bbb6b86eab (diff) |
Move the preprocessor iterator for Qt smart pointers with the others.
Use it to forward declare the types.
Change-Id: I48d9e32dcf02471d197a82502d96d60807d11d57
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/kernel/qmetatype.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h index 57a622ebe5..6b1a988fce 100644 --- a/src/corelib/kernel/qmetatype.h +++ b/src/corelib/kernel/qmetatype.h @@ -206,6 +206,11 @@ inline Q_DECL_CONSTEXPR int qMetaTypeId(); F(QMap, class) \ F(QPair, struct) +#define QT_FOR_EACH_AUTOMATIC_TEMPLATE_SMART_POINTER(F) \ + F(QSharedPointer) \ + F(QWeakPointer) \ + F(QPointer) + class QDataStream; class QMetaTypeInterface; struct QMetaObject; @@ -1234,9 +1239,11 @@ struct QPairVariantInterfaceConvertFunctor<std::pair<T, U> > class QObject; class QWidget; -template <class T> class QSharedPointer; -template <class T> class QWeakPointer; -template <class T> class QPointer; + +#define QT_FORWARD_DECLARE_SHARED_POINTER_TYPES_ITER(Name) \ + template <class T> class Name; \ + +QT_FOR_EACH_AUTOMATIC_TEMPLATE_SMART_POINTER(QT_FORWARD_DECLARE_SHARED_POINTER_TYPES_ITER) namespace QtPrivate { @@ -1844,11 +1851,6 @@ struct QMetaTypeId< SMART_POINTER<T> > \ };\ QT_END_NAMESPACE -#define QT_FOR_EACH_AUTOMATIC_TEMPLATE_SMART_POINTER(F) \ - F(QSharedPointer) \ - F(QWeakPointer) \ - F(QPointer) - #define Q_DECLARE_METATYPE_TEMPLATE_1ARG_ITER(TEMPLATENAME) \ QT_BEGIN_NAMESPACE \ template <class T> class TEMPLATENAME; \ |