23 #ifndef LELY_CO_TYPE_HPP_
24 #define LELY_CO_TYPE_HPP_
27 #error "include <lely/co/type.h> for the C interface"
38 template <co_
unsigned16_t N,
class T>
41 static const co_unsigned16_t
index = N;
47 template <co_
unsigned16_t N>
50 #define LELY_CO_DEFINE_TYPE(a, b, c, d) \
52 struct co_type_traits_N<CO_DEFTYPE_##a> \
53 : co_type_traits<CO_DEFTYPE_##a, co_##b##_t> {};
54 #include <lely/co/def/type.def>
55 #undef LELY_CO_DEFINE_TYPE
61 #define LELY_CO_DEFINE_TYPE(a, b, c, d) \
63 struct co_type_traits_T<d> : co_type_traits<CO_DEFTYPE_##a, d> {};
64 #include <lely/co/def/cxx.def>
65 #undef LELY_CO_DEFINE_TYPE
67 template <::std::
size_t N>
71 template <::std::
size_t N>
77 #endif // !LELY_CO_TYPE_HPP_