Iros
Loading...
Searching...
No Matches
start.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/any/types/method.h
"
4
#include "
di/any/types/this.h
"
5
#include "
di/function/tag_invoke.h
"
6
7
namespace
di::execution
{
8
namespace
detail
{
9
struct
StartFunction
{
10
using
Type
=
types::Method
<
StartFunction
, void(
types::This
&)>;
11
12
template
<
typename
OpState>
13
requires
(
concepts::TagInvocable<StartFunction, OpState&>
)
14
constexpr
auto
operator
()(OpState& op_state)
const
{
15
return
function::tag_invoke
(*
this
, op_state);
16
}
17
};
18
}
19
20
constexpr
inline
auto
start
=
detail::StartFunction
{};
21
}
di::concepts::TagInvocable
Definition
tag_invoke.h:33
di::execution::detail
Definition
read.h:70
di::execution
Definition
bulk.h:30
di::execution::start
constexpr auto start
Definition
start.h:20
di::function::tag_invoke_ns::tag_invoke
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition
tag_invoke.h:22
di::execution::detail::StartFunction
Definition
start.h:9
di::execution::detail::StartFunction::Type
types::Method< StartFunction, void(types::This &)> Type
Definition
start.h:10
di::types::Method
Definition
method.h:7
di::types::This
Definition
this.h:4
tag_invoke.h
this.h
method.h
libs
di
include
di
execution
interface
start.h
Generated by
1.13.0