Как создать QFuture с немедленно доступным значением? - PullRequest
0 голосов
/ 09 июня 2018

У меня есть функция, которая возвращает 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?
Или (более глобально) как правильно вернуться из такого метода?

1 Ответ

0 голосов
/ 11 июня 2018

Когда нет данных для возврата, все просто - это должно быть первое, что нужно попробовать в современном C ++:

return {};

Или, если вы нацелены на устаревшую платформу (

...