命名空间
变体
操作

C++ 命名要求: BinaryPredicate

来自 cppreference.com
 
 
C++ 命名要求
 

BinaryPredicate 是一组标准库设施对其用户提供的参数所期望的要求。

给定一个 BinaryPredicate bin_pred 和一对迭代器 iter1iter2 或一个迭代器 iter 和一个(可能为 const)的值 value,表达式 bin_pred(*iter1, *iter2) 或分别为 bin_pred(*iter, value) 的类型和值类别必须满足 BooleanTestable 要求。

此外,不允许该表达式的求值调用解引用迭代器的非 const 成员函数;从语法上讲,谓词必须接受 const 对象参数,无论其参数是 const 还是非 const,都具有相同的行为。

[编辑] 要求

[编辑] 标准库

以下标准库设施期望一个 BinaryPredicate,它不是 Compare 类型。

删除连续的重复元素
(public member function of std::forward_list<T,Allocator>) [编辑]
删除连续的重复元素
(public member function of std::list<T,Allocator>) [编辑]
在某个范围内找到最后一个元素序列
(function template) [编辑]
搜索一组元素中的任何一个
(function template) [编辑]
找到第一个相等(或满足给定谓词)的两个相邻项
(function template) [编辑]
找到两个范围不同的第一个位置
(function template) [编辑]
确定两组元素是否相同
(function template) [编辑]
确定一个序列是否是另一个序列的排列
(function template) [编辑]
搜索一组元素的第一个出现位置
(function template) [编辑]
搜索某个范围内连续出现一个元素的次数
(function template) [编辑]
删除某个范围内的连续重复元素
(function template) [编辑]
创建某个元素范围的副本,该副本不包含连续的重复项
(function template) [编辑]
(C++17 中已弃用)(C++20 中已移除)
构造自定义 std::binary_negate 对象
(function template) [编辑]
由键哈希的唯一键的集合
(class template) [编辑]
由键哈希的键值对的集合,键是唯一的
(class template) [编辑]
由键哈希的键的集合
(class template) [编辑]
由键哈希的键值对的集合
(class template) [编辑]

[编辑] 缺陷报告

以下行为更改的缺陷报告被追溯地应用于以前发布的 C++ 标准。

DR 应用于 发布的行为 正确的行为
LWG 2114
(P2167R3)
C++98 返回值类型到 bool 的可转换性太弱
无法反映实现的预期
要求得到加强
LWG 3031 C++98 const 值的要求不足 要求得到加强