Boost
C++ Libraries
...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
This is an older version of Boost and was released in 2019. The current version is 1.89.0.
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).