diff --git a/AK/CircularQueue.h b/AK/CircularQueue.h index 8ef276bb372..a7f03f038c0 100644 --- a/AK/CircularQueue.h +++ b/AK/CircularQueue.h @@ -60,24 +60,20 @@ public: size_t capacity() const { return Capacity; } - void enqueue(T&& value) + template + void enqueue(U&& value) { auto& slot = elements()[(m_head + m_size) % Capacity]; if (m_size == Capacity) slot.~T(); - new (&slot) T(move(value)); + new (&slot) T(forward(value)); if (m_size == Capacity) m_head = (m_head + 1) % Capacity; else ++m_size; } - void enqueue(const T& value) - { - enqueue(T(value)); - } - T dequeue() { ASSERT(!is_empty());