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>
This commit is contained in:
parent
d9d74723cc
commit
7c5ff43ea3
@ -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()); }
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user