summaryrefslogtreecommitdiffstats
path: root/src/concurrent/qtaskbuilder.h
diff options
context:
space:
mode:
authorVitaly Fanaskov <vitaly.fanaskov@qt.io>2020-03-31 11:22:02 +0200
committerVitaly Fanaskov <vitaly.fanaskov@qt.io>2020-04-14 17:44:13 +0200
commit678b9f78a5af4513ed4e988de90148584a2ae90d (patch)
tree090b7970c739396d20a758bd87280b13ee9159cf /src/concurrent/qtaskbuilder.h
parentc028cbccc248581ca37389fa50e02a988d006348 (diff)
QTaskBuilder::spawn: add an overload that doesn't return a future object
Fixes: QTBUG-83175 Change-Id: Idf85e47a2732742884272200d5c753805eaa640b Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Diffstat (limited to 'src/concurrent/qtaskbuilder.h')
-rw-r--r--src/concurrent/qtaskbuilder.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/concurrent/qtaskbuilder.h b/src/concurrent/qtaskbuilder.h
index 5fc2bccfb53..074dad1c6be 100644
--- a/src/concurrent/qtaskbuilder.h
+++ b/src/concurrent/qtaskbuilder.h
@@ -52,6 +52,8 @@ QT_BEGIN_NAMESPACE
namespace QtConcurrent {
+enum class FutureResult { Ignore };
+
using InvokeResultType = int;
template <class Task, class ...Args>
@@ -61,6 +63,8 @@ public:
[[nodiscard]]
QFuture<InvokeResultType> spawn();
+ void spawn(FutureResult);
+
template <class ...ExtraArgs>
[[nodiscard]]
QTaskBuilder<Task, ExtraArgs...> withArguments(ExtraArgs &&...args);
@@ -78,6 +82,8 @@ public:
namespace QtConcurrent {
+enum class FutureResult { Ignore };
+
template <class Task, class ...Args>
class QTaskBuilder
{
@@ -89,6 +95,12 @@ public:
->start(startParameters);
}
+ void spawn(FutureResult)
+ {
+ (new StoredFunctionCall<Task, Args...>(std::move(taskWithArgs)))
+ ->start(startParameters);
+ }
+
template <class ...ExtraArgs>
[[nodiscard]]
constexpr auto withArguments(ExtraArgs &&...args)