From d31b47b371b77f906c4c6d5759ed1a64aa8c5db1 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 16 Apr 2019 03:47:24 +0200 Subject: [PATCH] AK: Add Vector::prepend(). --- AK/Vector.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/AK/Vector.h b/AK/Vector.h index aa26b3b2dc..dc078fb886 100644 --- a/AK/Vector.h +++ b/AK/Vector.h @@ -222,6 +222,17 @@ public: ++m_impl->m_size; } + void prepend(const T& value) + { + ensure_capacity(size() + 1); + for (int i = size(); i > 0; --i) { + new (m_impl->slot(i)) T(move(at(i - 1))); + at(i - 1).~T(); + } + new (m_impl->slot(0)) T(value); + ++m_impl->m_size; + } + void append(const T* values, int count) { if (!count)