Iros
Loading...
Searching...
No Matches
completion_signature.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/execution/receiver/set_error.h
"
4
#include "
di/execution/receiver/set_stopped.h
"
5
#include "
di/execution/receiver/set_value.h
"
6
7
namespace
di::concepts
{
8
namespace
detail
{
9
template
<
typename
T>
10
constexpr
inline
bool
is_completion_signature
=
false
;
11
12
template
<
typename
... Args>
13
constexpr
inline
bool
is_completion_signature
<
execution::SetValue
(Args...)> =
true
;
14
15
template
<
typename
Arg>
16
constexpr
inline
bool
is_completion_signature
<
execution::SetError
(Arg)> =
true
;
17
18
template
<>
19
constexpr
inline
bool
is_completion_signature
<
execution::SetStopped
()> =
true
;
20
}
21
22
template
<
typename
T>
23
concept
CompletionSignature
=
detail::is_completion_signature<T>
;
24
}
di::concepts::CompletionSignature
Definition
completion_signature.h:23
set_value.h
di::concepts::detail
Definition
impl.h:7
di::concepts::detail::is_completion_signature
constexpr bool is_completion_signature
Definition
completion_signature.h:10
di::concepts
Definition
any_storable.h:9
set_error.h
set_stopped.h
di::execution::SetError
Definition
set_error.h:6
di::execution::SetStopped
Definition
set_stopped.h:6
di::execution::SetValue
Definition
set_value.h:6
libs
di
include
di
execution
concepts
completion_signature.h
Generated by
1.13.0