Глава 18. Классы-контейнеры_________________________________493
сия применяет операцию binary_op(init, element) ко всем элементам последовательности и присваивает результат init.
template <class Inputlterator, class T> Т accumulate (Inputlterator first,Inputlterator last, Т init);
template <class Inputlterator, class T, class BinaryOperation > Т accumulate (Inputlterator first,Inputlterator last, T init, BinaryOperation binary_op);
while (first != last) init = binary_op(init, *first++);
inner_product. Суммирует произведения элементов двух последовательностей и возвращает накопленный результат. Во второй версии для суммирования используется binary_opl, а для умножения — binary_op2.
template <class Inputlteratorl,Inputlterator2, class T> T inner_product (Inputlteratorl firsti, Inputlteratorl lasti,
Inputlterator2 first2, T init);
*
template <class Inputlteratorl,Inputlterator2, class T,
class BinaryOperationI, Binary0peration2> T inner_product (Inputlteratorl firsti, Inputlteratorl lasti,
Inputlterator2 first2, T init,
BinaryOperationI binary opi,
Binary0peration2 binary_op2) ;
while (firsti \= lasti) init = binary opi(init, binary op2(*firstl++, *first2++) ;
partiaLsum. Создает выходную последовательность, которая строится как текущая сумма элементов входной последовательности. Элементами результирующей последовательности будут *first, *first + *(first+l) и т. д. Вторая версия алгоритма использует определяемую пользователем функцию binary_op вместо операции сложения. Возвращается указатель на элемент следующий за последним элементом, записанным в выходную последовательность.
template <class Inputlterator, class OutputIterator> Output Iterator partial sum (Inputlterator first,
Inputlterator last,
Outputlterator result) ;
template <class Inputlterator, class Outputlterator,
class Binary0peration> Outputlterator partial_sum (Inputlterator first,
Inputlterator last, '
Outputlterator result,
BinaryOperation binary_op) ;
adjacent_difference. Создает последовательность разностей между соседними элементами входной последовательности [first, last). Результирую-