![]() |
![]() ![]() ![]() ![]() |
![]() |
The MPL Reference Manual: accumulateBoost , ,
|
| Front Page / Algorithms / Iteration Algorithms / accumulate |
template<
typename Sequence
, typename State
, typename ForwardOp
>
struct accumulate
{
typedef unspecified type;
};
Возвращает результат последовательного применения двоичного ForwardOp к результату предыдущего вызова ForwardOp (State, если это первый вызов) и каждый элемент последовательности в диапазоне [начинает
#include <boost/mpl/accumulate.hpp>
| Parameter | Requirement | Description |
|---|---|---|
| Последовательность | Вперед последовательность | Последовательность для итерации. |
| Государство | Любой тип | Начальное состояние для первого приложения ForwardOp. |
| ForwardOp | Бинарный Lambda Expression | Операция должна быть выполнена на переднем перекрестке. |
Для любой Forward Sequence , двоичный Lambda Expression op и произвольный тип state:
typedef accumulate<s,state,op>::type t;
| Return type: | A type. |
|---|---|
| Semantics: | Equivalent to typedef fold<s,state,op>::type t; |
Линейный. Точно size::value приложения op.
typedef vector<long,float,short,double,float,long,long double> types; typedef accumulate< types , int_<0> , if_< is_float<_2>,next<_1>,_1 > >::type number_of_floats; BOOST_MPL_ASSERT_RELATION( number_of_floats::value, ==, 4 );
Статья The MPL Reference Manual: accumulate раздела может быть полезна для разработчиков на c++ и boost.
:: Главная :: ::
реклама |