Go to the documentation of this file. 11 #ifndef TLX_META_HAS_MEMBER_HEADER 12 #define TLX_META_HAS_MEMBER_HEADER 36 #define TLX_MAKE_HAS_MEMBER(Member) \ 37 template <typename Type> \ 38 class has_member_ ## Member \ 40 template <typename C> \ 41 static char test(decltype(&C::Member)); \ 42 template <typename C> \ 43 static int test(...); \ 45 static const bool value = ( \ 46 sizeof(test<Type>(0)) == sizeof(char)); \ 61 #define TLX_MAKE_HAS_TEMPLATE_MEMBER(Member) \ 62 template <typename Type, typename... Args> \ 63 class has_member_ ## Member \ 65 template <typename C> \ 66 static char test(decltype(&C::template Member<Args...>)); \ 67 template <typename C> \ 68 static int test(...); \ 70 static const bool value = ( \ 71 sizeof(test<Type>(0)) == sizeof(char)); \ 78 #endif // !TLX_META_HAS_MEMBER_HEADER