#pragma once #include #include #include namespace AK { template class CircularDeque : public CircularQueue { public: T dequeue_end() { ASSERT(!this->is_empty()); T value = this->m_elements[(this->m_head + this->m_size - 1) % Capacity]; this->m_size--; return value; } }; } using AK::CircularDeque;