#include <iostream>
/**** I am confused to apply sfinae method here ******/
template <typename T>
struct hasTypeFoo {
//..    
static constexpr bool value = true;
};
/////////////////////////////////////////////////
struct A {
    using Foo = int;
};
struct B {
};
int main()
{
    constexpr bool b1 = hasTypeFoo<A>::value;
    constexpr bool b2 = hasTypeFoo<B>::value;
    std::cout << b1 << b2;
}