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

Bound executable task composed of a member function, receiver spec, and per-parameter specs. More...

#include <types.hpp>

Public Types

using raw_result_type = detail::member_result_t< F >
 

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... >{})))
 

Public Attributes

func
 
ReceiverSpec receiver_spec
 
std::tuple< Specs... > specs
 

Detailed Description

template<typename F, typename ReceiverSpec, typename... Specs>
struct yorch::bound_member_task< F, ReceiverSpec, Specs >

Bound executable task composed of a member function, receiver spec, and per-parameter specs.

This form models the receiver as an explicit binding source distinct from the business parameters. At execution time the receiver is resolved first, then all remaining specs are resolved against the member-function parameter list and invoked through std::invoke(...).

Template Parameters
FStored member-function pointer type.
ReceiverSpecStored receiver binding spec.
SpecsStored business-parameter specs.

Definition at line 213 of file types.hpp.

Member Typedef Documentation

◆ raw_result_type

template<typename F , typename ReceiverSpec , typename... Specs>
using yorch::bound_member_task< F, ReceiverSpec, Specs >::raw_result_type = detail::member_result_t<F>

Definition at line 214 of file types.hpp.

Member Function Documentation

◆ invoke_raw()

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

Definition at line 221 of file types.hpp.

Member Data Documentation

◆ func

template<typename F , typename ReceiverSpec , typename... Specs>
F yorch::bound_member_task< F, ReceiverSpec, Specs >::func

Definition at line 216 of file types.hpp.

◆ receiver_spec

template<typename F , typename ReceiverSpec , typename... Specs>
ReceiverSpec yorch::bound_member_task< F, ReceiverSpec, Specs >::receiver_spec

Definition at line 217 of file types.hpp.

◆ specs

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

Definition at line 218 of file types.hpp.


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