
Fernando Cacciola wrote:
template<class Functors, int N> struct get_bind_expr_type { typedef typename ::boost::tuples::element<N,Functors>::type Functor ;
typedef typename Functor::result_type functor_result_type ;
// This should be the result type of the previous functor in real code typedef typename Functor::result_type functor_argument_type ;
// NOTE: the recursion is inside this metafucntion typedef typename get_bind_argument_type<Functors,N>::type bind_argument_type ;
typedef _bi::bind_t<functor_result_type ,functor_result_type (*) ( functor_argument_type )
You probably need Functor here, not some pointer to function.
,typename _bi::list_av_1<bind_argument_type>::type > type ; } ;