From 44798f44ef1c112aa9dbee7abee7ff6a5568c4f4 Mon Sep 17 00:00:00 2001 From: Ali Mohammad Pur Date: Tue, 10 Dec 2024 23:33:38 +0100 Subject: [PATCH] AK: Add Vector::get(index) convenience function This is similar to HashMap::get(key), which returns an Optional, empty if the index is out of bounds for the vector. --- AK/Vector.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/AK/Vector.h b/AK/Vector.h index 41ac977fa13..16d83d6c4fa 100644 --- a/AK/Vector.h +++ b/AK/Vector.h @@ -155,6 +155,20 @@ public: ALWAYS_INLINE VisibleType const& operator[](size_t i) const { return at(i); } ALWAYS_INLINE VisibleType& operator[](size_t i) { return at(i); } + Optional get(size_t i) + { + if (i >= size()) + return {}; + return at(i); + } + + Optional get(size_t i) const + { + if (i >= size()) + return {}; + return at(i); + } + VisibleType const& first() const { return at(0); } VisibleType& first() { return at(0); }