C++ 命名需求: BinaryTypeTrait (自 C++11 起)
来自 cppreference.com
一个 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) |
检查指定类型是否支持使用分配器构造 (类模板) |