From 11d49aedd87bcc522c0de0bbe3b5a44a7b3e3151 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 22 Dec 2019 18:29:12 +0100 Subject: [PATCH] AK: Add Vector::remove_all_matching() --- AK/Vector.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/AK/Vector.h b/AK/Vector.h index 2e3a13e69e..daf3cd0a55 100644 --- a/AK/Vector.h +++ b/AK/Vector.h @@ -360,6 +360,18 @@ public: } } + template + void remove_all_matching(Callback callback) + { + for (int i = 0; i < size();) { + if (callback(at(i))) { + remove(i); + } else { + ++i; + } + } + } + void unchecked_append(T&& value) { ASSERT((size() + 1) <= capacity()); @@ -535,6 +547,7 @@ public: } return -1; } + private: void reset_capacity() {