C++ concepts: BinaryPredicate
From cppreference.com
The concept BinaryPredicate
is a set of requirements expected by some of the standard library facilities from the user-provided arguments.
Given a BinaryPredicate
bin_pred
and a pair of iterators iter1
and iter2
or an iterator iter
and a value value
, the expression bin_pred(*iter1, *iter2) or, respectively, bin_pred(*iter, value), must be contextually convertible to bool.
In addition, evaluation of that expression is not allowed to call non-const member functions of the dereferenced iterators.
[edit] Requirements
-
Predicate
-
CopyConstructible
(unless otherwise specified)
[edit] Standard library
The following standard library facilities expect a BinaryPredicate
which isn't a Compare
type.
removes consecutive duplicate elements (public member function of std::forward_list )
|
|
removes consecutive duplicate elements (public member function of std::list )
|
|
finds the last sequence of elements in a certain range (function template) |
|
searches for any one of a set of elements (function template) |
|
finds the first two adjacent items that are equal (or satisfy a given predicate) (function template) |
|
finds the first position where two ranges differ (function template) |
|
determines if two sets of elements are the same (function template) |
|
(C++11)
|
determines if a sequence is a permutation of another sequence (function template) |
searches for a range of elements (function template) |
|
searches for a number consecutive copies of an element in a range (function template) |
|
removes consecutive duplicate elements in a range (function template) |
|
creates a copy of some range of elements that contains no consecutive duplicates (function template) |
|
constructs custom std::binary_negate object (function template) |
|
(since C++11)
|
collection of unique keys, hashed by keys (class template) |
(since C++11)
|
collection of key-value pairs, hashed by keys, keys are unique (class template) |
(since C++11)
|
collection of keys, hashed by keys (class template) |
(since C++11)
|
collection of key-value pairs, hashed by keys (class template) |