enum | TypeTraitIndex : std::size_t {
is_void,
is_null_pointer,
is_integral,
is_floating_point,
is_array,
is_enum,
is_union,
is_class,
is_function,
is_pointer,
is_lvalue_reference,
is_rvalue_reference,
is_member_object_pointer,
is_member_function_pointer,
is_fundamental,
is_arithmetic,
is_scalar,
is_object,
is_compound,
is_reference,
is_member_pointer,
is_const,
is_volatile,
is_trivial,
is_trivially_copyable,
is_standard_layout,
is_pod,
is_literal_type,
is_empty,
is_polymorphic,
is_abstract,
is_signed,
is_unsigned,
is_default_constructible,
is_copy_constructible,
is_move_constructible,
is_copy_assignable,
is_move_assignable,
is_destructible,
is_trivially_default_constructible,
is_trivially_copy_constructible,
is_trivially_move_constructible,
is_trivially_copy_assignable,
is_trivially_move_assignable,
is_trivially_destructible,
is_nothrow_default_constructible,
is_nothrow_copy_constructible,
is_nothrow_move_constructible,
is_nothrow_copy_assignable,
is_nothrow_move_assignable,
is_nothrow_destructible,
has_virtual_destructor,
ALWAYS_AT_END_PLEASE__ACTUALLY_NOT_A_TRAIT_INDEX
} |