Iros
Loading...
Searching...
No Matches
receiver.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/execution/interface/get_env.h
"
4
#include "
di/execution/receiver/is_receiver.h
"
5
#include "
di/meta/core.h
"
6
#include "
di/meta/operations.h
"
7
8
namespace
di::concepts
{
9
template
<
typename
T>
10
concept
Receiver
=
execution::enable_receiver<meta::RemoveCVRef<T>
> &&
requires
(
meta::RemoveCVRef<T>
const
& receiver) {
11
{
execution::get_env
(receiver) } ->
Queryable
;
12
} &&
MoveConstructible<meta::RemoveCVRef<T>
> &&
concepts::ConstructibleFrom<meta::RemoveCVRef<T>
, T>;
13
}
14
15
namespace
di
{
16
using
concepts::Receiver
;
17
}
di::concepts::ConstructibleFrom
Definition
operations.h:11
di::concepts::MoveConstructible
Definition
operations.h:43
di::concepts::Queryable
Definition
queryable.h:7
di::concepts::Receiver
Definition
receiver.h:10
core.h
get_env.h
operations.h
is_receiver.h
di::concepts
Definition
any_storable.h:9
di::execution::get_env
constexpr auto get_env
Definition
get_env.h:27
di::execution::enable_receiver
constexpr bool enable_receiver
Definition
is_receiver.h:5
di::meta::RemoveCVRef
RemoveCV< RemoveReference< T > > RemoveCVRef
Definition
core.h:74
di
Definition
zstring_parser.h:9
libs
di
include
di
execution
concepts
receiver.h
Generated by
1.13.0