From 9663ccff77b9655b0d0cfc523bcdee08f3869d3a Mon Sep 17 00:00:00 2001 From: Karol Kosek Date: Mon, 21 Aug 2023 13:48:34 +0200 Subject: [PATCH] AK: Use Iterator's trait when comparing a value It's not needed, from what I can gather, but I changed it just for the correctness sake. --- AK/Find.h | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) 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(); } }