diff options
author | Stephen Kelly <stephen.kelly@kdab.com> | 2012-01-24 23:27:34 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-26 13:15:47 +0100 |
commit | 61e8487e8e922f82811cda67550a0aa3905761bc (patch) | |
tree | 4d0e50581a9d95adfee11cdaabeffb25bf60cd62 /src/corelib/global/qglobal.h | |
parent | 6b4f8a68c8da1af7c5be7dc6075b688c9d6ca55f (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.h | 25 |
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: |