#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().