Defines the sequence sender concepts and related CPOs. More...
#include "di/execution/concepts/operation_state.h"#include "di/execution/concepts/prelude.h"#include "di/execution/concepts/receiver.h"#include "di/execution/concepts/receiver_of.h"#include "di/execution/concepts/sender.h"#include "di/execution/concepts/sender_in.h"#include "di/execution/concepts/sender_to.h"#include "di/execution/concepts/valid_completion_signatures.h"#include "di/execution/interface/connect.h"#include "di/execution/interface/get_env.h"#include "di/execution/interface/start.h"#include "di/execution/meta/completion_signatures_of.h"#include "di/execution/meta/env_of.h"#include "di/execution/meta/make_completion_signatures.h"#include "di/execution/meta/stop_token_of.h"#include "di/execution/query/is_debug_env.h"#include "di/execution/query/make_env.h"#include "di/execution/receiver/set_stopped.h"#include "di/execution/receiver/set_value.h"#include "di/execution/sequence/async_range.h"#include "di/execution/types/completion_signuatures.h"#include "di/execution/types/empty_env.h"#include "di/function/invoke.h"#include "di/function/tag_invoke.h"#include "di/meta/algorithm.h"#include "di/meta/core.h"#include "di/sync/concepts/stoppable_token.h"#include "di/sync/concepts/unstoppable_token.h"#include "di/util/declval.h"#include "di/util/immovable.h"#include "di/util/move.h"Go to the source code of this file.
Namespaces | |
| namespace | di |
| namespace | di::concepts |
| namespace | di::execution |
| namespace | di::execution::set_next_ns |
| namespace | di::meta |
| namespace | di::execution::dummy_ns |
| namespace | di::execution::sender_to_sequence_adaptor_ns |
| namespace | di::concepts::detail |
| namespace | di::execution::subscribe_ns |
Concepts | |
| concept | di::concepts::NextSender |
| A sender that can be returned from di::execution::set_next(). | |
| concept | di::concepts::SequenceSender |
| concept | di::concepts::SequenceSenderIn |
| concept | di::concepts::SubscriberOf |
| concept | di::concepts::detail::AdaptableToSequence |
| concept | di::concepts::SubscriberFrom |
| concept | di::concepts::SequenceSenderTo |
Typedefs | |
| template<typename Rec, typename Send> | |
| using | di::meta::NextSenderOf = decltype(execution::set_next(util::declval<meta::RemoveCVRef<Rec>&>(), util::declval<Send>())) |
| template<concepts::Receiver Rec> | |
| using | di::execution::sender_to_sequence_adaptor_ns::Receiver = meta::Type<ReceiverT<meta::RemoveCVRef<Rec>>> |
| template<typename Send, typename Env> | |
| using | di::meta::SequenceCompletionSignaturesOf |
| template<typename Send, typename Rec> | |
| using | di::meta::SubscribeResult = decltype(execution::subscribe(util::declval<Send>(), util::declval<Rec>())) |
Variables | |
| constexpr auto | di::execution::set_next = set_next_ns::Function {} |
| Set the next sender of a sequence. | |
| template<typename S> | |
| constexpr bool | di::execution::enable_sequence_sender = false |
| template<typename S> requires (concepts::AwaitableAsyncRange<S>) | |
| constexpr bool | di::execution::enable_sequence_sender< S > = true |
| template<concepts::ValidCompletionSignatures Sigs> | |
| constexpr auto | di::execution::dummy_ns::dummy_sender_of = DummySenderOf<Sigs> {} |
| constexpr auto | di::execution::subscribe = subscribe_ns::Function {} |
| Subscribe a receiver to a sequence. | |
Defines the sequence sender concepts and related CPOs.
This mechanism is modelled after a draft c++ standard proposal, which builds on P2300.