YOrch 1.0.0
Loading...
Searching...
No Matches
core.hpp File Reference
#include <type_traits>
#include <utility>
#include "../../detail/bind/tasks.hpp"
#include "../../detail/bind/traits.hpp"
#include "../adapters.hpp"
Include dependency graph for core.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  yorch::task_binder< F, AdapterChain >
 
struct  yorch::task_into_binder< F, AdapterChain >
 
struct  yorch::task_forward_prev_binder< F, AdapterChain >
 
struct  yorch::task_member_receiver_binder< F, ReceiverSpec, AdapterChain >
 
struct  yorch::task_forward_prev_member_receiver_binder< F, ReceiverSpec, AdapterChain >
 
struct  yorch::task_into_member_receiver_binder< F, ReceiverSpec, AdapterChain >
 

Namespaces

namespace  yorch
 

Functions

template<typename F >
requires detail::ordinary_bind_callable<F>
constexpr auto yorch::task (F &&f)
 
template<typename F , typename AdapterChain >
requires detail::ordinary_bind_callable<F> && detail::adapter_chain_like<AdapterChain>
constexpr auto yorch::task (F &&f, AdapterChain &&adapter_specs)
 
template<typename F , typename ReceiverSpec >
requires detail::ordinary_member_bind_callable<F> && detail::member_receiver_bindable<F, ReceiverSpec> && (!detail::adapter_chain_like<ReceiverSpec>)
constexpr auto yorch::task_member (F &&f, ReceiverSpec &&receiver_spec)
 
template<typename F , typename ReceiverSpec , typename AdapterChain >
requires detail::ordinary_member_bind_callable<F> && detail::member_receiver_bindable<F, ReceiverSpec> && (!detail::adapter_chain_like<ReceiverSpec>) && detail::adapter_chain_like<AdapterChain>
constexpr auto yorch::task_member (F &&f, ReceiverSpec &&receiver_spec, AdapterChain &&adapter_specs)
 
template<typename F >
requires detail::inferable_direct_output_callable<F>
constexpr auto yorch::task_into (F &&f)
 
template<typename F , typename AdapterChain >
requires detail::inferable_direct_output_callable<F> && detail::adapter_chain_like<AdapterChain>
constexpr auto yorch::task_into (F &&f, AdapterChain &&adapter_specs)
 
template<typename F >
requires detail::inferable_forward_prev_callable<F>
constexpr auto yorch::task_forward_prev (F &&f)
 
template<typename F , typename AdapterChain >
requires detail::inferable_forward_prev_callable<F> && detail::adapter_chain_like<AdapterChain>
constexpr auto yorch::task_forward_prev (F &&f, AdapterChain &&adapter_specs)
 
template<typename F , typename ReceiverSpec >
requires detail::ordinary_member_bind_callable<F> && detail::member_receiver_bindable<F, ReceiverSpec> && (!detail::adapter_chain_like<ReceiverSpec>)
constexpr auto yorch::task_forward_prev_member (F &&f, ReceiverSpec &&receiver_spec)
 
template<typename F , typename ReceiverSpec , typename AdapterChain >
requires detail::ordinary_member_bind_callable<F> && detail::member_receiver_bindable<F, ReceiverSpec> && (!detail::adapter_chain_like<ReceiverSpec>) && detail::adapter_chain_like<AdapterChain>
constexpr auto yorch::task_forward_prev_member (F &&f, ReceiverSpec &&receiver_spec, AdapterChain &&adapter_specs)
 
template<typename F , typename ReceiverSpec >
requires detail::inferable_direct_output_member_callable<F> && detail::member_receiver_bindable<F, ReceiverSpec> && (!detail::adapter_chain_like<ReceiverSpec>)
constexpr auto yorch::task_into_member (F &&f, ReceiverSpec &&receiver_spec)
 
template<typename F , typename ReceiverSpec , typename AdapterChain >
requires detail::inferable_direct_output_member_callable<F> && detail::member_receiver_bindable<F, ReceiverSpec> && (!detail::adapter_chain_like<ReceiverSpec>) && detail::adapter_chain_like<AdapterChain>
constexpr auto yorch::task_into_member (F &&f, ReceiverSpec &&receiver_spec, AdapterChain &&adapter_specs)