C++ 具名要求:二元谓词 (BinaryPredicate)
来自cppreference.com
                    
                                        
                    
                    
                                                            
                    二元谓词 (BinaryPredicate) 是一些标准库设施针对用户提供的实参所期待的一组要求。
给定二元谓词 (BinaryPredicate)  bin_pred 和一对迭代器 iter1 与 iter2 或一个迭代器 iter 与值 value,表达式 bin_pred(*iter1, *iter2) 或 bin_pred(*iter, value) 必须可按语境转换为 bool。
另外,不允许表达式的求值调用解引用迭代器的非 const 成员函数。
要求
- 谓词 (Predicate)
 - 可复制构造 (CopyConstructible) (除非另行指明)
 
标准库
下列标准库设施期待并非比较 (Compare) 类型的二元谓词 (BinaryPredicate) 。
|    删除连续的重复元素  ( std::forward_list<T,Allocator> 的公开成员函数)  | |
|    删除连续的重复元素  ( std::list<T,Allocator> 的公开成员函数)  | |
|    在特定范围中寻找最后出现的元素序列  (函数模板)  | |
|    搜索元素集合中的任意元素   (函数模板)  | |
|    查找首对相邻的相同(或满足给定谓词的)元素   (函数模板)  | |
|    寻找两个范围出现不同的首个位置   (函数模板)  | |
|    确定两个元素集合是否是相同的   (函数模板)  | |
|    (C++11)  | 
   判断一个序列是否为另一个序列的排列   (函数模板)  | 
|    搜索一个元素范围   (函数模板)  | |
|    在范围中搜索一定量的某个元素的连续副本   (函数模板)  | |
|    移除范围内的连续重复元素   (函数模板)  | |
|    创建某范围的不含连续重复元素的副本   (函数模板)  | |
|    (C++17 中弃用)(C++20 中移除)  | 
  构造定制的 std::binary_negate 对象  (函数模板)  | 
|    (C++11 起)  | 
   唯一键的集合,按照键生成散列   (类模板)  | 
|    (C++11 起)  | 
   键值对的集合,按照键生成散列,键是唯一的   (类模板)  | 
|    (C++11 起)  | 
   键的集合,按照键生成散列   (类模板)  | 
|    (C++11 起)  | 
   键值对的集合,按照键生成散列   (类模板)  |