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() {