Boost logo

Boost :

From: Hartmut Kaiser (hartmut.kaiser_at_[hidden])
Date: 2005-08-17 07:39:43

Martin Wille wrote:

> > future<int> f3 = f1 || f2;
> We'll probably need more than operator ||.
> E.g. consider f1 and f2 implement operations that consume
> time and may fail, e.g.:
> future<whatever> x = query_google_and_check_links_returned ||
> dig_in_local_incomplete_archive;
> The local archive is faster than searching something over the
> internet,
> but the search may fail. Having an or-operation that waits
> for the first
> function to return a *success* would be useful.

Interesting idea! Could we signal that by requesting the function to throw a
special exception?

> In another reply, thread-cancellation was mentioned. We don't have
> thread-cancellation currently, but it would be nice if future<> would
> not only accept functors but also allow for an optional
> interface to be
> passed for signaling an abort request. A user would then be able to
> implement a mechanism that works form her/him. Maybe, an abort policy
> would be the right thing here.

That is possible but requires a special functor interface. Will have to
think about this.

Regards Hartmut

Boost list run by bdawes at, gregod at, cpdaniel at, john at