inline std::future<int> async_loop(pcap_t *source, pcap_handler handler, const int count, unsigned char *user_args) { std::packaged_task<int(pcap_t *, pcap_handler, const int, unsigned char *)> task(loop); auto result = task.get_future(); std::thread task_thread(std::move(task), source, handler, count, user_args); task_thread.detach(); return result; }
int main() { task_bind(); task_lambda(); task_thread(); }