di 0.1.0
Loading...
Searching...
No Matches
tuple_elements.h
Go to the documentation of this file.
1#include "di/meta/algorithm.h"
2#include "di/meta/constexpr.h"
3#include "di/types/prelude.h"
6
7namespace di::meta {
8namespace detail {
9 template<typename...>
10 struct GetElementHelper;
11
12 template<typename Tup, usize index>
13 struct GetElementHelper<Tup, Constexpr<index>> : TypeConstant<TupleElement<Tup, index>> {};
14
15 template<concepts::TupleLike Tup>
16 struct GetElement {
17 template<typename... Args>
18 using Invoke = meta::Type<GetElementHelper<Tup, Args...>>;
19 };
20}
21
22template<concepts::TupleLike Tup>
25}
Definition merge_interfaces.h:6
T::Type Type
Definition core.h:26
meta::Transform< meta::AsList< meta::MakeIndexSequence< meta::TupleSize< Tup > > >, detail::GetElement< Tup > > TupleElements
Definition tuple_elements.h:23
detail::TransformHelper< List, Function >::Type Transform
Definition algorithm.h:186