
AMDG Manuel Jung wrote:
Hey,
I have problems using mpl::for_each. Well, it works for simple functors, but i need a functor with some context. I'm trying to build a functor through boost::bind. mpl::_1 should be a type from the consensus sequence if evaluated, shouldn't it? You can see a small (hopefully not too small) example below.
mpl::_1 is not expanded by Boost.Bind. You need something like template<class T> struct wrap {}; struct connect_f { typedef void result_type; template<class Producer, class Self, class T> void operator()(Producer* producer, Self* self, const wrap<T>&) const { producer->connect(self->get_promise<T>()); } }; ... boost::mpl::for_each<consensus, wrap<mpl::_1> >(boost::bind(connect_f, &Producer, this, _1)); In Christ, Steven Watanabe