1 2 3 4 5 6 7 8 9 10 11 12 13 14
| template <typename T, typename ...Args> struct has_member_foo11 { private: template<typename U> static auto check(int) -> decltype(std::declval<U>().foo(std::declval<Args>()...), std::true_type());
template<typename U> static std::false_type check(...);
public: enum { value = std::is_same<decltype(check<T>(0)),std::true_type>::value }; };
|