diff --git a/src/corelib/tools/qarraydataops.h b/src/corelib/tools/qarraydataops.h index 40859134043..c20abd12c23 100644 --- a/src/corelib/tools/qarraydataops.h +++ b/src/corelib/tools/qarraydataops.h @@ -640,8 +640,8 @@ public: const qsizetype nInserts = 0; const size_t bytes; - void verifyPost(T *where) - { Q_ASSERT(where == displaceTo); } + void verifyPost() + { Q_ASSERT(displaceFrom == displaceTo); } explicit Inserter(QArrayDataPointer *d, qsizetype pos, qsizetype n) : data{d}, @@ -666,35 +666,28 @@ public: void insertRange(const T *source, qsizetype n) { - T *where = displaceFrom; - while (n--) { - new (where) T(*source); - ++where; + new (displaceFrom) T(*source); ++source; ++displaceFrom; } - verifyPost(where); + verifyPost(); } void insertFill(const T &t, qsizetype n) { - T *where = displaceFrom; - while (n--) { - new (where) T(t); - ++where; + new (displaceFrom) T(t); ++displaceFrom; } - verifyPost(where); + verifyPost(); } void insertOne(T &&t) { - T *where = displaceFrom; - new (where) T(std::move(t)); + new (displaceFrom) T(std::move(t)); ++displaceFrom; - verifyPost(++where); + verifyPost(); } };