У меня есть функция, которая возвращает QFuture
объект в результате вычисления QtConcurrent::run
.Однако могут возникнуть некоторые условия перед запуском параллельного метода, когда мне нужно вручную возвращать будущее, содержащее значение, из моей функции.
QFuture<bool> foo(const QString &bar)
{
if (bar.isEmpty()) {
return QFuture<bool>(false); // This does not work.
// Here I need to return from the function, but I don't know how to do it.
}
return QtConcurrent::run([=]() -> bool {
// Asynchronous computations...
});
}
Как вручную создать объект QFuture
?
Или (более глобально) как правильно вернуться из такого метода?