1#ifndef TATOOINE_STATIC_SET_H
2#define TATOOINE_STATIC_SET_H
20template <
typename... Ts>
28template <
typename... Types>
30 : std::integral_constant<std::size_t, sizeof...(Types)> {};
39template <
typename... Types, std::size_t I>
50template <
typename... Ts,
typename T>
52 static auto constexpr value =
62template <
typename TypeList,
typename NewType,
typename... TypesAccumulator>
66template <
typename SetHead,
typename... SetRest,
typename NewType,
67 typename... TypesAccumulator>
69 TypesAccumulator...> {
72 TypesAccumulator..., SetHead>::type;
76template <
typename SetHead,
typename... SetRest,
typename NewType,
77 typename... TypesAccumulator>
79 TypesAccumulator...> {
82 TypesAccumulator..., SetHead>::type;
86template <
typename SetHead,
typename... SetRest,
typename... TypesAccumulator>
88 TypesAccumulator...> {
93template <
typename SetHead,
typename... SetRest,
typename... TypesAccumulator>
95 TypesAccumulator...> {
100template <
typename NewType,
typename... TypesAccumulator>
105template <
typename NewType,
typename... TypesAccumulator>
110template <
typename TypeList,
typename NewType>
117template <
typename TypeList,
typename... Ts>
120template <
typename TypeList,
typename T,
typename... Ts>
126template <
typename ...Ts>
131template <
typename... Ts>
137template <
typename... Ts>
140 template <
typename T>
typename type_set_constructor< type_list<>, Ts... >::type type_set
Definition: type_set.h:132
typename type_set_insert_impl< TypeList, NewType >::type type_set_insert
Definition: type_set.h:111
Definition: algorithm.h:6
T type
Definition: common_type.h:13
typename type_list_at_impl< type_list< Types... >, I >::type type
Definition: type_set.h:41
Access to the Ith element of TypeList.
Definition: type_list.h:51
Definition: type_list.h:224
An empty struct that holds types.
Definition: type_list.h:248
Size of a tatooine::type_list_impl.
Definition: type_list.h:30
typename type_set_constructor< type_set_insert< TypeList, T >, Ts... >::type type
Definition: type_set.h:123
Definition: type_set.h:118
Inherits from a type_list with only unique types.
Definition: type_set.h:138
type_set_insert< this_type, T > insert
Definition: type_set.h:141
typename type_set_insert_impl< type_list< SetRest... >, NewType, TypesAccumulator..., SetHead >::type type
Definition: type_set.h:72
typename type_set_insert_impl< type_set_impl< SetRest... >, NewType, TypesAccumulator..., SetHead >::type type
Definition: type_set.h:82
Definition: type_set.h:63