How to use std::for_each on a range of boost::function objects?
class User
{
public:
User(){}
virtual ~User(){}
void Test( int in )
{
}
}
User user;
vector< b开发者_C百科oost::function< void() > > functions;
functions.push_back( boost::bind( &User::Test, &user, 2 ) );
functions.push_back( boost::bind( &User::Test, &user, 4 ) );
for_each( functions.begin(), functions.end() , /* What goes here? */ );
Try
for_each( functions.begin(), functions.end(), mem_fn( &function< void() >::operator() ) );
Where mem_fn
is either std::tr1::mem_fn
or boost::mem_fn
.
精彩评论