#include <iostream>

template< class... >
using void_t = void;
 
template<class, class = void_t<>>
struct has_member_type : std::false_type
{ };
 
template<class T>
struct has_member_type<T, void_t<typename T::type>> : std::true_type
{ };
 
int main()
{
    std::cout << has_member_type<int>::value << '\n';
 
    return 0;
}
