di 0.1.0
Loading...
Searching...
No Matches
sequence_sender.h File Reference

Defines the sequence sender concepts and related CPOs. More...

Go to the source code of this file.

Classes

struct  di::execution::set_next_ns::Function
struct  di::execution::SequenceTag
struct  di::execution::dummy_ns::DummyOperationState
struct  di::execution::dummy_ns::DummySenderOf< Sigs >
struct  di::execution::sender_to_sequence_adaptor_ns::ReceiverT< Rec >
struct  di::execution::sender_to_sequence_adaptor_ns::ReceiverT< Rec >::Type
struct  di::execution::subscribe_ns::Function
struct  di::SequenceTag

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::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::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.

Detailed Description

Defines the sequence sender concepts and related CPOs.

This mechanism is modelled after a draft c++ standard proposal, which builds on P2300.