QVLA: separate control from inline storage [7/N]: erase{,_if}()

Implement erase()/erase_if() using removeAll()/removeIf()

These functions are now on QVLABase, so we no longer instantiate a
different sequential_erase{,_if}() per Prealloc.

Task-number: QTBUG-84785
Change-Id: I339759bc02b0e3104f7d1273ce6d5e09b493610c
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
bb10
Marc Mutz 2021-12-08 13:31:42 +01:00
parent 4af6ba40c2
commit d666e7a779
1 changed files with 2 additions and 2 deletions

View File

@ -924,13 +924,13 @@ size_t qHash(const QVarLengthArray<T, Prealloc> &key, size_t seed = 0)
template <typename T, qsizetype Prealloc, typename AT>
qsizetype erase(QVarLengthArray<T, Prealloc> &array, const AT &t)
{
return QtPrivate::sequential_erase(array, t);
return array.removeAll(t);
}
template <typename T, qsizetype Prealloc, typename Predicate>
qsizetype erase_if(QVarLengthArray<T, Prealloc> &array, Predicate pred)
{
return QtPrivate::sequential_erase_if(array, pred);
return array.removeIf(pred);
}
QT_END_NAMESPACE