C++ named requirements: BinaryPredicate
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 (possibly const)(since C++20) 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 ; syntactically, the predicate must accept const object arguments, with the same behavior regardless of whether its arguments are const or non-const(since C++20).
Требования
- Predicate
- CopyConstructible (если не указано иное)
Стандартная библиотека
Следующие средства стандартной библиотеки ожидают BinaryPredicate, который не является типом Compare.
| удаляет последовательные дублирующиеся элементы (общедоступный член-функция 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) | коллекция пар ключ-значение, хэшированные по ключам (шаблон класса) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/named_req/BinaryPredicate