YOrch 1.0.0
Loading...
Searching...
No Matches
yorch::bound_task< F, Specs > Struct Template Reference

Bound executable task composed of a callable and per-parameter specs. More...

#include <types.hpp>

Public Types

using raw_result_type = detail::result_t< F >
 Raw return type declared by the stored callable.
 

Public Member Functions

template<typename Ctx , typename Prev >
constexpr decltype(auto) invoke_raw (exec_context< Ctx, Prev > &ec) noexcept(noexcept(call_impl_raw(ec, std::index_sequence_for< Specs... >{})))
 Resolves all specs and executes the bound callable.
 

Public Attributes

func
 Stored callable to execute.
 
std::tuple< Specs... > specs
 Stored argument binding specs in parameter order.
 

Detailed Description

template<typename F, typename... Specs>
struct yorch::bound_task< F, Specs >

Bound executable task composed of a callable and per-parameter specs.

At execution time, each spec is resolved against the target parameter type deduced from F, then the callable is invoked and its original return value is forwarded back to the caller.

Template Parameters
FStored callable type.
SpecsStored spec types, one for each function parameter.

Definition at line 28 of file types.hpp.

Member Typedef Documentation

◆ raw_result_type

template<typename F , typename... Specs>
using yorch::bound_task< F, Specs >::raw_result_type = detail::result_t<F>

Raw return type declared by the stored callable.

Definition at line 30 of file types.hpp.

Member Function Documentation

◆ invoke_raw()

template<typename F , typename... Specs>
template<typename Ctx , typename Prev >
constexpr decltype(auto) yorch::bound_task< F, Specs >::invoke_raw ( exec_context< Ctx, Prev > &  ec)
inlineconstexprnoexcept

Resolves all specs and executes the bound callable.

Template Parameters
CtxContext schema used for this execution.
PrevParent slot view type for this execution.
Parameters
ecBorrowed execution context.
Returns
User callable's original return value.

Definition at line 46 of file types.hpp.

Member Data Documentation

◆ func

template<typename F , typename... Specs>
F yorch::bound_task< F, Specs >::func

Stored callable to execute.

Definition at line 33 of file types.hpp.

◆ specs

template<typename F , typename... Specs>
std::tuple<Specs...> yorch::bound_task< F, Specs >::specs

Stored argument binding specs in parameter order.

Definition at line 36 of file types.hpp.


The documentation for this struct was generated from the following file: