From 0a382e78b6cbc77156d78df4e7b0c2854cbb0cd1 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Tue, 9 Jan 2024 20:24:26 -0500 Subject: DynArray - allow passing a value through --- src/dynamic-array.hpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/dynamic-array.hpp') diff --git a/src/dynamic-array.hpp b/src/dynamic-array.hpp index 039dcd0..4003b63 100644 --- a/src/dynamic-array.hpp +++ b/src/dynamic-array.hpp @@ -32,7 +32,8 @@ struct DynArray: DynArrayBase { T *GetPtr(); const int64_t Count(); bool Has(const T &val); - int64_t FindFirstIndex(bool fn(const T&)); + template + int64_t FindFirstIndex(bool fn(const T&, const T2&), const T2 &val); T& Push(); void Push(const T &val); T Pop(); @@ -136,9 +137,11 @@ template inline bool DynArray::Has(const T &val) { return false; } -template inline int64_t DynArray::FindFirstIndex(bool Fn(const T&)) { +template +template +inline int64_t DynArray::FindFirstIndex(bool Fn(const T&, const T2&), const T2 &val) { for (long i = 0; i < this->elementCount; ++i) { - if (Fn(*this)[i]) return i; + if (Fn((*this)[i], val)) return i; } return -1; } -- cgit v1.2.3