#ifndef CPP_UTILS_H #define CPP_UTILS_H #include template< class... > using void_t = void; #define HAS_METHOD(method)\ template \ struct _has_##method : std::false_type{};\ \ template \ struct _has_##method>>\ : std::true_type{};\ \ template< class T>\ static inline constexpr bool has_##method = _has_##method::value; #endif // CPP_UTILS_H