50 template <
typename... Ts>
55 static constexpr std::size_t
size =
sizeof...(Ts);
71 template <
typename Index,
typename List>
75 template <std::size_t Index,
typename Head,
typename... Tail>
76 struct get<
nano::
size_t<Index>,
list<Head, Tail...>> :
public get<nano::size_t<Index - 1>, list<Tail...>> {};
79 template <
typename Head,
typename... Tail>
85 template <std::
size_t Index,
typename List>
95 template <
typename Type,
typename List>
99 template <
typename Type,
typename Head,
typename... Tail>
105 static constexpr
int result = next_result >= 0 ? next_result + 1 : -1;
109 template <
typename Type,
typename... Tail>
112 static constexpr
int result = 0;
116 template <
typename Type>
119 static constexpr
int result = -1;
130 template <
typename Type,
typename List>
134 template <
typename Type,
typename Head,
typename... Tail>
139 static constexpr
bool constant_list =
true;
144 static constexpr
int result = next_result <= 0 ? 0 : next_result + 1;
148 template <
typename Type,
typename... Tail>
151 static constexpr
bool constant_list =
true;
153 static constexpr
int result = 0;
157 template <
typename Type>
160 static constexpr
bool constant_list =
true;
162 static constexpr
int result = 1;
172 template <
typename Type,
typename List>
175 template <
typename Type,
typename Head,
typename... Tail>
180 static constexpr
bool constant_list =
false;
182 static constexpr
bool result = Head::value == -1 ?
true :
false;
191 template <
typename List1,
typename List2>
195 template <
typename... Ts,
typename... Us>
200 #endif // NANO_LIST_HPP
Just check if the first element of the list was found (searching should be done beforehand) ...
Definition: list.hpp:173
Simply an identifier to identify meta types and meta functions.
Definition: eval.hpp:40
Definition: containers.hpp:34
Joins two lists.
Definition: list.hpp:192
Find the index of a specific type in the list (the index of the first occurrence). If the type is not found then the value 'parameter' will be -1.
Definition: list.hpp:96
Meta class that holds types, and allows functions to be applied to the elements of the list using the...
Definition: list.hpp:51
To check if a type in a list is not found. Where the find_type tries to find a type and get its index...
Definition: list.hpp:131
static constexpr std::size_t size
The size of the list.
Definition: list.hpp:55
Meta function to get an element from a list.
Definition: list.hpp:72
Wrapper around size_t for static size_t types used by metaclass and metafunctions in nano...
Definition: numeric_types.hpp:40