diff --git a/AK/Vector.h b/AK/Vector.h index 4031f6ec5b..e0fce22193 100644 --- a/AK/Vector.h +++ b/AK/Vector.h @@ -729,6 +729,18 @@ public: MUST(try_resize_and_keep_capacity(new_size)); } + void shrink_to_fit() + { + if (size() == capacity()) + return; + Vector new_vector; + new_vector.ensure_capacity(size()); + for (auto& element : *this) { + new_vector.unchecked_append(move(element)); + } + *this = move(new_vector); + } + using ConstIterator = SimpleIterator; using Iterator = SimpleIterator; using ReverseIterator = SimpleReverseIterator;