YOrch 1.0.0
Loading...
Searching...
No Matches
task.hpp File Reference
#include <type_traits>
#include <utility>
#include "../detail/executor/result.hpp"
#include "../detail/task_adapters/traits.hpp"
#include "../slots/direct_out.hpp"
#include "concepts.hpp"
Include dependency graph for task.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  yorch
 

Functions

template<typename Task , typename Ctx , typename Prev = no_prev>
requires executable_task<Task, Ctx, Prev>
constexpr step_result yorch::run_task (Task &&task, exec_context< Ctx, Prev > &ec) noexcept(noexcept(std::forward< Task >(task).invoke_raw(ec)) &&(std::is_void_v< detail::raw_task_result_t< Task &&, Ctx, Prev > >||noexcept(detail::normalize_task_result(std::forward< Task >(task).invoke_raw(ec)))))
 Executes a ready-to-run task against the provided execution context.
 
template<typename Task , typename Ctx , typename Prev = no_prev>
requires executable_direct_output_task<Task, Ctx, Prev>
constexpr step_result yorch::run_task_into (Task &&task, exec_context< Ctx, Prev > &ec, direct_out< detail::declared_task_output_t< Task > > out) noexcept(noexcept(std::forward< Task >(task).invoke_into(ec, out)))
 Executes a direct-output task against the provided execution context.