C++之type traits
目录
- 帮助类
- std::integral_constant
- bool_constant
- 主要类型分类
- std::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_empty
- is_polymorphic
- is_abstract
- is_final
- is_aggregate
- is_signed
- is_unsigned
- 支持的操作
- 构造
- 析构
- 拷贝构造
- 移动构造
- 特定参数的赋值运算符
- 拷贝赋值运操作
- 移动赋值操作
- 是否有未删除的析构
- 是否有虚析构
- 属性查询
- alignment_of
- rank
- extent
- 类型关系
- is_same
- is_base_of
- is_convertible/is_nothrow_convertible
- Const-volatility属性
- 删除cv属性
- 添加cv属性
- 引用
- remove_reference
- add_lvalue_reference
- add_rvalue_reference
- 指针
- remove_pointer
- add_pointer
- 符号修饰符
- make_signed
- make_unsigned
- 数组
- remove_extent
- remove_all_extents
- 不同类型转换
- aligned_storage
- aligned_union
- decay
- remove_cvref
- enable_if
- conditional
- common_type
- underlying_type
Type traits在C++中,尤其是模板中应用极为广泛。头文件:
#include<type_traits>
帮助类
std::integral_constant
bool_constant
主要类型分类
std::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_empty
is_polymorphic
is_abstract
is_final
is_aggregate
is_signed
is_unsigned
支持的操作
构造
is_constructible
is_trivially_constructible
is_nothrow_constructible
析构
is_default_constructible
is_trivially_default_constructible
is_nothrow_default_constructible
拷贝构造
is_copy_constructible
is_trivially_copy_constructible
is_nothrow_copy_constructible
移动构造
is_move_constructible
is_trivially_move_constructible
is_nothrow_move_constructible
特定参数的赋值运算符
is_assignable
is_trivially_assignable
is_nothrow_assignable
拷贝赋值运操作
is_copy_assignable
is_trivially_copy_assignable
is_nothrow_copy_assignable
移动赋值操作
is_move_assignable
is_trivially_move_assignable
is_nothrow_move_assignable
是否有未删除的析构
is_destructible
is_trivially_destructible
is_nothrow_destructible
是否有虚析构
has_virtual_destructor
属性查询
alignment_of
rank
extent
类型关系
is_same
is_base_of
is_convertible/is_nothrow_convertible
Const-volatility属性
删除cv属性
remove_cv
remove_const
remove_volatile
添加cv属性
add_cv
add_const
add_volatile