![]() |
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 operance 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).