C++ 命名需求: UnaryTypeTrait (自 C++11 起)
来自 cppreference.com
一个 UnaryTypeTrait 是一个类模板,它使用一个 std::integral_constant(通常为 std::bool_constant)特化来描述其模板类型参数的属性。
[编辑] 需求
- DefaultConstructible 和 CopyConstructible.
- 接受一个模板类型参数(额外的模板参数是可选的且允许的)。
- 公开且明确地派生自 std::integral_constant 的特化,称为其基本特征。
- 基本特征 的成员名称不会被隐藏,并且可以明确地访问。
[编辑] 标准库
以下 类型特征 都满足 UnaryTypeTrait
以下标准库类模板也满足 UnaryTypeTrait.
(C++11) |
具有指定类型和指定值的编译时常量 (类模板) |
(C++17) |
逻辑非元函数 (类模板) |
(C++11) |
获取 一个 |
(C++11) |
获取 array 的大小(类模板特化) |
(C++11) |
获取 pair 的大小(类模板特化) |
(C++17) |
在编译时获取 variant 的备选方案列表的大小(类模板) (变量模板) |
(C++11) |
指示对象是否为 std::bind 表达式或是否可以用作 std::bind 表达式(类模板) |
(C++11) |
指示对象是否为标准占位符或是否可以用作标准占位符 (类模板) |
(C++17) |
测试类是否表示执行策略 (类模板) |