1 #ifndef _midge_typechain_hh_ 2 #define _midge_typechain_hh_ 44 template<
class x_prototype,
int x_index,
class... x_types >
48 template<
class x_prototype,
class... x_types >
52 template<
class x_prototype,
int x_index,
class x_head,
class... x_tail >
53 class type_chain< x_prototype, x_index, x_head, x_tail... > :
54 public type_replace< type_replace< x_prototype, _type, x_head >, _index, type_int< x_index > >,
55 public type_chain< x_prototype, x_index + 1, x_tail... >
62 template<
class... x_args >
75 template<
class x_prototype,
int x_index >
79 template<
class... x_args >
typename type_replace_imp< x_list, x_find, x_replace >::type type_replace
type_chain(x_args... args)
std::integral_constant< int, x_value > type_int
Wraps integral constant x_value in a type; value is available as type_int::value. ...
The prototype class that gets replaced by a type index (or rather the struct that wraps a type's inde...
type_replace< type_replace< x_prototype, _type, x_head >, _index, type_int< x_index > > this_type