diff options
| author | Vitaly Fanaskov <vitaly.fanaskov@qt.io> | 2020-03-31 11:22:02 +0200 |
|---|---|---|
| committer | Vitaly Fanaskov <vitaly.fanaskov@qt.io> | 2020-04-14 17:44:13 +0200 |
| commit | 678b9f78a5af4513ed4e988de90148584a2ae90d (patch) | |
| tree | 090b7970c739396d20a758bd87280b13ee9159cf /src/concurrent/qtaskbuilder.h | |
| parent | c028cbccc248581ca37389fa50e02a988d006348 (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.h | 12 |
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) |
