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 acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk