>beg
и >beg2
не обязаны совпадать. Но должна существовать возможность применить указанную операцию или заданный вызываемый объект к элементам этих двух последовательностей.• >dest
— итератор, обозначающий назначение. Последовательность назначения должна быть способна содержать столько элементов, сколько необходимо для исходной последовательности.
• >unaryPred
и >binaryPred
— унарные и бинарные предикаты (см. раздел 10.3.1), возвращающие применимый в условии тип и получающие соответственно один и два аргумента, являющиеся элементами исходного диапазона.
• >comp
— бинарный предикат, отвечающий требованиям упорядочивания по ключу в ассоциативном контейнере (см. раздел 11.2.2).
• >unaryOp
и >binaryOp
— вызываемые объекты (см. раздел 10.3.2), которые могут быть вызваны с одним и двумя аргументами из исходного диапазона соответственно.
А.2.1. Алгоритмы поиска объекта
Эти алгоритмы осуществляют поиск в исходной последовательности заданного значения или последовательности значений.
Каждый алгоритм предоставляет две перегруженных версии. Первая версия для сравнения элементов использует оператор равенства (>==
) базового типа, а вторая использует предоставленные пользователем предикаты >unaryPred
или >binaryPred
.
Для поиска этим алгоритмам требуются итераторы ввода.
>find(beg, end, val)
>find_if(beg, end, unaryPred)
>find_if_not(beg, end, unaryPred)
>count(beg, end, val)
>count_if(beg, end, unaryPred)
Функция >find()
возвращает итератор на первый элемент в исходном диапазоне, равный значению >val
. Функция >find_if()
возвращает итератор на первый элемент, для которого выполняется предикат >unaryPred
. Функция >find_if_not()
возвращает итератор на первый элемент, для которого предикат >unaryPred
возвращает значение >false
. Все три функции возвращают итератор >end
, если искомый элемент не существует.
Функция >count()
возвращает количество вхождений значения >val
. Функция >count_if()
подсчитает количество элементов, для которых предикат >unaryPred
возвращает значение >true
.
>all_of(beg, end, unaryPred)
>any_of(beg, end, unaryPred)
>none_of(beg, end, unaryPred)
Возвращают логическое значение, указывающее, выполняется ли предикат >unaryPred
для всех элементов, какого-нибудь элемента или ни одного элемента соответственно. Если последовательность пуста, функция >any_of()
возвращает значение >false
, а функции >all_of()
и >none_of()
— >true
.
Этим алгоритмам требуются прямые итераторы. Они ищут в исходной последовательности повторяющиеся элементы.
>adjacent_find(beg, end)
>adjacent_find(beg, end, binaryPred)
Возвращает итератор на первую пару смежных совпадающих элементов. Возвращает итератор >end
, если смежных совпадающих элементов нет.
>search_n(beg, end, count, val)
>search_n(beg, end, count, val, binaryPred)
Возвращает итератор на начало внутренней последовательности из >count
равных элементов. Возвращает итератор >end
, если такой внутренней последовательности не существует.
За исключением алгоритма >find_first_of()
этим алгоритмам требуются две пары