ftl: contains
ftl::contains(container, value) returns true if the container contains
the value. It's implemented in terms of std::find(), so has the same
runtime complexity.
It is otherwise a simplified version of the C++23 std::ranges::contains,
which has some additional options, and can be deprecated once C++23 is
the minimal supported version.
Test: atest ftl_test
Bug: 185536303
Change-Id: I98aefe7cf6645ac3a20fddfe0657fa6822d669de
diff --git a/libs/ftl/algorithm_test.cpp b/libs/ftl/algorithm_test.cpp
index 487b1b8..11569f2 100644
--- a/libs/ftl/algorithm_test.cpp
+++ b/libs/ftl/algorithm_test.cpp
@@ -24,6 +24,17 @@
namespace android::test {
// Keep in sync with example usage in header file.
+TEST(Algorithm, Contains) {
+ const ftl::StaticVector vector = {1, 2, 3};
+ EXPECT_TRUE(ftl::contains(vector, 1));
+
+ EXPECT_FALSE(ftl::contains(vector, 0));
+ EXPECT_TRUE(ftl::contains(vector, 2));
+ EXPECT_TRUE(ftl::contains(vector, 3));
+ EXPECT_FALSE(ftl::contains(vector, 4));
+}
+
+// Keep in sync with example usage in header file.
TEST(Algorithm, FindIf) {
using namespace std::string_view_literals;