From 6a8695e7592177b9c952d9db3dfdeccb2a4dd973 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 7 Nov 2019 10:35:13 +0100 Subject: [PATCH] AK: Add Vector::prepend(T&&) --- AK/Vector.h | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/AK/Vector.h b/AK/Vector.h index 22d1692afb..76c96d05b8 100644 --- a/AK/Vector.h +++ b/AK/Vector.h @@ -385,15 +385,14 @@ public: append(T(value)); } + void prepend(T&& value) + { + insert(0, move(value)); + } + void prepend(const T& value) { - grow_capacity(size() + 1); - for (int i = size(); i > 0; --i) { - new (slot(i)) T(move(at(i - 1))); - at(i - 1).~T(); - } - new (slot(0)) T(value); - ++m_size; + insert(0, value); } void prepend(Vector&& other)