id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 10552,Add make_valid_future,viboes,viboes,"Some functions require that the future are valid. The needs to check for the validity before using these futures. {{{ if (fut.valid()) { auto x = fut.then(fct); } if (f1.valid() && f2.valid()) { auto x = when_all(f1, f2); } }}} An alternative is to provide a make_valid_future function that ensure that the result is valid. If the input future is valid it return the same future, otherwise it sets an exception future_error, and the corresponding error condition would be std::future_errc::no_state. In this way the user can always use it as {{{ auto x = make_valid_future(fut).then(fct); auto y = when_all(make_valid_future(f1), make_valid_future(f2)); }}} ",Feature Requests,closed,Boost 1.57.0,thread,Boost 1.56.0,Problem,fixed,,