From caa0111c7937393b612237e2787477b2e119badb Mon Sep 17 00:00:00 2001 From: Bananymous Date: Tue, 11 Jun 2024 00:05:11 +0300 Subject: [PATCH] BAN: Implement back() for CircularQueue --- BAN/include/BAN/CircularQueue.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/BAN/include/BAN/CircularQueue.h b/BAN/include/BAN/CircularQueue.h index 4638b8a5..57a84b43 100644 --- a/BAN/include/BAN/CircularQueue.h +++ b/BAN/include/BAN/CircularQueue.h @@ -31,6 +31,9 @@ namespace BAN const T& front() const; T& front(); + const T& back() const; + T& back(); + size_type size() const { return m_size; } bool empty() const { return size() == 0; } bool full() const { return size() == capacity(); } @@ -98,6 +101,20 @@ namespace BAN return *element_at(m_first); } + template + const T& CircularQueue::back() const + { + ASSERT(!empty()); + return *element_at((m_first + m_size - 1) % capacity()); + } + + template + T& CircularQueue::back() + { + ASSERT(!empty()); + return *element_at((m_first + m_size - 1) % capacity()); + } + template const T* CircularQueue::element_at(size_type index) const {