Iros
 
Loading...
Searching...
No Matches
is_always_lockstep_sequence.h
Go to the documentation of this file.
1#pragma once
2
9#include "di/meta/constexpr.h"
10
11namespace di::execution {
14 template<typename Env>
15 constexpr auto operator()(Env const& env) const {
17 static_assert(
19 "is_always_lockstep_sequence() customizations must return a di::Constexpr<bool> instance.");
20 return tag_invoke(*this, env);
21 } else {
22 return c_<false>;
23 }
24 }
25 };
26}
27
54}
55
56namespace di::concepts {
62template<typename Send>
66}
Checks if Send is a sequence that is always lockstep.
Definition is_always_lockstep_sequence.h:63
Checks if T is a Constexpr instance with value U.
Definition constexpr.h:279
Definition sequence_sender.h:102
Definition tag_invoke.h:33
Definition any_storable.h:9
Definition is_always_lockstep_sequence.h:12
Definition bulk.h:30
constexpr auto is_always_lockstep_sequence
A query that returns whether or not a sequence is always lockstep.
Definition is_always_lockstep_sequence.h:53
decltype(function::detail::invoke_impl(util::declval< Ts >()...)) InvokeResult
Definition invoke.h:64
constexpr auto SequenceCardinality
Gets the cardinality of a sequence.
Definition get_sequence_cardinality.h:55
decltype(execution::get_env(util::declval< T >())) EnvOf
Definition env_of.h:8
di::meta::Decay< decltype(T)> Tag
Definition tag_invoke.h:28
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
constexpr auto c_
A value of type Constexpr<val>.
Definition constexpr.h:252
Defines the sequence sender concepts and related CPOs.
Definition forwarding_query.h:8
Definition is_always_lockstep_sequence.h:13
constexpr auto operator()(Env const &env) const
Definition is_always_lockstep_sequence.h:15