| 2754 | template <class F, class T> |
| 2755 | requires std::ranges::range<T> |
| 2756 | [[nodiscard]] constexpr auto operator|(const F& f, const T& t) { |
| 2757 | return [f, t](std::string_view type, std::string_view name) { |
| 2758 | for (int counter = 1; const auto& arg : t) { |
| 2759 | detail::on<F>(events::test<F, decltype(arg)>{ |
| 2760 | .type = type, |
| 2761 | .name = std::string{name} + " (" + |
| 2762 | format_test_parameter(arg, counter) + ")", |
| 2763 | .tag = {}, |
| 2764 | .location = {}, |
| 2765 | .arg = arg, |
| 2766 | .run = f}); |
| 2767 | ++counter; |
| 2768 | } |
| 2769 | }; |
| 2770 | } |
| 2771 | |
| 2772 | template <class F, template <class...> class T, class... Ts> |
| 2773 | requires(!std::ranges::range<T<Ts...>>) |
nothing calls this directly
no test coverage detected