42 #define ABL_METAFUNCTION_T(name__) \
43 template <typename... Ts> \
44 using name__ ## _t = ::atria::meta::eval_t<name__ <Ts...> > \
52 constexpr
auto eval_v = T::type::value;
58 #define ABL_METAFUNCTION_V(name__) \
59 template <typename... Ts> \
60 constexpr auto name__ ## _v = ::atria::meta::eval_v<name__ <Ts...> > \
63 #define ABL_METAFUNCTION_V(name__)
C++ amazing templates and reusable implementations awesomeness.