Namespaces
Variants

C++ named requirements: BinaryPredicate

From cppreference.net
C++ named requirements

BinaryPredicate представляет собой набор требований, ожидаемых некоторыми компонентами стандартной библиотеки от предоставляемых пользователем аргументов.

Даны BinaryPredicate bin_pred и пара итераторов iter1 и iter2 или итератор iter и (возможно, const ) значение value , тип и категория значения выражения bin_pred ( * iter1, * iter2 ) или, соответственно, bin_pred ( * iter, value ) должны удовлетворять требованиям BooleanTestable .

Кроме того, при вычислении этого выражения запрещено вызывать неконстантные функции-члены разыменованных итераторов; синтаксически предикат должен принимать const аргументы-объекты, с одинаковым поведением независимо от того, являются ли его аргументы const или не- const .

Требования

Стандартная библиотека

Следующие средства стандартной библиотеки ожидают BinaryPredicate , который не является типом Compare .

удаляет последовательные дублирующиеся элементы
(публичная функция-член std::forward_list<T,Allocator> )
удаляет последовательные дублирующиеся элементы
(публичная функция-член std::list<T,Allocator> )
находит последнюю последовательность элементов в заданном диапазоне
(шаблон функции)
ищет любой из набора элементов
(шаблон функции)
находит первые два соседних элемента, которые равны (или удовлетворяют заданному предикату)
(шаблон функции)
находит первую позицию, в которой два диапазона различаются
(шаблон функции)
определяет, идентичны ли два набора элементов
(шаблон функции)
определяет, является ли последовательность перестановкой другой последовательности
(шаблон функции)
ищет первое вхождение диапазона элементов
(шаблон функции)
ищет первое вхождение заданного количества последовательных копий элемента в диапазоне
(шаблон функции)
удаляет последовательные дублирующиеся элементы в диапазоне
(шаблон функции)
создаёт копию диапазона элементов, не содержащую последовательных дубликатов
(шаблон функции)
(устарело в C++17) (удалено в C++20)
создаёт пользовательский объект std::binary_negate
(шаблон функции)
коллекция уникальных ключей, хэшируемых по ключам
(шаблон класса)
коллекция пар ключ-значение, хэшируемых по ключам, ключи уникальны
(шаблон класса)
коллекция ключей, хэшируемых по ключам
(шаблон класса)
коллекция пар ключ-значение, хэшируемых по ключам
(шаблон класса)

Отчеты о дефектах

Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Применяется к Поведение в опубликованной версии Корректное поведение
LWG 2114
( P2167R3 )
C++98 конвертируемость возвращаемых типов в bool была слишком слабой
для отражения ожиданий реализаций
требования усилены
LWG 3031 C++98 требования к const значениям были недостаточными требования усилены