From a527dd1b773f14df140d3ac6a167339d7dc39e33 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Sat, 23 Dec 2023 11:33:55 -0500 Subject: FindFirstIndex for DynArray and PkeArray --- src/dynamic-array.hpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/dynamic-array.hpp') diff --git a/src/dynamic-array.hpp b/src/dynamic-array.hpp index 876f71d..bcc0d43 100644 --- a/src/dynamic-array.hpp +++ b/src/dynamic-array.hpp @@ -32,6 +32,7 @@ struct DynArray: DynArrayBase { T *GetPtr(); const int64_t Count(); bool Has(const T &val); + int64_t FindFirstIndex(bool fn(const T&)); T& Push(); void Push(const T &val); T Pop(); @@ -135,6 +136,13 @@ template inline bool DynArray::Has(const T &val) { return false; } +template inline int64_t DynArray::FindFirstIndex(bool Fn(const T&)) { + for (long i = 0; i < this->elementCount; ++i) { + if (Fn(*this)[i]) return i; + } + return -1; +} + template inline T &DynArray::Push() { if (this->elementCount + 1 > this->reservedCount) { auto safeReserveCount = this->reservedCount < 2 ? 2 : this->reservedCount; -- cgit v1.2.3