diff options
Diffstat (limited to 'src/corelib/tools/qstringlist.h')
-rw-r--r-- | src/corelib/tools/qstringlist.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/corelib/tools/qstringlist.h b/src/corelib/tools/qstringlist.h index a962b7c528..7f06be3ca0 100644 --- a/src/corelib/tools/qstringlist.h +++ b/src/corelib/tools/qstringlist.h @@ -63,12 +63,21 @@ class QStringList : public QList<QString> public: inline QStringList() { } inline explicit QStringList(const QString &i) { append(i); } - inline QStringList(const QStringList &l) : QList<QString>(l) { } inline QStringList(const QList<QString> &l) : QList<QString>(l) { } +#ifdef Q_COMPILER_RVALUE_REFS + inline QStringList(QList<QString> &&l) : QList<QString>(std::move(l)) { } +#endif #ifdef Q_COMPILER_INITIALIZER_LISTS inline QStringList(std::initializer_list<QString> args) : QList<QString>(args) { } #endif + QStringList &operator=(const QList<QString> &other) + { QList<QString>::operator=(other); return *this; } +#ifdef Q_COMPILER_RVALUE_REFS + QStringList &operator=(QList<QString> &&other) + { QList<QString>::operator=(std::move(other)); return *this; } +#endif + inline void sort(Qt::CaseSensitivity cs = Qt::CaseSensitive); inline int removeDuplicates(); @@ -86,6 +95,8 @@ public: { append(str); return *this; } inline QStringList &operator<<(const QStringList &l) { *this += l; return *this; } + inline QStringList &operator<<(const QList<QString> &l) + { *this += l; return *this; } #ifndef QT_NO_REGEXP inline QStringList filter(const QRegExp &rx) const; |