diff --git a/test/tuple_algorithms.cpp b/test/tuple_algorithms.cpp index 5503568..2e50fb5 100644 --- a/test/tuple_algorithms.cpp +++ b/test/tuple_algorithms.cpp @@ -1,5 +1,6 @@ #include "detail/tuple_types.hpp" +#include #include #include @@ -232,6 +233,19 @@ TEST_CASE("unrolled_for_each on arrays", "[tuple_algorithms]") { CHECK(a == std::array{0, 1, 2}); } +TEST_CASE("unrolled_for_each on spans", "[tuple_algorithms]") { + auto a = std::array{1, 2, 3}; + auto sum = 0; + stdx::unrolled_for_each( + [&](auto &x, auto y) { + sum += x + y; + x--; + }, + stdx::span{a}, stdx::span{a}); + CHECK(sum == 12); + CHECK(a == std::array{0, 1, 2}); +} + TEST_CASE("tuple_cat", "[tuple_algorithms]") { STATIC_REQUIRE(stdx::tuple_cat() == stdx::tuple{}); STATIC_REQUIRE(stdx::tuple_cat(stdx::tuple{}, stdx::tuple{}) ==