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. Kind Regards Manuel class filter{ //[..] // "In" and "Out" are fusion::maps template< typename T > inline const boost::promise_stream<T>& get_promise(){ return fusion::at_key< T >(Out); }; template< typename T > inline void connect(const boost::promise_stream<T> &promise){ fusion::at_key< T >(In).reset(new boost::future_stream< T >(promise)); }; template< typename producer_type > void connect(producer_type Producer){ //[..] // "consensus" is a mpl sequence. mpl::for_each< consensus >(boost::bind(&producer_type::connect, Producer, get_promise< mpl::_1 >())); };