Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

The MPL Reference Manual: reverse_iter_fold

Boost , ,

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

Front Page / Algorithms / Iteration Algorithms / reverse_iter_fold

reverse_iter_fold

Synopsis

template<
      typename Sequence
    , typename State
    , typename BackwardOp
    , typename ForwardOp = _1
    >
struct reverse_iter_fold
{
    typedef unspecified  type;
};

Description

Возвращает результат последовательного применения бинарныхНазадВ результате предыдущегоНазадПризывГосударствоЕсли это первый звонок, и каждый итератор в диапазоне [начинают::type,заканчивают::type) в обратном порядке. ЕслиВпередпредоставляется, затем наносится на передний проход, чтобы сформировать результат, который передается первому.BackwardOpПризыв.

Parameters

Parameter Requirement Description
Последовательность Последовательность Последовательность для итерации.
Государство Любой тип Начальное состояние для первогоBackwardOp/ForwardOpприложения.
Назад БинарноеЛамбда-выражение Операция должна быть выполнена на обратном пути.
Вперед БинарноеЛамбда-выражение Операция должна быть выполнена на переднем перекрестке.

Expression semantics

Для любойПередней Последовательностиs, двоичнойLambda Expressionback_opиforward_op, и произвольного типасостояния:

typedef reverse_iter_fold< s,state,backward_op >::type t;
Return type:

A type.

Semantics:

Equivalent to

typedef begin<s>::type i1;
typedef next<i1>::type i2;
...
typedef next<in>::type last;
typedef apply<backward_op,state,in>::type staten;
typedef apply<backward_op,staten,in-1>::type staten-1;
...
typedef apply<backward_op,state2,i1>::type state1;
typedef state1 t;

where n == size<s>::value and last is identical to end<s>::type; equivalent to typedef state t; if empty<s>::value == true.

typedef reverse_iter_fold< s,state,backward_op,forward_op >::type t;
Return type:

A type.

Semantics:

Equivalent to

typedef reverse_iter_fold<
      Sequence
    , iter_fold<s,state,forward_op>::type
    , backward_op
    >::type t;

Complexity

Точноразмер:: значениеприложенияback_opиforward_op.

Example

Составьте список итераторов к отрицательным элементам в последовательности.

typedef vector_c<int,5,-1,0,-7,-2,0,-5,4> numbers;
typedef list_c<int,-1,-7,-2,-5> negatives;
typedef reverse_iter_fold<
      numbers
    , list<>
    , if_< less< deref<_2>,int_<0> >, push_front<_1,_2>, _1 >
    >::type iters;
BOOST_MPL_ASSERT(( equal<
      negatives
    , transform_view< iters,deref<_1> >
    > ));

Статья The MPL Reference Manual: reverse_iter_fold раздела может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 22:19:17/0.006458044052124/0