diff --git a/AK/Find.h b/AK/Find.h index 7b99508669..b417c90a20 100644 --- a/AK/Find.h +++ b/AK/Find.h @@ -23,19 +23,17 @@ template TIterator, typena return last; } -template TIterator, typename T> -[[nodiscard]] constexpr TIterator find(TIterator first, TEndIterator last, T const& value) +template TIterator, typename V> +[[nodiscard]] constexpr TIterator find(TIterator first, TEndIterator last, V const& value) { - // FIXME: Use the iterator's trait type, and swap arguments in equals call. - return find_if(first, last, [&](auto const& v) { return Traits::equals(value, v); }); + return find_if(first, last, [&](T const& entry) { return Traits::equals(entry, value); }); } -template TIterator, typename T> -[[nodiscard]] constexpr size_t find_index(TIterator first, TEndIterator last, T const& value) +template TIterator, typename V> +[[nodiscard]] constexpr size_t find_index(TIterator first, TEndIterator last, V const& value) requires(requires(TIterator it) { it.index(); }) { - // FIXME: Use the iterator's trait type, and swap arguments in equals call. - return find_if(first, last, [&](auto const& v) { return Traits::equals(value, v); }).index(); + return find_if(first, last, [&](T const& entry) { return Traits::equals(entry, value); }).index(); } }