C++ 命名要求: UnaryTypeTrait (自 C++11 起)
来自 cppreference.cn
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 表达式或可用作表达式(类模板) |
(C++11) |
指示对象是否为标准占位符或可用作占位符 (类模板) |
(C++17) |
测试类是否表示执行策略 (类模板) |