1#ifndef MRS_LIB_CORO_RUNNERS_HPP_
2#define MRS_LIB_CORO_RUNNERS_HPP_
7#include <mrs_lib/coro/internal/thread_local_continuation_scheduler.hpp>
8#include <mrs_lib/coro/task.hpp>
37 std::suspend_never final_suspend()
noexcept
44 void unhandled_exception()
55 requires std::convertible_to<T, std::decay_t<T>>
56 constexpr std::decay_t<T> decay_copy(T&& value)
noexcept(std::is_nothrow_convertible_v<T, std::decay_t<T>>)
58 return std::forward<T>(value);
61 template <
typename F,
typename... Args>
62 requires std::invocable<std::decay_t<F>, std::decay_t<Args>...> && std::same_as<Task<void>, std::invoke_result_t<std::decay_t<F>, std::decay_t<Args>...>>
67 co_await std::invoke(decay_copy(std::forward<F>(task)), decay_copy(std::forward<Args>(args))...);
81 template <
typename F,
typename... Args>
82 requires std::invocable<std::decay_t<F>, std::decay_t<Args>...> && std::same_as<Task<void>, std::invoke_result_t<std::decay_t<F>, std::decay_t<Args>...>>
83 void start_task(F&& task, Args&&... args)
85 internal::start_task_impl(std::forward<F>(task), std::forward<Args>(args)...);
Coroutine type used to start asynchronous computation.
Definition runners.hpp:25
All mrs_lib functions, classes, variables and definitions are contained in this namespace.
Definition attitude_converter.h:24
Definition runners.hpp:28
Definition thread_local_continuation_scheduler.hpp:16