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)); \