| 41 | |
| 42 | template <typename T> |
| 43 | void check(T const &v, int k) { |
| 44 | for (int i = 0; auto &&elem : v) { |
| 45 | REQUIRE(elem == i++ + k); |
| 46 | } |
| 47 | } |
| 48 | |
| 49 | template <typename Sch, typename F, typename Proj = std::identity> |
| 50 | void test(Sch &&sch, F add_one, Proj proj = {}) { |