diff options
author | Marc Mutz <marc.mutz@qt.io> | 2023-01-09 09:36:04 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@qt.io> | 2023-01-12 19:54:12 +0100 |
commit | 7c5ff43ea322422f03f6b87768d825f2df6f1652 (patch) | |
tree | 2431b8f82d7e75de49cca13e082f13e553b43fc9 /src | |
parent | d9d74723cc4b369f41530aff5b500d93779d5e32 (diff) |
QVarLengthArray::resize_impl: don't default argument, overload
Separates the resize(n) and resize(n, v) code paths in preparation for
fixing QTBUG-109745.
Task-number: QTBUG-109745
Pick-to: 6.5 6.4
Change-Id: I49808ce4dc2f1de0de6af120990b2e00edb47728
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/tools/qvarlengtharray.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/corelib/tools/qvarlengtharray.h b/src/corelib/tools/qvarlengtharray.h index 54603bcec1..469fbda2aa 100644 --- a/src/corelib/tools/qvarlengtharray.h +++ b/src/corelib/tools/qvarlengtharray.h @@ -207,8 +207,14 @@ protected: void append_impl(qsizetype prealloc, void *array, const T *buf, qsizetype n); void reallocate_impl(qsizetype prealloc, void *array, qsizetype size, qsizetype alloc, const T *v = nullptr); - void resize_impl(qsizetype prealloc, void *array, qsizetype sz, const T *v = nullptr) - { reallocate_impl(prealloc, array, sz, qMax(sz, capacity()), v); } + void resize_impl(qsizetype prealloc, void *array, qsizetype sz, const T &v) + { + reallocate_impl(prealloc, array, sz, qMax(sz, capacity()), &v); + } + void resize_impl(qsizetype prealloc, void *array, qsizetype sz) + { + reallocate_impl(prealloc, array, sz, qMax(sz, capacity())); + } bool isValidIterator(const const_iterator &i) const { @@ -378,7 +384,7 @@ public: template <typename U = T, if_copyable<U> = true> #endif void resize(qsizetype sz, const T &v) - { Base::resize_impl(Prealloc, this->array, sz, &v); } + { Base::resize_impl(Prealloc, this->array, sz, v); } inline void clear() { resize(0); } void squeeze() { reallocate(size(), size()); } |