From 4dee5446bee9c7417bf6f5dc44294a0b7238a9ba Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Mon, 5 Mar 2018 20:37:42 +0100 Subject: Add missing rvalue overloads of operator+=() and operator<<() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit They were forgotten when the overloads for append()/push_back() were added in Qt 5.6 [ChangeLog][QtCore][QVarLengthArray] Added missing rvalue overload of operator+=() and operator<<() [ChangeLog][QtCore][QVector] Added missing rvalue overload of operator+=() and operator<<() Change-Id: I20fedfba2bf282773bd1f9cf2c8ec06f05896a7d Reviewed-by: Martin Smith Reviewed-by: MÃ¥rten Nordheim --- src/corelib/tools/qvarlengtharray.h | 4 ++++ src/corelib/tools/qvarlengtharray.qdoc | 16 ++++++++++++++++ src/corelib/tools/qvector.h | 4 ++++ src/corelib/tools/qvector.qdoc | 17 +++++++++++++++++ 4 files changed, 41 insertions(+) (limited to 'src') diff --git a/src/corelib/tools/qvarlengtharray.h b/src/corelib/tools/qvarlengtharray.h index d0088471c7..bc22ea26f6 100644 --- a/src/corelib/tools/qvarlengtharray.h +++ b/src/corelib/tools/qvarlengtharray.h @@ -175,8 +175,12 @@ public: void append(const T *buf, int size); inline QVarLengthArray &operator<<(const T &t) { append(t); return *this; } + inline QVarLengthArray &operator<<(T &&t) + { append(t); return *this; } inline QVarLengthArray &operator+=(const T &t) { append(t); return *this; } + inline QVarLengthArray &operator+=(T &&t) + { append(t); return *this; } void prepend(T &&t); void prepend(const T &t); diff --git a/src/corelib/tools/qvarlengtharray.qdoc b/src/corelib/tools/qvarlengtharray.qdoc index 336f2afaca..bc8df82517 100644 --- a/src/corelib/tools/qvarlengtharray.qdoc +++ b/src/corelib/tools/qvarlengtharray.qdoc @@ -832,6 +832,14 @@ \sa append(), operator+=() */ +/*! \fn template QVarLengthArray &QVarLengthArray::operator<<(T &&value) + \since 5.11 + + \overload + + \sa append(), operator+=() +*/ + /*! \fn template QVarLengthArray &QVarLengthArray::operator+=(const T &value) \since 4.8 @@ -840,6 +848,14 @@ \sa append(), operator<<() */ +/*! \fn template QVarLengthArray &QVarLengthArray::operator+=(T &&value) + \since 5.11 + + \overload + + \sa append(), operator<<() +*/ + /*! \fn template int QVarLengthArray::indexOf(const T &value, int from = 0) const \since 5.3 diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h index a01d5c8f3c..e4c7fd06d8 100644 --- a/src/corelib/tools/qvector.h +++ b/src/corelib/tools/qvector.h @@ -283,6 +283,10 @@ public: { append(t); return *this; } inline QVector &operator<<(const QVector &l) { *this += l; return *this; } + inline QVector &operator+=(T &&t) + { append(t); return *this; } + inline QVector &operator<<(T &&t) + { append(t); return *this; } QList toList() const; diff --git a/src/corelib/tools/qvector.qdoc b/src/corelib/tools/qvector.qdoc index cc250b72a5..9a08b030f7 100644 --- a/src/corelib/tools/qvector.qdoc +++ b/src/corelib/tools/qvector.qdoc @@ -1162,6 +1162,14 @@ \sa append(), operator<<() */ +/*! \fn template void QVector::operator+=(T &&value) + \since 5.11 + + \overload + + \sa append(), operator<<() +*/ + /*! \fn template QVector QVector::operator+(const QVector &other) const Returns a vector that contains all the items in this vector @@ -1178,6 +1186,15 @@ \sa append(), operator+=() */ +/*! \fn template QVector &QVector::operator<<(T &&value) + \since 5.11 + + \overload + + \sa append(), operator+=() +*/ + + /*! \fn template QVector &QVector::operator<<(const QVector &other) Appends \a other to the vector and returns a reference to the -- cgit v1.2.3