11 template <
typename T>
static char func(
decltype(&T::Reflection));
12 template <
typename T>
static int func(...);
15 enum { value = (
sizeof(func<T>(
nullptr)) ==
sizeof(char)) };
19 template <typename T, typename std::enable_if<IsReflected<T>::value,
int>::type = 0>
21 return &T::Reflection;
25 template <typename T, typename std::enable_if<!IsReflected<T>::value,
int>::type = 0>
27 return GetPrimitiveDescriptor<T>();