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

Detailed Description

Defines the sequence sender concepts and related CPOs.

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