3#include <yaclib/config.hpp>
7#if YACLIB_SYMMETRIC_TRANSFER != 0
17#if YACLIB_SYMMETRIC_TRANSFER != 0
22template <
bool SymmetricTransfer>
24#if YACLIB_SYMMETRIC_TRANSFER != 0
34template <
bool SymmetricTransfer>
36#if YACLIB_SYMMETRIC_TRANSFER != 0
47 while (
curr !=
nullptr) {
54template <
bool SymmetricTransfer>
55#if YACLIB_SYMMETRIC_TRANSFER != 0
56using Transfer = std::conditional_t<SymmetricTransfer, yaclib_std::coroutine_handle<>, InlineCore*>;
Callable that can be executed in an IExecutor.
virtual InlineCore * Here(InlineCore &caller) noexcept=0
YACLIB_INLINE auto Step(InlineCore &caller, InlineCore &callback) noexcept
YACLIB_INLINE auto Noop() noexcept
YACLIB_INLINE void Loop(InlineCore *prev, InlineCore *curr) noexcept
constexpr yaclib_std::coroutine_handle noop_coroutine() noexcept
Contract< V, E > MakeContract()
Creates related future and promise.