1 // Header for PCH test cxx-traits.cpp 2 3 namespace n { 4 5 template<typename _Tp> 6 struct __is_pod { // expected-warning {{keyword '__is_pod' will be made available as an identifier for the remainder of the translation unit}} 7 enum { __value }; 8 }; 9 10 template<typename _Tp> 11 struct __is_empty { // expected-warning {{keyword '__is_empty' will be made available as an identifier for the remainder of the translation unit}} 12 enum { __value }; 13 }; 14 15 template<typename T, typename ...Args> 16 struct is_trivially_constructible { 17 static const bool value = __is_trivially_constructible(T, Args...); 18 }; 19 20 struct __is_abstract {}; // expected-warning {{made available}} 21 struct __is_arithmetic {}; // expected-warning {{made available}} 22 struct __is_array {}; // expected-warning {{made available}} 23 struct __is_assignable {}; // expected-warning {{made available}} 24 struct __is_base_of {}; // expected-warning {{made available}} 25 struct __is_class {}; // expected-warning {{made available}} 26 struct __is_complete_type {}; // expected-warning {{made available}} 27 struct __is_compound {}; // expected-warning {{made available}} 28 struct __is_const {}; // expected-warning {{made available}} 29 struct __is_constructible {}; // expected-warning {{made available}} 30 struct __is_convertible {}; // expected-warning {{made available}} 31 struct __is_convertible_to {}; // expected-warning {{made available}} 32 struct __is_destructible {}; // expected-warning {{made available}} 33 struct __is_enum {}; // expected-warning {{made available}} 34 struct __is_floating_point {}; // expected-warning {{made available}} 35 struct __is_final {}; // expected-warning {{made available}} 36 struct __is_function {}; // expected-warning {{made available}} 37 struct __is_fundamental {}; // expected-warning {{made available}} 38 struct __is_integral {}; // expected-warning {{made available}} 39 struct __is_interface_class {}; // expected-warning {{made available}} 40 struct __is_literal {}; // expected-warning {{made available}} 41 struct __is_lvalue_expr {}; // expected-warning {{made available}} 42 struct __is_lvalue_reference {}; // expected-warning {{made available}} 43 struct __is_member_function_pointer {}; // expected-warning {{made available}} 44 struct __is_member_object_pointer {}; // expected-warning {{made available}} 45 struct __is_member_pointer {}; // expected-warning {{made available}} 46 struct __is_nothrow_assignable {}; // expected-warning {{made available}} 47 struct __is_nothrow_constructible {}; // expected-warning {{made available}} 48 struct __is_nothrow_destructible {}; // expected-warning {{made available}} 49 struct __is_object {}; // expected-warning {{made available}} 50 struct __is_pointer {}; // expected-warning {{made available}} 51 struct __is_polymorphic {}; // expected-warning {{made available}} 52 struct __is_reference {}; // expected-warning {{made available}} 53 struct __is_rvalue_expr {}; // expected-warning {{made available}} 54 struct __is_rvalue_reference {}; // expected-warning {{made available}} 55 struct __is_same {}; // expected-warning {{made available}} 56 struct __is_scalar {}; // expected-warning {{made available}} 57 struct __is_sealed {}; // expected-warning {{made available}} 58 struct __is_signed {}; // expected-warning {{made available}} 59 struct __is_standard_layout {}; // expected-warning {{made available}} 60 struct __is_trivial {}; // expected-warning {{made available}} 61 struct __is_trivially_assignable {}; // expected-warning {{made available}} 62 struct __is_trivially_constructible {}; // expected-warning {{made available}} 63 struct __is_trivially_copyable {}; // expected-warning {{made available}} 64 struct __is_union {}; // expected-warning {{made available}} 65 struct __is_unsigned {}; // expected-warning {{made available}} 66 struct __is_void {}; // expected-warning {{made available}} 67 struct __is_volatile {}; // expected-warning {{made available}} 68 69 70 } 71