diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2019-02-10 18:43:05 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2019-06-10 05:12:08 +0000 |
commit | b3c52e82245f46af9ce633a6de1e4e41fb9f3f6d (patch) | |
tree | 1a7c249f53ae82408b940608eca88f2677c14223 | |
parent | b16fab1b636c94cb1fd723f46a1714e010a4dc54 (diff) |
Simplify {to,from}Std{List,Vector}
Use the newly-added range constructors.
Change-Id: I7f1d2699d88656fb7dddd11a9d781d810d45b0b4
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
-rw-r--r-- | src/corelib/tools/qlist.h | 15 | ||||
-rw-r--r-- | src/corelib/tools/qvector.h | 2 |
2 files changed, 5 insertions, 12 deletions
diff --git a/src/corelib/tools/qlist.h b/src/corelib/tools/qlist.h index 04c1f12f5f..70bbc11ad2 100644 --- a/src/corelib/tools/qlist.h +++ b/src/corelib/tools/qlist.h @@ -414,10 +414,10 @@ public: Q_DECL_DEPRECATED_X("Use QList<T>(list.begin(), list.end()) instead.") static inline QList<T> fromStdList(const std::list<T> &list) - { QList<T> tmp; std::copy(list.begin(), list.end(), std::back_inserter(tmp)); return tmp; } + { return QList<T>(list.begin(), list.end()); } Q_DECL_DEPRECATED_X("Use std::list<T>(list.begin(), list.end()) instead.") inline std::list<T> toStdList() const - { std::list<T> tmp; std::copy(constBegin(), constEnd(), std::back_inserter(tmp)); return tmp; } + { return std::list<T>(begin(), end()); } #endif private: @@ -1105,10 +1105,7 @@ inline int QList<T>::count_impl(const T &t, QListData::ArrayCompatibleLayout) co template <typename T> Q_OUTOFLINE_TEMPLATE QVector<T> QList<T>::toVector() const { - QVector<T> result(size()); - for (int i = 0; i < size(); ++i) - result[i] = at(i); - return result; + return QVector<T>(begin(), end()); } template <typename T> @@ -1120,11 +1117,7 @@ QList<T> QList<T>::fromVector(const QVector<T> &vector) template <typename T> Q_OUTOFLINE_TEMPLATE QList<T> QVector<T>::toList() const { - QList<T> result; - result.reserve(size()); - for (int i = 0; i < size(); ++i) - result.append(at(i)); - return result; + return QList<T>(begin(), end()); } template <typename T> diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h index c223e4efa0..5d68a283bd 100644 --- a/src/corelib/tools/qvector.h +++ b/src/corelib/tools/qvector.h @@ -303,7 +303,7 @@ public: #if QT_VERSION < QT_VERSION_CHECK(6,0,0) Q_DECL_DEPRECATED_X("Use QVector<T>(vector.begin(), vector.end()) instead.") static inline QVector<T> fromStdVector(const std::vector<T> &vector) - { QVector<T> tmp; tmp.reserve(int(vector.size())); std::copy(vector.begin(), vector.end(), std::back_inserter(tmp)); return tmp; } + { return QVector<T>(vector.begin(), vector.end()); } Q_DECL_DEPRECATED_X("Use std::vector<T>(vector.begin(), vector.end()) instead.") inline std::vector<T> toStdVector() const { return std::vector<T>(d->begin(), d->end()); } |