3rdParty/boost/1.78.0/libs/mpl/doc/refmanual/accumulate.html
| Prev Next | Back Along | Up Home | Full TOC | Front Page / Algorithms / Iteration Algorithms / accumulate |
template<
typename Sequence
, typename State
, typename ForwardOp
>
struct[accumulate](./accumulate.html){
typedef_unspecified_type;
};
Returns the result of the successive application of binary ForwardOp to the result of the previous ForwardOp invocation (State if it's the first call) and every element of the sequence in the range [begin<Sequence>::type, end<Sequence>::type) in order. [Note: accumulate is a synonym for fold — end note]
#include <[boost/mpl/accumulate.hpp](../../../../boost/mpl/accumulate.hpp)>
| Parameter | Requirement | Description |
|---|---|---|
| Sequence | Forward Sequence | A sequence to iterate. |
| State | Any type | The initial state for the first ForwardOp application. |
| ForwardOp | Binary Lambda Expression | The operation to be executed on forward traversal. |
For any Forward Sequence s, binary Lambda Expression op, and arbitrary type state:
typedef[accumulate](./accumulate.html)<s,state,op>::type t;
| Return type: |
A type.
| | Semantics: |
Equivalent to
typedef[fold](./fold.html)<s,state,op>::type t;
|
Linear. Exactly size<s>::value applications of op.
typedef[vector](./vector.html)<long,float,short,double,float,long,long double> types;
typedef[accumulate](./accumulate.html)<
types
,[int\_](./int.html)<0>
,[if\_](./if.html)< is_float<[\_2](./placeholders.html)>,[next](./next.html)<[\_1](./placeholders.html)>,[\_1](./placeholders.html)>
>::type number_of_floats;[BOOST\_MPL\_ASSERT\_RELATION](./assert-relation.html)( number_of_floats::value, ==, 4 );
Algorithms, fold, reverse_fold, iter_fold, reverse_iter_fold, copy, copy_if
| Prev Next | Back Along | Up Home | Full TOC |
Copyright © 2001-2009 Aleksey Gurtovoy and David Abrahams Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |