diff options
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 5fc2bccfb5..074dad1c6b 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) |