summaryrefslogtreecommitdiffstats
path: root/src/corelib/global/qglobal.h
diff options
context:
space:
mode:
authorStephen Kelly <stephen.kelly@kdab.com>2012-01-24 23:27:34 +0100
committerQt by Nokia <qt-info@nokia.com>2012-01-26 13:15:47 +0100
commit61e8487e8e922f82811cda67550a0aa3905761bc (patch)
tree4d0e50581a9d95adfee11cdaabeffb25bf60cd62 /src/corelib/global/qglobal.h
parent6b4f8a68c8da1af7c5be7dc6075b688c9d6ca55f (diff)
Mark the single argument containers as movable.
Change-Id: I1557b9f3c2d3ad805e1ab7bf4d49973f08664a79 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Diffstat (limited to 'src/corelib/global/qglobal.h')
-rw-r--r--src/corelib/global/qglobal.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index 72d384e464..43632cb41c 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -2050,6 +2050,31 @@ public:
};
};
+
+#define Q_DECLARE_MOVABLE_CONTAINER(CONTAINER) \
+template <typename T> class CONTAINER; \
+template <typename T> \
+class QTypeInfo< CONTAINER<T> > \
+{ \
+public: \
+ enum { \
+ isPointer = false, \
+ isComplex = true, \
+ isStatic = false, \
+ isLarge = (sizeof(CONTAINER<T>) > sizeof(void*)), \
+ isDummy = false \
+ }; \
+};
+
+Q_DECLARE_MOVABLE_CONTAINER(QList)
+Q_DECLARE_MOVABLE_CONTAINER(QVector)
+Q_DECLARE_MOVABLE_CONTAINER(QQueue)
+Q_DECLARE_MOVABLE_CONTAINER(QStack)
+Q_DECLARE_MOVABLE_CONTAINER(QLinkedList)
+Q_DECLARE_MOVABLE_CONTAINER(QSet)
+
+#undef Q_DECLARE_MOVABLE_CONTAINER
+
/*
Specialize a specific type with: