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 构造 (类模板) |