#include #include #include struct Ex1 { int n; }; int main() { std::cout << std::boolalpha << "int is assignable from int? " << std::is_assignable::value << '\n' // 1 = 1; wouldn't compile << "int& is assignable from int? " << std::is_assignable::value << '\n' // int a; a = 1; works << "int is assignable from double? " << std::is_assignable::value << '\n' << "int& is nothrow assignable from double? " << std::is_nothrow_assignable::value << '\n' << "string is assignable from double? " << std::is_assignable::value << '\n' << "Ex1& is trivially assignable from const Ex1&? " << std::is_trivially_assignable::value << '\n'; }