summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
diff options
context:
space:
mode:
authorStephen Kelly <stephen.kelly@kdab.com>2013-09-06 13:17:57 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-06 16:18:41 +0200
commit0771075f664e1a49e586357bc86c915042e440eb (patch)
tree67a81f277bd98facf4a34794d7c41fa086944a5c /src/corelib/kernel
parent15a17323ed2f2d19816ce3acc928b7bbb6b86eab (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/kernel')
-rw-r--r--src/corelib/kernel/qmetatype.h18
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; \