diff options
Diffstat (limited to 'src/corelib/tools/qvector.h')
-rw-r--r-- | src/corelib/tools/qvector.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h index 74c37faad0..3a3d416775 100644 --- a/src/corelib/tools/qvector.h +++ b/src/corelib/tools/qvector.h @@ -147,8 +147,8 @@ public: void remove(int i, int n); inline void removeFirst() { Q_ASSERT(!isEmpty()); erase(d->begin()); } inline void removeLast(); - inline T takeFirst() { Q_ASSERT(!isEmpty()); T r = first(); removeFirst(); return r; } - inline T takeLast() { Q_ASSERT(!isEmpty()); T r = last(); removeLast(); return r; } + T takeFirst() { Q_ASSERT(!isEmpty()); T r = std::move(first()); removeFirst(); return r; } + T takeLast() { Q_ASSERT(!isEmpty()); T r = std::move(last()); removeLast(); return r; } QVector<T> &fill(const T &t, int size = -1); @@ -181,7 +181,7 @@ public: return true; } int length() const { return size(); } - T takeAt(int i) { T t = at(i); remove(i); return t; } + T takeAt(int i) { T t = std::move((*this)[i]); remove(i); return t; } void move(int from, int to) { Q_ASSERT_X(from >= 0 && from < size(), "QVector::move(int,int)", "'from' is out-of-range"); @@ -269,6 +269,7 @@ public: inline const_reference front() const { return first(); } inline reference back() { return last(); } inline const_reference back() const { return last(); } + void shrink_to_fit() { squeeze(); } // comfort QVector<T> &operator+=(const QVector<T> &l); @@ -1004,6 +1005,8 @@ Q_TEMPLATE_EXTERN template class Q_CORE_EXPORT QVector<QPointF>; Q_TEMPLATE_EXTERN template class Q_CORE_EXPORT QVector<QPoint>; #endif +QVector<uint> QStringView::toUcs4() const { return QtPrivate::convertToUcs4(*this); } + QT_END_NAMESPACE #endif // QVECTOR_H |