Boost logo

Boost :

Subject: Re: [boost] [next gen future-promise] What to callthemonadicreturntype?
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2015-05-31 18:25:37


Le 30/05/15 22:49, Peter Dimov a écrit :
> Vicente J. Botet Escriba wrote:
>> >> Surely for catch_error() one must always return the same type of
>> future >> as the input? Otherwise it couldn't work when f1 has a value.
>> >
>> > Vicente in N4048 says that it's not required to return the same type.
>> >
>> If I said that it was an error. Could you point me where?
>
> Input Parameters:
> • Lambda function: The lambda function on map()/bind() takes a
> future<t>::value_type. The lambda
> function on catch_error() takes an exception_ptr. Both could return
> whatever type. This makes propagating
> exceptions straightforward. This approach also simplifies the chaining
> of continuations.
>
>
Thanks. I suspect I was referring to map and bind. future<T>::cath_error
must return T or future<T>. I recognize that it is not clear in the N4048.

Initially catch_error() was called recover(). It can be used to recover
from errors and then the function returns a value or a future ready with
a value and also to change the reported error, in this case the function
should return future<T> ready with an exception.

Vicente


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk