std::experimental::ranges::Predicate
来自 cppreference.com
< cpp | experimental | ranges
定义在头文件 <experimental/ranges/concepts> 中 |
||
template< class F, class... Args > concept bool Predicate = |
(范围 TS) | |
概念 Predicate<F, Args...>
指定 F
是一个谓词,它接受类型和值类别由 Args...
编码的参数,即,它可以使用这些参数调用以产生一个 Boolean
结果。
请注意,RegularInvocable
要求调用不修改可调用对象或参数,并且是相等性保持的。
[编辑] 相等性保持
如果表达式在给定相等输入的情况下产生相等输出,则该表达式为相等性保持。
- 表达式的输入包括其操作数。
- 表达式的输出包括其结果和表达式修改的所有操作数(如果有)。
每个需要保持相等性的表达式都必须进一步满足稳定:如果在没有对这些输入对象进行显式干预修改的情况下,对这样的表达式进行两次求值,使用相同的输入对象,则必须具有相等的输出。