C++ 命名需求: BinaryTypeTrait (自 C++11 起)
来自 cppreference.cn
BinaryTypeTrait 是一种类模板,它通过 std::integral_constant(通常是 std::bool_constant)特化来描述其两个模板类型参数之间的关系。
[编辑] 要求
- DefaultConstructible(可默认构造)和 CopyConstructible(可复制构造)。
- 接受两个模板类型参数(额外的模板参数是可选的且允许)。
- 公开且明确地派生自 std::integral_constant 的特化,称为其基本特性。
- 基本特性的成员名称没有被隐藏,并且可以明确地访问。
[编辑] 标准库
以下标准库类模板满足 BinaryTypeTrait
(C++11) |
检查两个类型是否相同 (类模板) |
(C++11) |
检查一个类型是否为另一个类型的基类 (类模板) |
(C++26) |
检查一个类型是否为另一个类型的虚基类 (类模板) |
(C++11)(C++20) |
检查一个类型是否可以转换为另一个类型 (类模板) |
(C++20) |
检查两个类型是否布局兼容 (类模板) |
检查一个类型是否为另一个类型的指针可互转(初始)基类 (类模板) | |
检查一个类型是否可以使用给定参数类型进行调用(如同通过 std::invoke) (类模板) | |
(C++11) |
检查指定类型是否支持 uses-allocator 构造 (类模板) |