名稱空間
變體
操作

C++ 命名要求: BinaryPredicate

來自 cppreference.com
 
 
C++ 命名要求
基本
型別屬性
全庫範圍
BinaryPredicate(二元謂詞)




Container(容器)
容器元素
迭代器 (Iterator)
流 I/O
格式化器
隨機數
併發
Ranges(範圍)
多維檢視
其他

 

BinaryPredicate 是一組標準庫設施對使用者提供的引數所期望的要求。

給定一個 BinaryPredicate bin_pred 和一對迭代器 iter1iter2,或者一個迭代器 iter 和一個(可能是 const)值 value,表示式 bin_pred(*iter1, *iter2) 或,相應地,bin_pred(*iter, value) 的型別和值類別必須滿足 BooleanTestable 要求。

此外,該表示式的求值不允許呼叫解引用迭代器的非 const 成員函式;語法上,謂詞必須接受 const 物件引數,並且無論其引數是 const 還是非 const,其行為都相同。

[編輯] 要求

[編輯] 標準庫

以下標準庫設施期望一個不是 Compare 型別的 BinaryPredicate

移除連續的重複元素
(std::forward_list<T,Allocator> 的 public 成員函式) [編輯]
移除連續的重複元素
(std::list<T,Allocator> 的 public 成員函式) [編輯]
在特定範圍中尋找最後一次出現的元素序列
(函式模板) [編輯]
搜尋一組元素中的任何一個
(函式模板) [編輯]
尋找第一對相等的(或滿足給定謂詞的)相鄰項
(函式模板) [編輯]
尋找兩個範圍開始不同的第一個位置
(函式模板) [編輯]
判斷兩組元素是否相同
(函式模板) [編輯]
確定一個序列是否是另一個序列的排列
(函式模板) [編輯]
搜尋一個範圍的元素首次出現的位置
(函式模板) [編輯]
在一個範圍內搜尋一個元素的連續 N 次副本首次出現的位置
(函式模板) [編輯]
移除一個範圍中的連續重複元素
(函式模板) [編輯]
建立一個不含連續重複元素的某個元素範圍的副本
(函式模板) [編輯]
(C++17 中已棄用)(C++20 中已移除)
構造自定義的 std::binary_negate 物件
(函式模板) [編輯]
由鍵雜湊的唯一鍵集合
(類模板) [編輯]
鍵值對的集合,按鍵雜湊,鍵是唯一的
(類模板) [編輯]
鍵的集合,按鍵雜湊
(類模板) [編輯]
鍵值對集合,按鍵雜湊
(類模板) [編輯]

[編輯] 缺陷報告

下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。

缺陷報告 應用於 釋出時的行為 正確的行為
LWG 2114
(P2167R3)
C++98 返回型別到 bool 的可轉換性太弱
無法反映實現的預期
要求已加強
LWG 3031 C++98 const 值的要求不足 要求已加強