8template <
template <
typename...>
class List,
typename...
Ts>
11 template <std::
size_t Idx>
17 template <
template <
typename>
class F>
20 template <
template <
typename>
class F>
23 template <std::
size_t Idx>
24 requires(
sizeof...(Ts) > 0 &&
Idx <
sizeof...(
Ts))
27 template <std::
size_t Idx>
30 template <std::
size_t Idx>
33 template <std::
size_t Idx>
42 template <
template <
typename...>
class T>
45 template <
typename F,
typename...
Args>
50 template <
typename F,
typename...
Args>
55 template <
typename F,
typename...
Args>
63template <
typename...
Ts>
66template <
template <
auto...>
class List,
auto...
Vs>
70 template <
template <
typename...>
class T =
TypeList>
73 template <
template <
typename...>
class T =
TypeList>
76 template <std::
size_t Idx>
77 requires(
sizeof...(Vs) > 0 &&
Idx <
sizeof...(
Vs))
80 template <std::
size_t Idx>
83 template <std::
size_t Idx>
87 template <std::
size_t Idx>
90 template <std::
size_t Idx>
99 template <
template <
auto...>
class T>
102 template <
typename F,
typename...
Args>
107 template <
typename F,
typename...
Args>
112 template <
typename F,
typename...
Args>
typename detail::UnwrapValue< List, T >::type unwrap
Definition pack.h:87
List< ValueWrapper< Vs >... > wrap
Definition pack.h:84
std::string code_for()
Definition repr:39
static constexpr void enumerate(F &&callable, Args &&... args)
Definition list.h:56
List< F< Ts >... > map
Definition list.h:18
List< Ts..., T > append
Definition list.h:37
T< Ts... > to
Definition list.h:43
typename pack::Split< Idx, List< Ts... > >::type get
Definition list.h:25
List< typename F< Ts >::type... > map_t
Definition list.h:21
List< typename do_split< Idx >::head, typename do_split< Idx >::tail > split
Definition list.h:28
List< T, Ts... > prepend
Definition list.h:40
static constexpr decltype(auto) invoke(F &&callable, Args &&... args)
Definition list.h:46
typename do_split< Idx >::head head
Definition list.h:31
typename do_split< Idx >::tail tail
Definition list.h:34
static constexpr void for_each(F &&callable, Args &&... args)
Definition list.h:51
static constexpr std::size_t size
Definition list.h:15
T< decltype(Vs)... > types
Definition list.h:74
List< V, Vs... > prepend
Definition list.h:97
static constexpr void for_each(F &&callable, Args &&... args)
Definition list.h:108
static constexpr std::size_t size
Definition list.h:68
typename do_split< Idx >::tail tail
Definition list.h:91
pack::wrap< T, Vs... > wrap
Definition list.h:71
List< Vs..., V > append
Definition list.h:94
static constexpr auto get
Definition list.h:78
static constexpr void enumerate(F &&callable, Args &&... args)
Definition list.h:113
T< Vs... > to
Definition list.h:100
static constexpr decltype(auto) invoke(F &&callable, Args &&... args)
Definition list.h:103
typename do_split< Idx >::head head
Definition list.h:88
List<> tail
Definition pack.h:26
List< Ts... > head
Definition pack.h:25