#include "ttg/config.h"
#include "ttg/fwd.h"
#include "ttg/base/tt.h"
#include "ttg/edge.h"
#include "ttg/coroutine.h"
#include <cassert>
#include <memory>
#include <vector>
Go to the source code of this file.
|
| namespace | ttg |
| | top-level TTG namespace contains runtime-neutral functionality
|
| |
|
| template<typename ttseqT , typename input_terminalsT , typename output_terminalsT > |
| auto | ttg::make_ttg (ttseqT &&tts, const input_terminalsT &ins, const output_terminalsT &outs, const std::string &name="ttg") |
| |
◆ TTG_PROCESS_TT_OP_RETURN
| #define TTG_PROCESS_TT_OP_RETURN |
( |
|
result, |
|
|
|
id, |
|
|
|
invoke |
|
) |
| |
Value: { \
using return_type = decltype(invoke); \
if constexpr (std::is_same_v<return_type, void>) { \
invoke; \
} else { \
auto coro_return = invoke; \
static_assert(std::is_same_v<return_type, void> || \
decltype(coro_return)>); \
if constexpr (std::is_base_of_v<ttg::coroutine_handle<ttg::resumable_task_state>, decltype(coro_return)>) \
else if constexpr (std::is_base_of_v< \
decltype(coro_return)>) \
else \
std::abort(); \
result = coro_return.address(); \
} \
}
TTG_CXX_COROUTINE_NAMESPACE::coroutine_handle< Promise > coroutine_handle
@ ResumableTask
-> ttg::resumable_task
@ Invalid
not a coroutine, i.e. a standard task function, -> void
@ DeviceTask
-> ttg::device::Task
Definition at line 181 of file tt.h.