C++ 具名要求:二元类型特征 (BinaryTypeTrait)
二元类型特征 (BinaryTypeTrait) 是类模板,以一个 intergral_constant (典型地为 bool_constant ) 特化描述其二个模板类型形参间的关系。
要求
- 可默认构造 (DefaultConstructible) 并可复制构造 (CopyConstructible)
- 接收二个模板类型形参(允许可选的额外模板形参)
- 公开且无歧义地从被称为其基特征( base characteristic )的 intergral_constant 特化派生
- 基特征的成员名未被隐藏,且无歧义地可用
标准库
下列标准库类模板满足二元类型特征 (BinaryTypeTrait) 。
(C++11) |
检查两个类型是否相同 (类模板) |
(C++11) |
检查一个类型是否派生自另一个类型 (类模板) |
(C++11)(C++20) |
检查是否能转换一个类型为另一类型 (类模板) |
检查类型能否以给定的实参类型调用(如同以 std::invoke) (类模板) | |
(C++11) |
检查指定的类型是否支持使用分配器的构造 (类模板) |