kokkos-execution 0.0.1
Loading...
Searching...
No Matches
Tests::Utils::CheckSchedulerTypeSender< Sndr, Tag, Schd > Struct Template Reference

#include <check_scheduler_type.hpp>

Public Types

using sender_concept = stdexec::sender_tag

Public Member Functions

template<class... _Ts>
 __VA_OPT__ (__VA_OPT__([[__VA_OPT__(host)]] __VA_OPT__(STDEXEC_PP_FOR_EACH_AGAIN()(STDEXEC_ATTRIBUTE_I, device)))) constexpr auto connect(_Ts &&... __args) &&noexcept(noexcept(__static_connect(std::move(*this), static_cast< _Ts && >(__args)...))) -> decltype(__static_connect(std::move(*this), static_cast< _Ts && >(__args)...))
template<class... _Ts>
 __VA_OPT__ (__VA_OPT__([[__VA_OPT__(host)]] __VA_OPT__(STDEXEC_PP_FOR_EACH_AGAIN()(STDEXEC_ATTRIBUTE_I, device)))) constexpr auto connect(_Ts &&... __args) &noexcept(noexcept(__static_connect(*this, static_cast< _Ts && >(__args)...))) -> decltype(__static_connect(*this, static_cast< _Ts && >(__args)...))
template<class... _Ts>
 __VA_OPT__ (__VA_OPT__([[__VA_OPT__(host)]] __VA_OPT__(STDEXEC_PP_FOR_EACH_AGAIN()(STDEXEC_ATTRIBUTE_I, device)))) constexpr auto connect(_Ts &&... __args) const &noexcept(noexcept(__static_connect(*this, static_cast< _Ts && >(__args)...))) -> decltype(__static_connect(*this, static_cast< _Ts && >(__args)...))
constexpr auto get_env () const noexcept -> Kokkos::Execution::Impl::ForwardingAttributes< Sndr >

Static Public Member Functions

template<stdexec::__decays_to< CheckSchedulerTypeSender > Self, typename... Env>
static consteval auto get_completion_signatures ()
template<stdexec::__decays_to< CheckSchedulerTypeSender > Self, stdexec::receiver Rcvr>
static constexpr auto STDEXEC_PP_CAT (__static_, connect(this Self &&self, Rcvr rcvr) noexcept(stdexec::__nothrow_connectable< decltype((std::declval< Self >().sndr)), Rcvr && >) -> stdexec::connect_result_t< decltype((std::declval< Self >().sndr))))(STDEXEC_EXPLICIT_THIS_ARGS Rcvr && >
template<stdexec::receiver Rcvr>
static consteval bool check_scheduler_type ()

Public Attributes

Sndr sndr

Detailed Description

template<stdexec::sender Sndr, typename Tag, stdexec::scheduler Schd>
struct Tests::Utils::CheckSchedulerTypeSender< Sndr, Tag, Schd >

Definition at line 40 of file check_scheduler_type.hpp.

Member Typedef Documentation

◆ sender_concept

template<stdexec::sender Sndr, typename Tag, stdexec::scheduler Schd>
using Tests::Utils::CheckSchedulerTypeSender< Sndr, Tag, Schd >::sender_concept = stdexec::sender_tag

Definition at line 41 of file check_scheduler_type.hpp.

Member Function Documentation

◆ __VA_OPT__() [1/3]

template<stdexec::sender Sndr, typename Tag, stdexec::scheduler Schd>
template<class... _Ts>
Tests::Utils::CheckSchedulerTypeSender< Sndr, Tag, Schd >::__VA_OPT__ ( __VA_OPT__([[__VA_OPT__(host)]] __VA_OPT__(STDEXEC_PP_FOR_EACH_AGAIN()(STDEXEC_ATTRIBUTE_I, device))) ) &&->decltype(__static_connect(std::move(*this), static_cast< _Ts && >(__args)...))
inlinenoexcept

Definition at line 56 of file check_scheduler_type.hpp.

◆ __VA_OPT__() [2/3]

template<stdexec::sender Sndr, typename Tag, stdexec::scheduler Schd>
template<class... _Ts>
Tests::Utils::CheckSchedulerTypeSender< Sndr, Tag, Schd >::__VA_OPT__ ( __VA_OPT__([[__VA_OPT__(host)]] __VA_OPT__(STDEXEC_PP_FOR_EACH_AGAIN()(STDEXEC_ATTRIBUTE_I, device))) ) &->decltype(__static_connect(*this, static_cast< _Ts && >(__args)...))
inlinenoexcept

Definition at line 56 of file check_scheduler_type.hpp.

◆ __VA_OPT__() [3/3]

template<stdexec::sender Sndr, typename Tag, stdexec::scheduler Schd>
template<class... _Ts>
Tests::Utils::CheckSchedulerTypeSender< Sndr, Tag, Schd >::__VA_OPT__ ( __VA_OPT__([[__VA_OPT__(host)]] __VA_OPT__(STDEXEC_PP_FOR_EACH_AGAIN()(STDEXEC_ATTRIBUTE_I, device))) ) const &->decltype(__static_connect(*this, static_cast< _Ts && >(__args)...))
inlinenoexcept

Definition at line 56 of file check_scheduler_type.hpp.

◆ check_scheduler_type()

template<stdexec::sender Sndr, typename Tag, stdexec::scheduler Schd>
template<stdexec::receiver Rcvr>
consteval bool Tests::Utils::CheckSchedulerTypeSender< Sndr, Tag, Schd >::check_scheduler_type ( )
inlinestaticconsteval

First, try to get the completion scheduler from the sender environment.

Fallback on the receiver environment.

Definition at line 59 of file check_scheduler_type.hpp.

◆ get_completion_signatures()

template<stdexec::sender Sndr, typename Tag, stdexec::scheduler Schd>
template<stdexec::__decays_to< CheckSchedulerTypeSender > Self, typename... Env>
consteval auto Tests::Utils::CheckSchedulerTypeSender< Sndr, Tag, Schd >::get_completion_signatures ( )
inlinestaticconsteval

Definition at line 45 of file check_scheduler_type.hpp.

◆ get_env()

template<stdexec::sender Sndr, typename Tag, stdexec::scheduler Schd>
auto Tests::Utils::CheckSchedulerTypeSender< Sndr, Tag, Schd >::get_env ( ) const->Kokkos::Execution::Impl::ForwardingAttributes< Sndr >
inlinenodiscardconstexprnoexcept

Definition at line 81 of file check_scheduler_type.hpp.

References sndr.

◆ STDEXEC_PP_CAT()

template<stdexec::sender Sndr, typename Tag, stdexec::scheduler Schd>
template<stdexec::__decays_to< CheckSchedulerTypeSender > Self, stdexec::receiver Rcvr>
constexpr auto Tests::Utils::CheckSchedulerTypeSender< Sndr, Tag, Schd >::STDEXEC_PP_CAT ( __static_ ) &&
inlinestaticnodiscardconstexpr

Definition at line 50 of file check_scheduler_type.hpp.

References check_scheduler_type(), and sndr.

Member Data Documentation

◆ sndr

template<stdexec::sender Sndr, typename Tag, stdexec::scheduler Schd>
Sndr Tests::Utils::CheckSchedulerTypeSender< Sndr, Tag, Schd >::sndr

Definition at line 43 of file check_scheduler_type.hpp.


The documentation for this struct was generated from the following file: