10#ifdef CONDY_DETAIL_HAS_EXECUTION
16#ifdef CONDY_DETAIL_HAS_EXECUTION
18template <PrepFuncLike PrepFunc, CQEHandlerLike CQEHandler>
19using OpSender = detail::StandardSender<detail::OpSender<PrepFunc, CQEHandler>>;
21template <PrepFuncLike PrepFunc, CQEHandlerLike CQEHandler,
22 typename MultiShotFunc>
23using MultiShotOpSender = detail::StandardSender<
24 detail::MultiShotOpSender<PrepFunc, CQEHandler, MultiShotFunc>>;
26template <PrepFuncLike PrepFunc, CQEHandlerLike CQEHandler,
typename FreeFunc>
27using ZeroCopyOpSender = detail::StandardSender<
28 detail::ZeroCopyOpSender<PrepFunc, CQEHandler, FreeFunc>>;
30template <
unsigned int Flags,
typename Sender>
31using FlaggedOpSender =
32 detail::StandardSender<detail::FlaggedOpSender<Flags, Sender>>;
34template <
typename... Senders>
35using ParallelAllSender =
36 detail::StandardSender<detail::ParallelAllSender<Senders...>>;
38template <
typename... Senders>
39using ParallelAnySender =
40 detail::StandardSender<detail::ParallelAnySender<Senders...>>;
42template <
typename... Senders>
43using WhenAllSender = detail::StandardSender<detail::WhenAllSender<Senders...>>;
45template <
typename... Senders>
46using WhenAnySender = detail::StandardSender<detail::WhenAnySender<Senders...>>;
48template <
typename... Senders>
49using LinkSender = detail::StandardSender<detail::LinkSender<Senders...>>;
51template <
typename... Senders>
53 detail::StandardSender<detail::HardLinkSender<Senders...>>;
55template <
typename Sender>
56using RangedParallelAllSender =
57 detail::StandardSender<detail::RangedParallelAllSender<Sender>>;
59template <
typename Sender>
60using RangedParallelAnySender =
61 detail::StandardSender<detail::RangedParallelAnySender<Sender>>;
63template <
typename Sender>
64using RangedWhenAllSender =
65 detail::StandardSender<detail::RangedWhenAllSender<Sender>>;
67template <
typename Sender>
68using RangedWhenAnySender =
69 detail::StandardSender<detail::RangedWhenAnySender<Sender>>;
71template <
typename Sender>
72using RangedLinkSender =
73 detail::StandardSender<detail::RangedLinkSender<Sender>>;
75template <
typename Sender>
76using RangedHardLinkSender =
77 detail::StandardSender<detail::RangedHardLinkSender<Sender>>;
81using detail::FlaggedOpSender;
82using detail::HardLinkSender;
83using detail::LinkSender;
84using detail::MultiShotOpSender;
85using detail::OpSender;
86using detail::ParallelAllSender;
87using detail::ParallelAnySender;
88using detail::RangedHardLinkSender;
89using detail::RangedLinkSender;
90using detail::RangedParallelAllSender;
91using detail::RangedParallelAnySender;
92using detail::RangedWhenAllSender;
93using detail::RangedWhenAnySender;
94using detail::WhenAllSender;
95using detail::WhenAnySender;
96using detail::ZeroCopyOpSender;
Internal sender/receiver adapters for std::execution integration.
Sender types for composing asynchronous operations.
Detection and aliasing of the available std::execution backend.
The main namespace for the Condy library.