
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.
How can you pass both handlers to an async function of asio? Maybe, you can create a "binder" based on these functions, but the resulting functor should have the number of arguments required by asio concepts.
/* 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));
Actually, the question is: *who* will set parameter1, parameter2 etc?
If you know the values of these arguments in the place where you call
schedule_callback, and the callback invoker should not set pass any
arguments to your handler, then the prototype of your handler should
be: void(void). Then you can do something like this:
void shedule_callback(function