17 Jan 15:44
Re: Futures Review - wait_for_ on fusion sequences
vicente.botet <vicente.botet <at> wanadoo.fr>
2009-01-17 14:44:57 GMT
2009-01-17 14:44:57 GMT
Hi,
Could the wait_for_ functions be overloaded for fusion sequences, e.g.
fusion::vector<shared_future<int>, shared_future<string> > seq;
unsigned i = wait_for_any(seq);
I have checkd the followig code and it works for me.
struct waiter_add {
waiter_add(boost::detail::future_waiter& waiter) : waiter_(waiter) {}
boost::detail::future_waiter& waiter_;
template<typename ACT>
void operator()(ACT& act) const {
waiter_.add(act);
}
};
template<typename FusionSequence>
unsigned wait_for_any(FusionSequence& seq) {
boost::detail::future_waiter waiter;
boost::fusion::for_each(seq, waiter_add(waiter));
return waiter.wait();
}
Thanks,
Vicente
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
RSS Feed