From c6752c5aa19c4aa7ef2193878063f44d979b1cf6 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Mon, 18 Aug 2014 20:30:55 +0200 Subject: Prepare QVector::operator==() for sharing with QList::operator==() ...by implementing it via std::equal(). This might also enable STL implementations to choose a hand-optimized version of the algorithm for C++ builtin types. Change-Id: I1347a7f365b3d2947f19a81b95aa8d89b8ad303d Reviewed-by: Olivier Goffart --- src/corelib/tools/qvector.h | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src/corelib/tools/qvector.h') diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h index ab48ae5ea3..bfc7f2380f 100644 --- a/src/corelib/tools/qvector.h +++ b/src/corelib/tools/qvector.h @@ -707,13 +707,10 @@ bool QVector::operator==(const QVector &v) const return true; if (d->size != v.d->size) return false; - T* e = d->end(); - T* i = d->begin(); - T* vi = v.d->begin(); - for (; i != e; ++i, ++vi) - if (!(*i == *vi)) - return false; - return true; + const T *vb = v.d->begin(); + const T *b = d->begin(); + const T *e = d->end(); + return std::equal(b, e, vb); } template -- cgit v1.2.3