Руководство по стандартной библиотеке шаблонов STL

       

Частичная сумма (Partial sum)


template <class InputIterator, class OutputIterator> OutputIterator partial_sum(InputIterator first, InputIterator last, OutputIterator result); template <class InputIterator, class OutputIterator, class BinaryOperation> OutputIterator partial_sum(InputIterator first, InputIterator last, OutputIterator result, BinaryOperation binary_op);

partial_sum присваивает каждому итератору i в диапазоне [result, result + (last - first)) значение, соответственно равное ((...(*first + *(first + 1)) + ...) + *(first + (i - result))) или binary_op(binary_op(..., binary_op(*first, *(first + 1)), ...), *(first + (i - result))). Функция partial_sum возвращает result + (last - first). Выполняется binary_op точно (last - first) - 1 раз. Ожидается, что binary_op не имеет каких-либо побочных эффектов. result может быть равен first.



Содержание раздела