Iros
 
Loading...
Searching...
No Matches
get_sequence_cardinality.h
Go to the documentation of this file.
1#pragma once
2
9#include "di/meta/constexpr.h"
10#include "di/types/integers.h"
11
12namespace di::execution {
15 template<typename Env>
16 constexpr auto operator()(Env const& env) const {
19 "sequence_cardinality() customizations must return a di::Constexpr<usize> instance.");
20 return tag_invoke(*this, env);
21 } else {
23 }
24 }
25 };
26}
27
46}
47
48namespace di::meta {
54template<typename Sequence>
55constexpr inline auto SequenceCardinality =
57 ? 1ZU
59}
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 get_sequence_cardinality.h:13
Definition bulk.h:30
constexpr auto get_sequence_cardinality
A query that returns the cardinality of a sequence.
Definition get_sequence_cardinality.h:45
Definition merge_interfaces.h:6
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
size_t usize
Definition integers.h:33
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 get_sequence_cardinality.h:14
constexpr auto operator()(Env const &env) const
Definition get_sequence_cardinality.h:16