Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Struct template impl

boost::proto::fold::impl

Synopsis

// In header: <boost/proto/transform/fold.hpp>


template<typename Expr, typename State, typename Data> 
struct impl :  proto::transform_impl<  {
  // types
  typedef when<_,                                         ;            // For exposition only
  typedef when<_,                                           ;            // For exposition only
  typedef     ;          // A Fusion sequence, for exposition only
  typedef     ;       // An initial state for the fold, for exposition only
  typedef                                               ;          // fun(d)(s,e) == when<_,Fun>()(e,s,d)
  typedef  ;

  // public member functions
   (, 
                         , 
                         ) ;
};

Description

impl public member functions

  1.  ( expr, 
                            state, 
                            data) ;

    Let seq be when<_, Sequence>()(expr, state, data), let state0 be when<_, State0>()(expr, state, data), and let fun(data) be an object such that fun(data)(state, expr) is equivalent to when<_, Fun>()(expr, state, data). Then, this function returns fusion::fold(seq, state0, fun(data)).

    Parameters:

    data

    An arbitrary data

    expr

    The current expression

    state

    The current state


PrevUpHomeNext