async/make_request.cpp
This is an example of how make_request may be implemented in case you need to do something simliar.
template <typename T>
void request_helper(boost::function<T ()> const &f,
boost::function<void (T)> const &c,
boost::function<void (std::list<request> &)> const &push)
{
std::list<request> temp(1, boost::bind(c, f()));
push(temp);
}
template <typename T>
request make_request(boost::function<T ()> const &f,
boost::function<void (T)> const &c)
{
return boost::bind(&request_helper<T>, f, c,
thread_specific_request_queue::get_push());
}