From b42469efd7db43683e1c42ca9bdc40097f8d4d23 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Tue, 13 Dec 2022 15:08:12 +0200 Subject: [PATCH] BAN: Vector now has Back() and Front() helpers --- BAN/include/BAN/Vector.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/BAN/include/BAN/Vector.h b/BAN/include/BAN/Vector.h index 333ca10a..496bb9d3 100644 --- a/BAN/include/BAN/Vector.h +++ b/BAN/include/BAN/Vector.h @@ -30,6 +30,11 @@ namespace BAN const T& operator[](size_type) const; T& operator[](size_type); + const T& Back() const; + T& Back(); + const T& Front() const; + T& Front(); + ErrorOr Resize(size_type); ErrorOr Reserve(size_type); @@ -105,6 +110,33 @@ namespace BAN return m_data[index]; } + template + const T& Vector::Back() const + { + assert(m_size > 0); + return m_data[m_size - 1]; + } + + template + T& Vector::Back() + { + assert(m_size > 0); + return m_data[m_size - 1]; + } + + template + const T& Vector::Front() const + { + assert(m_size > 0); + return m_data[0]; + } + template + T& Vector::Front() + { + assert(m_size > 0); + return m_data[0]; + } + template ErrorOr Vector::Resize(size_type size) {