#include "di/execution/concepts/receiver_of.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/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/make_completion_signatures.h"
#include "di/execution/meta/variant_or_empty.h"
#include "di/execution/query/get_completion_signatures.h"
#include "di/execution/query/is_always_lockstep_sequence.h"
#include "di/execution/query/make_env.h"
#include "di/execution/receiver/receiver_adaptor.h"
#include "di/execution/receiver/set_stopped.h"
#include "di/execution/receiver/set_value.h"
#include "di/execution/sequence/sequence_sender.h"
#include "di/execution/types/completion_signuatures.h"
#include "di/function/invoke.h"
#include "di/function/pipeable.h"
#include "di/function/tag_invoke.h"
#include "di/meta/algorithm.h"
#include "di/meta/core.h"
#include "di/meta/language.h"
#include "di/meta/util.h"
#include "di/platform/compiler.h"
#include "di/sync/atomic.h"
#include "di/sync/memory_order.h"
#include "di/util/addressof.h"
#include "di/util/immovable.h"
#include "di/vocab/tuple/apply.h"
#include "di/vocab/tuple/tuple.h"
#include "di/vocab/variant/variant.h"
#include "di/vocab/variant/visit.h"
Go to the source code of this file.
Namespaces | |
namespace | di |
namespace | di::execution |
namespace | di::execution::first_value_ns |
Typedefs | |
template<typename Seq, typename Rec> | |
using | di::execution::first_value_ns::Data = meta::Type<DataT<Seq, Rec>> |
template<typename Seq, typename Rec, typename Next, typename R> | |
using | di::execution::first_value_ns::NextData = meta::Type<NextDataT<Seq, Rec, Next, R>> |
template<typename Seq, typename Rec, typename Next, typename R> | |
using | di::execution::first_value_ns::NextReceiver = meta::Type<NextReceiverT<Seq, Rec, Next, R>> |
template<typename Seq, typename Rec, typename Next, typename R> | |
using | di::execution::first_value_ns::NextOperationState = meta::Type<NextOperationStateT<Seq, Rec, Next, R>> |
template<typename Seq, typename Rec, typename Next> | |
using | di::execution::first_value_ns::NextSender = meta::Type<NextSenderT<Seq, Rec, meta::RemoveCVRef<Next>>> |
template<typename Seq, typename Rec> | |
using | di::execution::first_value_ns::Receiver = meta::Type<ReceiverT<Seq, Rec>> |
template<typename Seq, typename Rec> | |
using | di::execution::first_value_ns::OperationState = meta::Type<OperationStateT<Seq, Rec>> |
template<typename... Values> | |
using | di::execution::first_value_ns::SigSetValue = CompletionSignatures<SetValue(meta::Decay<Values>&&...)> |
template<typename E> | |
using | di::execution::first_value_ns::SigSetError = CompletionSignatures<SetError(meta::Decay<E>&&)> |
template<typename Seq, typename Env> | |
using | di::execution::first_value_ns::Sigs |
template<typename Seq> | |
using | di::execution::first_value_ns::Sender = meta::Type<SenderT<meta::RemoveCVRef<Seq>>> |
Variables | |
constexpr auto | di::execution::first_value = first_value_ns::Function {} |
Transform a sequence into a sender of its first value. | |