True. What i was trying to exemplify was the behavior not the implementation itself. One case that exemplifies what I was trying to say, is that i can declare:
void handler1( );
void handler2(unsigned int i1, unsigned int i2, float f, char* c);
and pass both handlers to an async function of asio and have no problem. That's the behavior we would like to see: We pass different functions, with different prototypes, and without declaring a specific function to receive each different function. It would be as in:
/* some code doing stuff ... */
schedule_callback(boost::bind(callback1, parameter1, parameter2));
/* ... do some more things ... */
schedule_callback(boost::bind(&FooClass::method1, FooInstancePointer, param1));
/* more code ... */
schedule_callback(boost::bind(callback2, param1));
Would there be a way of implementing this kind of thing with boost::function, declaring only one generic function
schedule_callback wich receives different functions with different arguments?
Thank you for your attention,