#include <fold.hpp>
Public Types | |
typedef remove_reference < typename when< _, Sequence > ::template impl< Expr, State, Data >::result_type >::type | sequence |
A Fusion sequence. More... | |
typedef remove_reference < typename when< _, State0 > ::template impl< Expr, State, Data >::result_type >::type | state0 |
An initial state for the fold. More... | |
typedef detail::as_callable < Fun, Data > | fun |
fun(d)(e,s) == when<_,Fun>()(e,s,d) More... | |
typedef fusion::result_of::reverse_fold < sequence, state0, fun > ::type | result_type |
typedef Expr const | expr |
typedef Expr const & | expr_param |
typedef State const | state |
typedef State const & | state_param |
typedef Data const | data |
typedef Data const & | data_param |
Public Member Functions | |
result_type | operator() (typename impl::expr_param e, typename impl::state_param s, typename impl::data_param d) const |
Let seq be when<_, Sequence>()(e, s, d) , let state0 be when<_, State0>()(e, s, d) , and let fun(d) be an object such that fun(d)(e, s) is equivalent to when<_, Fun>()(e, s, d) . More... | |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
typedef detail::as_callable<Fun, Data> boost::proto::reverse_fold< Sequence, State0, Fun >::impl< Expr, State, Data >::fun |
fun(d)(e,s) == when<_,Fun>()(e,s,d)
typedef fusion::result_of::reverse_fold< sequence , state0 , fun >::type boost::proto::reverse_fold< Sequence, State0, Fun >::impl< Expr, State, Data >::result_type |
typedef remove_reference< typename when<_, Sequence>::template impl<Expr, State, Data>::result_type >::type boost::proto::reverse_fold< Sequence, State0, Fun >::impl< Expr, State, Data >::sequence |
A Fusion sequence.
|
inherited |
typedef remove_reference< typename when<_, State0>::template impl<Expr, State, Data>::result_type >::type boost::proto::reverse_fold< Sequence, State0, Fun >::impl< Expr, State, Data >::state0 |
An initial state for the fold.
|
inherited |
|
inline |
Let seq
be when<_, Sequence>()(e, s, d)
, let state0
be when<_, State0>()(e, s, d)
, and let fun(d)
be an object such that fun(d)(e, s)
is equivalent to when<_, Fun>()(e, s, d)
.
Then, this function returns fusion::fold(seq, state0, fun(d))
.
e | The current expression |
s | The current state |
d | An arbitrary data |
References boost::fusion::reverse_fold().