Go to the documentation of this file. 15 #ifndef MLPACK_CORE_SFINAE_UTILITY 16 #define MLPACK_CORE_SFINAE_UTILITY 36 #define HAS_MEM_FUNC(FUNC, NAME) \ 37 template<typename T, typename sig> \ 39 typedef char yes[1]; \ 40 typedef char no [2]; \ 41 template<typename U, U> struct type_check; \ 42 template<typename _1> static yes &chk(type_check<sig, &_1::FUNC> *); \ 43 template<typename > static no &chk(...); \ 44 static bool const value = sizeof(chk<T>(0)) == sizeof(yes); \