Iros
Loading...
Searching...
No Matches
awaitable_sender.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/execution/concepts/sender_to.h
"
4
#include "
di/execution/concepts/single_sender.h
"
5
#include "
di/execution/meta/env_of.h
"
6
7
namespace
di::execution::as_awaitable_ns
{
8
template
<
typename
Send,
typename
Promise>
9
struct
AwaitableReceiver
{
10
struct
Type
;
11
};
12
}
13
14
namespace
di::concepts
{
15
template
<
typename
Send,
typename
Promise>
16
concept
AwaitableSender
=
SingleSender<Send, meta::EnvOf<Promise>
> &&
17
SenderTo<Send, meta::Type<execution::as_awaitable_ns::AwaitableReceiver<Send, Promise>
>> &&
18
requires
(Promise& promise,
Error
error) {
19
{ promise.unhandled_stopped() } ->
concepts::ConvertibleTo<CoroutineHandle<>
>;
20
{
21
promise.unhandled_error(util::move(error))
22
} ->
concepts::ConvertibleTo<CoroutineHandle<>
>;
23
};
24
}
di::concepts::AwaitableSender
Definition
awaitable_sender.h:16
di::concepts::ConvertibleTo
Definition
operations.h:99
di::concepts::SenderTo
Definition
sender_to.h:11
di::concepts::SingleSender
Definition
single_sender.h:8
env_of.h
di::concepts
Definition
any_storable.h:9
di::execution::as_awaitable_ns
Definition
awaitable_sender.h:7
di::vocab::Error
StatusCode< Erased< long > > Error
Definition
error.h:8
sender_to.h
single_sender.h
di::execution::as_awaitable_ns::AwaitableReceiver
Definition
awaitable_sender.h:9
libs
di
include
di
execution
concepts
awaitable_sender.h
Generated by
1.13.0