<type_traits>
定义模板,可提供编译时常数,以提供有关它们的类型参数的属性信息。
#include <type_traits>
备注
A 类型的谓词是一个模板,使用一个或两个类型的参数。 当类型谓词如此,它公开派生时,直接或间接从true_type Typedef。 当类型谓词包含 false,它公开派生时,直接或间接从false_type Typedef。
A 类型修饰符是采用一个或多个模板参数的模板,并有一个成员,如下:
- typedef modified-type type;
A 类型查询是采用一个或多个模板参数的模板。 公开派生类型查询,直接或间接从integral_constant<std::size_t, value>。 它包含作为参数传递的值value。
类
使const类型的类型。 |
|
使const/volatile类型的类型。 |
|
可以键入从类型的指针。 |
|
使引用类型键入。 |
|
使volatile类型的类型。 |
|
使适当对齐的类型。 |
|
获取类型的对齐方式。 |
|
使这两种常见类型的实例。 |
|
使这两种常见类型的实例。 |
|
使非引用、 非常量或非易失性的类型,或使键入的指针。 |
|
将未定义的类型或类型的实例。 |
|
获取数组维度。 |
|
测试是否类型不会引发分配。 |
|
测试是否默认构造函数不会引发该类型。 |
|
测试是否复制构造函数不会引发该类型。 |
|
如果类型不会复制构造函数引发的测试。 |
|
如果类型没有默认构造函数引发的测试。 |
|
测试是否具有普通分配的类型。 |
|
测试是否该类型具有一个常用的默认构造函数。 |
|
测试是否该类型具有普通复制构造函数。 |
|
测试类型都有一个简单的复制构造函数。 |
|
测试类型都有一个常用的默认构造函数。 |
|
测试是否具有用析构函数的类型。 |
|
测试是否具有虚拟析构函数的类型。 |
|
测试该类型是抽象类。 |
|
测试是否算术类型。 |
|
测试该类型是数组。 |
|
测试是否是一种类型的另一个。 |
|
测试该类型是类。 |
|
测试该类型不是标量。 |
|
检测是否为常数的类型。 |
|
测试是否转换为另一种类型。 |
|
测试该类型是一个空类。 |
|
测试该类型是枚举。 |
|
测试是否浮点类型。 |
|
测试该类型是一种函数类型。 |
|
测试该类型是void或算术。 |
|
测试该类型是不可或缺。 |
|
如果类型是测试lvalue的引用。 |
|
测试该类型是指向成员函数的指针。 |
|
测试该类型是指向成员对象的指针。 |
|
测试该类型是指向成员的指针。 |
|
测试该类型是对象类型。 |
|
测试该类型是盒。 |
|
测试该类型是一个指针。 |
|
测试是否该类型具有虚函数。 |
|
测试该类型是引用。 |
|
如果类型是测试rvalue的引用。 |
|
测试两种类型是否相同。 |
|
测试是否标量类型。 |
|
测试该类型是一个有符号的整数。 |
|
如果类型的标准版式的测试。 |
|
该类型是一个联合测试。 |
|
测试该类型是一个无符号的整数。 |
|
测试是否的类型为 void。 |
|
该类型是易失性测试。 |
|
使键入或最小签名键入大于或等于输入的大小。 |
|
使键入或最小的无符号键入大于或等于输入的大小。 |
|
获取数组的维度数。 |
|
从数组类型将使非数组类型。 |
|
从类型将使非 const 类型。 |
|
从类型将使非易失 const/类型。 |
|
可键入从数组类型的元素。 |
|
使键入从键入的指针。 |
|
从类型将使非引用类型。 |
|
从类型将使非易失性类型。 |
|
使整型常数的类型和值。 |
Typedef
包含使用 false 值的整型常数。 |
|
包含 true 值的整型常数。 |