1#ifndef KOKKOS_EXECUTION_TESTS_UTILS_CHECK_RCVR_ENV_HPP
2#define KOKKOS_EXECUTION_TESTS_UTILS_CHECK_RCVR_ENV_HPP
11template <
typename ExpectedEnv,
typename Sndr>
19 template <stdexec::receiver Rcvr>
20 constexpr auto connect(Rcvr rcvr) &&
noexcept(stdexec::__nothrow_connectable<Sndr&&, Rcvr&&>) {
21 static_assert(std::same_as<ExpectedEnv, stdexec::env_of_t<Rcvr>>);
22 return stdexec::connect(std::forward<Sndr>(
sndr), std::move(rcvr));
25 template <stdexec::receiver Rcvr>
26 constexpr auto connect(Rcvr rcvr)
const &
noexcept(stdexec::__nothrow_connectable<Sndr const &, Rcvr&&>) {
27 static_assert(std::same_as<ExpectedEnv, stdexec::env_of_t<Rcvr>>);
28 return stdexec::connect(
sndr, std::move(rcvr));
35template <
typename ExpectedEnv>
39 return stdexec::__closure(*
this);
42 template <stdexec::sender Sndr>
49template <
typename ExpectedEnv>
#define KOKKOS_EXECUTION_IMPL_FORWARDING_ATTRIBUTES_GET_ENV(_type_, _obj_)
#define KOKKOS_EXECUTION_COMPL_SIGS_KEEP(_sndr_type_)
constexpr check_rcvr_env_t< ExpectedEnv > check_rcvr_env
constexpr auto connect(Rcvr rcvr) &&noexcept(stdexec::__nothrow_connectable< Sndr &&, Rcvr && >)
constexpr auto connect(Rcvr rcvr) const &noexcept(stdexec::__nothrow_connectable< Sndr const &, Rcvr && >)
stdexec::sender_tag sender_concept
Check that the receiver environment is of type ExpectedEnv.
constexpr auto operator()(Sndr &&sndr) const
constexpr auto operator()() const noexcept