478 __ __Часть III. Современное программирование на C++
bo'ol equal (Inputlteratorl firsti, Inputlteratorl lasti,
Inputlterator2 first2, BinaryPredicate binary_pred) ;
search. Алгоритм search пытается найти в последовательности [firsti, lasti) заданную подпоследовательность [first2, last2). Если совпадение найдено, возвращается итератор, указывающий на начальный элемент подпоследовательности. Совпадение в стандартной версии алгоритма определяется операцией ==, а для версии с предикатом — истинностью функции binary_pred. Если совпадение не найдено, возвращается lasti.
template <class Forwardlteratorl, class Forwardlterator2> Forwardlteratorl search (Forwardlteratorl firsti,
Forwardlteratorl lasti,
Forwardlterator2 first2,
Forwardlterator2 last21.;
template <class Forwardlteratorl, class Forwardlterator2,
class BinaryPredicate> Forwardlteratorl search (Porwardlteratorl firsti,
Forwardlteratorl lasti,
Forwardlterator2 first2,
Forwardlterator2 la'st2,
BinaryPredicate binary__pred) ;
Алгоритмы, изменяющие последовательности . Алгоритмы, изменяющие последовательности (mutating sequence algorithms), как и не изменяющие, выполняют операции над последовательными контейнерами, такими как вектор, двусторонняя очередь и список, но в отличие от них они могут менять элементы контейнеров. Эти алгоритмы выполняют операции над набором элементов, который определяется парой итераторов first и last. В диапазон включается элемент first, но не включается элемент last.
copy. Функция copy помещает элементы из входного диапазона в контейнер, на который указывает итератор result. Для копирования элементов используется операция присваивания =. Возвращается итератор, указывающий на следующий элемент за последним из скопированных.
template <class Inputlterator, class Outputlterator> Outputlterator copy (Inputlterator first, Inputlterator last, - Outputlterator result) ;
copy_backward. Алгоритм copy_backward очень похож на copy. Он копирует элементы из диапазона [first, last), но начинает с элемента, на который указывает last-l, копирует в result-l и двигается до first. Таким образом, результирующий диапазон — [result- (last-first), result). Возвращаемый итератор указывает на последний скопированный элемент, а не на следующий за ним.