diff options
Diffstat (limited to 'src/corelib/tools/qlist.h')
-rw-r--r-- | src/corelib/tools/qlist.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/corelib/tools/qlist.h b/src/corelib/tools/qlist.h index 39c1c46f6e..6e0634ac3b 100644 --- a/src/corelib/tools/qlist.h +++ b/src/corelib/tools/qlist.h @@ -70,6 +70,9 @@ QT_BEGIN_NAMESPACE template <typename T> class QVector; template <typename T> class QSet; +template <typename T> struct QListSpecialMethods { }; +template <> struct QListSpecialMethods<QByteArray>; + struct Q_CORE_EXPORT QListData { struct Data { QtPrivate::RefCount ref; @@ -102,7 +105,7 @@ struct Q_CORE_EXPORT QListData { }; template <typename T> -class QList +class QList : public QListSpecialMethods<T> { struct Node { void *v; #if defined(Q_CC_BOR) @@ -745,7 +748,7 @@ Q_OUTOFLINE_TEMPLATE void QList<T>::detach_helper() template <typename T> Q_OUTOFLINE_TEMPLATE QList<T>::QList(const QList<T> &l) - : d(l.d) + : QListSpecialMethods<T>(l), d(l.d) { if (!d->ref.ref()) { p.detach(d->alloc); @@ -952,6 +955,8 @@ Q_DECLARE_MUTABLE_SEQUENTIAL_ITERATOR(List) QT_END_NAMESPACE +#include <QtCore/qbytearraylist.h> + #ifdef Q_CC_MSVC #pragma warning( pop ) #endif |