std::partial_sum (3) - Linux Manuals
std::partial_sum: std::partial_sum
NAME
std::partial_sum - std::partial_sum
Synopsis
Defined in header <numeric>
template< class InputIt, class OutputIt > (1)
OutputIt partial_sum( InputIt first, InputIt last, OutputIt d_first );
template< class InputIt, class OutputIt, class BinaryOperation >
OutputIt partial_sum( InputIt first, InputIt last, OutputIt d_first, (2)
BinaryOperation op );
Computes the partial sums of the elements in the subranges of the range [first, last) and writes them to the range beginning at d_first. The first version uses operator+ to sum up the elements, the second version uses the given binary function op
, both applying std::move to their operands on the left hand side
(since C++20).
Equivalent operation:
op must not have side effects. (until C++11)
op must not invalidate any iterators, including the end iterators, or modify any elements of the range involved. (since C++11)
Parameters
first, last - the range of elements to sum
d_first - the beginning of the destination range; may be equal to first
op - Ret fun(const Type1 &a, const Type2 &b);
Type requirements
-
InputIt must meet the requirements of LegacyInputIterator.
-
OutputIt must meet the requirements of LegacyOutputIterator.
Return value
Iterator to the element past the last element written.
Complexity
Exactly (last - first) - 1 applications of the binary operation
Possible implementation
First version
Second version
Example
// Run this code