![]() |
Home | Libraries | People | FAQ | More |
template< class SinglePassRange, class Value > Value accumulate(const SinglePassRange& source_rng, Value init); template< class SinglePassRange, class Value, class BinaryOperation > Value accumulate(const SinglePassRange& source_rng, Value init, BinaryOperation op);
accumulate
is a generalisation
of summation. It computes a binary operation (operator+
in the non-predicate version) of init
and all of the elements in rng
.
The return value is the resultant value of the above algorithm.
Defined in the header file boost/range/numeric.hpp
SinglePassRange
is
a model of the Single
Pass Range Concept.
Value
is a model
of the AssignableConcept
.
operator+
is defined for a left-hand operand of type Value
and a right-hand operand of the SinglePassRange
value type.
Value
.
SinglePassRange
is
a model of the Single
Pass Range Concept.
Value
is a model
of the AssignableConcept
.
BinaryOperation
is
a model of the BinaryFunctionConcept
.
Value
is convertible
to BinaryOperation
's
first argument type.
SinglePassRange
's
value type is convertible to BinaryOperation
's
second argument type.
BinaryOperation
is convertible to Value
.
Linear. Exactly distance(source_rng)
.