1#ifndef KOKKOS_UTILS_CALLBACKS_CONJUNCTIONMATCHER_HPP
2#define KOKKOS_UTILS_CALLBACKS_CONJUNCTIONMATCHER_HPP
15template <
Matcher... MatcherTypes>
requires (
sizeof...(MatcherTypes) > 1)
18 template <
typename... Args>
requires (
sizeof...(Args) ==
sizeof...(MatcherTypes))
24 return std::apply([&event] (MatcherTypes&...
matchers) {
32template <
typename... MatcherTypes>
Check that Callable is a matcher for each event in EventTypes.
Callable is a matcher if it is invocable with at least one event type from Kokkos::utils::callbacks::...
ConjunctionMatcher(MatcherTypes &&...) -> ConjunctionMatcher< MatcherTypes... >
Conjunction of matchers that is true only if all matchers agree.
ConjunctionMatcher(Args &&... args)
std::tuple< MatcherTypes... > matchers
bool operator()(const EventType &event)