#include #include struct A {}; typedef union { int a; float b; } B; struct C { B d; }; int main() { std::cout << std::boolalpha; std::cout << std::is_union::value << '\n'; std::cout << std::is_union::value << '\n'; std::cout << std::is_union::value << '\n'; std::cout << std::is_union::value << '\n'; }