diff --git a/src/libs/utils/mapreduce.h b/src/libs/utils/mapreduce.h index 826e1f14ae8..963694a1318 100644 --- a/src/libs/utils/mapreduce.h +++ b/src/libs/utils/mapreduce.h @@ -58,7 +58,7 @@ protected: std::remove_reference_t::reference>>; public: - MapReduceBase(QFutureInterface futureInterface, ForwardIterator begin, ForwardIterator end, + MapReduceBase(QFutureInterface &futureInterface, ForwardIterator begin, ForwardIterator end, MapFunction &&map, State &state, ReduceFunction &&reduce, MapReduceOption option, QThreadPool *pool, int size) : m_futureInterface(futureInterface), @@ -165,7 +165,7 @@ protected: } QFutureWatcher m_selfWatcher; - QFutureInterface m_futureInterface; + QFutureInterface &m_futureInterface; ForwardIterator m_iterator; const ForwardIterator m_end; MapFunction m_map; @@ -188,7 +188,7 @@ class MapReduce : public MapReduceBase; public: - MapReduce(QFutureInterface futureInterface, ForwardIterator begin, ForwardIterator end, + MapReduce(QFutureInterface &futureInterface, ForwardIterator begin, ForwardIterator end, MapFunction &&map, State &state, ReduceFunction &&reduce, MapReduceOption option, QThreadPool *pool, int size) : BaseType(futureInterface, begin, end, std::forward(map), state, @@ -237,7 +237,7 @@ class MapReduce; public: - MapReduce(QFutureInterface futureInterface, ForwardIterator begin, ForwardIterator end, + MapReduce(QFutureInterface &futureInterface, ForwardIterator begin, ForwardIterator end, MapFunction &&map, State &state, ReduceFunction &&reduce, MapReduceOption option, QThreadPool *pool, int size) : BaseType(futureInterface, begin, end, std::forward(map), state, diff --git a/src/libs/utils/runextensions.h b/src/libs/utils/runextensions.h index 779c2b7bc28..e7b9dd6c939 100644 --- a/src/libs/utils/runextensions.h +++ b/src/libs/utils/runextensions.h @@ -238,28 +238,28 @@ private: // void function that does not take QFutureInterface template -void runAsyncReturnVoidDispatch(std::true_type, QFutureInterface, Function &&function, Args&&... args) +void runAsyncReturnVoidDispatch(std::true_type, QFutureInterface &, Function &&function, Args&&... args) { function(std::forward(args)...); } // non-void function that does not take QFutureInterface template -void runAsyncReturnVoidDispatch(std::false_type, QFutureInterface futureInterface, Function &&function, Args&&... args) +void runAsyncReturnVoidDispatch(std::false_type, QFutureInterface &futureInterface, Function &&function, Args&&... args) { futureInterface.reportResult(function(std::forward(args)...)); } // function that takes QFutureInterface template -void runAsyncQFutureInterfaceDispatch(std::true_type, QFutureInterface futureInterface, Function &&function, Args&&... args) +void runAsyncQFutureInterfaceDispatch(std::true_type, QFutureInterface &futureInterface, Function &&function, Args&&... args) { function(futureInterface, std::forward(args)...); } // function that does not take QFutureInterface template -void runAsyncQFutureInterfaceDispatch(std::false_type, QFutureInterface futureInterface, Function &&function, Args&&... args) +void runAsyncQFutureInterfaceDispatch(std::false_type, QFutureInterface &futureInterface, Function &&function, Args&&... args) { runAsyncReturnVoidDispatch(std::is_void>(), futureInterface, std::forward(function), std::forward(args)...); @@ -269,7 +269,7 @@ void runAsyncQFutureInterfaceDispatch(std::false_type, QFutureInterface>::value> > -void runAsyncMemberDispatch(QFutureInterface futureInterface, Function &&function, Args&&... args) +void runAsyncMemberDispatch(QFutureInterface &futureInterface, Function &&function, Args&&... args) { runAsyncQFutureInterfaceDispatch(functionTakesArgument&>(), futureInterface, std::forward(function), std::forward(args)...); @@ -279,7 +279,7 @@ void runAsyncMemberDispatch(QFutureInterface futureInterface, Functi template >::value> > -void runAsyncMemberDispatch(QFutureInterface futureInterface, Function &&function, Obj &&obj, Args&&... args) +void runAsyncMemberDispatch(QFutureInterface &futureInterface, Function &&function, Obj &&obj, Args&&... args) { // Wrap member function with object into callable runAsyncImpl(futureInterface, @@ -289,7 +289,7 @@ void runAsyncMemberDispatch(QFutureInterface futureInterface, Functi // cref to function/callable template -void runAsyncImpl(QFutureInterface futureInterface, +void runAsyncImpl(QFutureInterface &futureInterface, std::reference_wrapper functionWrapper, Args&&... args) { runAsyncMemberDispatch(futureInterface, functionWrapper.get(), std::forward(args)...); @@ -297,7 +297,7 @@ void runAsyncImpl(QFutureInterface futureInterface, // function/callable, no cref template -void runAsyncImpl(QFutureInterface futureInterface, +void runAsyncImpl(QFutureInterface &futureInterface, Function &&function, Args&&... args) { runAsyncMemberDispatch(futureInterface, std::forward(function),