Iros
 
Loading...
Searching...
No Matches
when_all.h File Reference
#include "di/execution/algorithm/into_variant.h"
#include "di/execution/algorithm/transfer.h"
#include "di/execution/concepts/forwarding_query.h"
#include "di/execution/concepts/receiver.h"
#include "di/execution/concepts/receiver_of.h"
#include "di/execution/concepts/scheduler.h"
#include "di/execution/concepts/sender.h"
#include "di/execution/concepts/sender_in.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/connect_result.h"
#include "di/execution/meta/decayed_tuple.h"
#include "di/execution/meta/env_of.h"
#include "di/execution/meta/error_types_of.h"
#include "di/execution/meta/sends_stopped.h"
#include "di/execution/meta/stop_token_of.h"
#include "di/execution/meta/value_types_of.h"
#include "di/execution/query/get_completion_signatures.h"
#include "di/execution/query/get_stop_token.h"
#include "di/execution/query/make_env.h"
#include "di/execution/receiver/set_error.h"
#include "di/execution/receiver/set_stopped.h"
#include "di/execution/receiver/set_value.h"
#include "di/execution/types/completion_signuatures.h"
#include "di/function/invoke.h"
#include "di/function/tag_invoke.h"
#include "di/math/smallest_unsigned_type.h"
#include "di/meta/algorithm.h"
#include "di/meta/constexpr.h"
#include "di/meta/core.h"
#include "di/meta/util.h"
#include "di/sync/atomic.h"
#include "di/sync/memory_order.h"
#include "di/sync/stop_token/in_place_stop_token.h"
#include "di/sync/stop_token/prelude.h"
#include "di/types/integers.h"
#include "di/types/prelude.h"
#include "di/util/addressof.h"
#include "di/util/declval.h"
#include "di/util/defer_construct.h"
#include "di/util/get.h"
#include "di/util/immovable.h"
#include "di/util/move.h"
#include "di/util/unreachable.h"
#include "di/vocab/optional/optional_forward_declaration.h"
#include "di/vocab/tuple/apply.h"
#include "di/vocab/tuple/tie.h"
#include "di/vocab/tuple/tuple.h"
#include "di/vocab/tuple/tuple_cat.h"
#include "di/vocab/tuple/tuple_for_each.h"
#include "di/vocab/variant/holds_alternative.h"
#include "di/vocab/variant/variant.h"
#include "di/vocab/variant/visit.h"

Go to the source code of this file.

Classes

struct  di::execution::when_all_ns::CompletionSignaturesT< E, Sends >
 
struct  di::execution::when_all_ns::CompletionSignaturesT< E, Sends... >
 
struct  di::execution::when_all_ns::ValueStorageT< Env, Sends >
 
struct  di::execution::when_all_ns::ValueStorageT< Env, Sends... >
 
struct  di::execution::when_all_ns::NotError
 
struct  di::execution::when_all_ns::Stopped
 
struct  di::execution::when_all_ns::StopCallbackFunction
 
struct  di::execution::when_all_ns::DataT< Rec, Sends >
 
struct  di::execution::when_all_ns::DataT< Rec, Sends >::Type
 
struct  di::execution::when_all_ns::ReceiverT< index, Send, Data >
 
struct  di::execution::when_all_ns::ReceiverT< index, Send, Data >::Type
 
struct  di::execution::when_all_ns::OperationStateT< Rec, meta::ListV< indices... >, meta::List< Sends... > >
 
struct  di::execution::when_all_ns::OperationStateT< Rec, meta::ListV< indices... >, meta::List< Sends... > >::Type
 
struct  di::execution::when_all_ns::SenderT< Senders >
 
struct  di::execution::when_all_ns::SenderT< Senders >::Type
 
struct  di::execution::when_all_ns::Function
 
struct  di::execution::when_all_ns::VariantFunction
 
struct  di::execution::when_all_ns::TransferFunction
 
struct  di::execution::when_all_ns::TransferVariantFunction
 

Namespaces

namespace  di
 
namespace  di::execution
 
namespace  di::execution::when_all_ns
 

Concepts

concept  di::execution::when_all_ns::ValidSenders
 

Typedefs

template<typename T>
using di::execution::when_all_ns::DecayedRValue = meta::Decay<T>&&
 
template<typename Env, typename... Sends>
using di::execution::when_all_ns::NonValueCompletions
 
template<typename Env, typename... Sends>
using di::execution::when_all_ns::ValueCompletion
 
template<typename E>
using di::execution::when_all_ns::Env = MakeEnv<E, With<Tag<get_stop_token>, sync::InPlaceStopToken>>
 
template<typename E, typename... Sends>
using di::execution::when_all_ns::Sigs = meta::Type<CompletionSignaturesT<E, Sends...>>
 
template<typename... Types>
using di::execution::when_all_ns::DecayedOptionalTuple = vocab::Optional<vocab::Tuple<meta::Decay<Types>...>>
 
template<typename Env, typename... Sends>
using di::execution::when_all_ns::ValueStorage = meta::Type<ValueStorageT<Env, Sends...>>
 
template<typename... Types>
using di::execution::when_all_ns::DecayedVariant = meta::AsTemplate<vocab::Variant, meta::Unique<meta::List<meta::Decay<Types>...>>>
 
template<typename Env, typename... Sends>
using di::execution::when_all_ns::ErrorStorage
 
template<concepts::Receiver Rec, concepts::Sender... Sends>
using di::execution::when_all_ns::Data = meta::Type<DataT<Rec, Sends...>>
 
template<usize index, concepts::Sender Send, typename Data>
using di::execution::when_all_ns::Receiver = meta::Type<ReceiverT<index, Send, Data>>
 
template<concepts::Receiver Rec, typename Indices, concepts::TypeList Sends>
using di::execution::when_all_ns::OperationState = meta::Type<OperationStateT<Rec, Indices, Sends>>
 
template<concepts::Sender... Senders>
using di::execution::when_all_ns::Sender = meta::Type<SenderT<Senders...>>
 

Variables

template<typename Env, concepts::SenderIn< Env > Send>
constexpr usize di::execution::when_all_ns::set_value_count = meta::Size<meta::ValueTypesOf<Send, Env, meta::List, meta::List>>
 
template<typename Env, typename... Sends>
constexpr bool di::execution::when_all_ns::never_sends_value
 
constexpr auto di::execution::when_all = when_all_ns::Function {}
 
constexpr auto di::execution::when_all_with_variant = when_all_ns::VariantFunction {}
 
constexpr auto di::execution::transfer_when_all = when_all_ns::TransferFunction {}
 
constexpr auto di::execution::transfer_when_all_with_variant = when_all_ns::TransferVariantFunction {}