summaryrefslogtreecommitdiffstats
path: root/src/concurrent
diff options
context:
space:
mode:
authorSona Kurazyan <sona.kurazyan@qt.io>2020-10-08 12:19:13 +0200
committerSona Kurazyan <sona.kurazyan@qt.io>2020-10-12 13:51:49 +0200
commit306931349296747eeb469e29908e2ab589de89fd (patch)
treea9f0fbd57533d556395acf357df465b4daf91125 /src/concurrent
parent4a981b9bdb6d512ac077ecdeaf478fc9a5792d17 (diff)
Eliminate the extra copy in QtConcurrent's blocking methods
Use QFuture::takeResult() instead of QFuture::result() for returning the resulting sequence from the blocking methods of QtConcurrent. Change-Id: I0b623ee1ad8bda6789f329dcd63a46acda924539 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/concurrent')
-rw-r--r--src/concurrent/qtconcurrentfilter.h32
-rw-r--r--src/concurrent/qtconcurrentmap.h32
2 files changed, 32 insertions, 32 deletions
diff --git a/src/concurrent/qtconcurrentfilter.h b/src/concurrent/qtconcurrentfilter.h
index a85cbc0224..8a17487466 100644
--- a/src/concurrent/qtconcurrentfilter.h
+++ b/src/concurrent/qtconcurrentfilter.h
@@ -365,7 +365,7 @@ ResultType blockingFilteredReduced(QThreadPool *pool,
{
QFuture<ResultType> future = startFilteredReduced<ResultType>(
pool, std::forward<Sequence>(sequence), keep, reduce, options);
- return future.result();
+ return future.takeResult();
}
template <typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor>
@@ -377,7 +377,7 @@ ResultType blockingFilteredReduced(Sequence &&sequence,
{
QFuture<ResultType> future = startFilteredReduced<ResultType>(
QThreadPool::globalInstance(), std::forward<Sequence>(sequence), keep, reduce, options);
- return future.result();
+ return future.takeResult();
}
template <typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor,
@@ -394,7 +394,7 @@ ResultType blockingFilteredReduced(QThreadPool *pool,
QFuture<ResultType> future = startFilteredReduced<ResultType>(
pool, std::forward<Sequence>(sequence), keep, reduce,
ResultType(std::forward<InitialValueType>(initialValue)), options);
- return future.result();
+ return future.takeResult();
}
template <typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor,
@@ -410,7 +410,7 @@ ResultType blockingFilteredReduced(Sequence &&sequence,
QFuture<ResultType> future = startFilteredReduced<ResultType>(
QThreadPool::globalInstance(), std::forward<Sequence>(sequence), keep, reduce,
ResultType(std::forward<InitialValueType>(initialValue)), options);
- return future.result();
+ return future.takeResult();
}
#ifndef Q_CLANG_QDOC
@@ -425,7 +425,7 @@ ResultType blockingFilteredReduced(QThreadPool *pool,
{
QFuture<ResultType> future = startFilteredReduced<ResultType>(
pool, std::forward<Sequence>(sequence), keep, reduce, options);
- return future.result();
+ return future.takeResult();
}
template <typename Sequence, typename KeepFunctor, typename ReduceFunctor,
@@ -438,7 +438,7 @@ ResultType blockingFilteredReduced(Sequence &&sequence,
{
QFuture<ResultType> future = startFilteredReduced<ResultType>(
QThreadPool::globalInstance(), std::forward<Sequence>(sequence), keep, reduce, options);
- return future.result();
+ return future.takeResult();
}
template <typename Sequence, typename KeepFunctor, typename ReduceFunctor,
@@ -456,7 +456,7 @@ ResultType blockingFilteredReduced(QThreadPool *pool,
QFuture<ResultType> future = startFilteredReduced<ResultType>(
pool, std::forward<Sequence>(sequence), keep, reduce,
ResultType(std::forward<InitialValueType>(initialValue)), options);
- return future.result();
+ return future.takeResult();
}
template <typename Sequence, typename KeepFunctor, typename ReduceFunctor,
@@ -473,7 +473,7 @@ ResultType blockingFilteredReduced(Sequence &&sequence,
QFuture<ResultType> future = startFilteredReduced<ResultType>(
QThreadPool::globalInstance(), std::forward<Sequence>(sequence), keep, reduce,
ResultType(std::forward<InitialValueType>(initialValue)), options);
- return future.result();
+ return future.takeResult();
}
#endif
@@ -489,7 +489,7 @@ ResultType blockingFilteredReduced(QThreadPool *pool,
{
QFuture<ResultType> future = startFilteredReduced<ResultType>(pool, begin, end, keep,
reduce, options);
- return future.result();
+ return future.takeResult();
}
template <typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor>
@@ -502,7 +502,7 @@ ResultType blockingFilteredReduced(Iterator begin,
{
QFuture<ResultType> future = startFilteredReduced<ResultType>(QThreadPool::globalInstance(),
begin, end, keep, reduce, options);
- return future.result();
+ return future.takeResult();
}
template <typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor,
@@ -519,7 +519,7 @@ ResultType blockingFilteredReduced(QThreadPool *pool,
{
QFuture<ResultType> future = startFilteredReduced<ResultType>(pool, begin, end, keep, reduce,
ResultType(std::forward<InitialValueType>(initialValue)), options);
- return future.result();
+ return future.takeResult();
}
template <typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor,
@@ -535,7 +535,7 @@ ResultType blockingFilteredReduced(Iterator begin,
{
QFuture<ResultType> future = startFilteredReduced<ResultType>(QThreadPool::globalInstance(),
begin, end, keep, reduce, ResultType(std::forward<InitialValueType>(initialValue)), options);
- return future.result();
+ return future.takeResult();
}
#ifndef Q_CLANG_QDOC
@@ -551,7 +551,7 @@ ResultType blockingFilteredReduced(QThreadPool *pool,
{
QFuture<ResultType> future = startFilteredReduced<ResultType>(pool, begin, end, keep,
reduce, options);
- return future.result();
+ return future.takeResult();
}
template <typename Iterator, typename KeepFunctor, typename ReduceFunctor,
@@ -565,7 +565,7 @@ ResultType blockingFilteredReduced(Iterator begin,
{
QFuture<ResultType> future = startFilteredReduced<ResultType>(QThreadPool::globalInstance(),
begin, end, keep, reduce, options);
- return future.result();
+ return future.takeResult();
}
template <typename Iterator, typename KeepFunctor, typename ReduceFunctor,
@@ -582,7 +582,7 @@ ResultType blockingFilteredReduced(QThreadPool *pool,
{
QFuture<ResultType> future = startFilteredReduced<ResultType>(pool, begin, end, keep, reduce,
ResultType(std::forward<InitialValueType>(initialValue)), options);
- return future.result();
+ return future.takeResult();
}
template <typename Iterator, typename KeepFunctor, typename ReduceFunctor,
@@ -599,7 +599,7 @@ ResultType blockingFilteredReduced(Iterator begin,
{
QFuture<ResultType> future = startFilteredReduced<ResultType>(QThreadPool::globalInstance(),
begin, end, keep, reduce, ResultType(std::forward<InitialValueType>(initialValue)), options);
- return future.result();
+ return future.takeResult();
}
#endif
diff --git a/src/concurrent/qtconcurrentmap.h b/src/concurrent/qtconcurrentmap.h
index e7c188fb8c..2b475dced1 100644
--- a/src/concurrent/qtconcurrentmap.h
+++ b/src/concurrent/qtconcurrentmap.h
@@ -399,7 +399,7 @@ ResultType blockingMappedReduced(QThreadPool *pool,
QFuture<ResultType> future = QtConcurrent::startMappedReduced
<QtPrivate::MapResultType<Sequence, MapFunctor>, ResultType>
(pool, std::forward<Sequence>(sequence), map, reduce, options);
- return future.result();
+ return future.takeResult();
}
template <typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
@@ -412,7 +412,7 @@ ResultType blockingMappedReduced(Sequence &&sequence,
QFuture<ResultType> future = QtConcurrent::startMappedReduced
<QtPrivate::MapResultType<Sequence, MapFunctor>, ResultType>
(QThreadPool::globalInstance(), std::forward<Sequence>(sequence), map, reduce, options);
- return future.result();
+ return future.takeResult();
}
template <typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor,
@@ -430,7 +430,7 @@ ResultType blockingMappedReduced(QThreadPool *pool,
<QtPrivate::MapResultType<Sequence, MapFunctor>, ResultType>
(pool, std::forward<Sequence>(sequence), map, reduce,
ResultType(std::forward<InitialValueType>(initialValue)), options);
- return future.result();
+ return future.takeResult();
}
template <typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor,
@@ -447,7 +447,7 @@ ResultType blockingMappedReduced(Sequence &&sequence,
<QtPrivate::MapResultType<Sequence, MapFunctor>, ResultType>
(QThreadPool::globalInstance(), std::forward<Sequence>(sequence), map, reduce,
ResultType(std::forward<InitialValueType>(initialValue)), options);
- return future.result();
+ return future.takeResult();
}
template <typename MapFunctor, typename ReduceFunctor, typename Sequence,
@@ -462,7 +462,7 @@ ResultType blockingMappedReduced(QThreadPool *pool,
QFuture<ResultType> future = QtConcurrent::startMappedReduced
<QtPrivate::MapResultType<Sequence, MapFunctor>, ResultType>
(pool, std::forward<Sequence>(sequence), map, reduce, options);
- return future.result();
+ return future.takeResult();
}
template <typename MapFunctor, typename ReduceFunctor, typename Sequence,
@@ -476,7 +476,7 @@ ResultType blockingMappedReduced(Sequence &&sequence,
QFuture<ResultType> future = QtConcurrent::startMappedReduced
<QtPrivate::MapResultType<Sequence, MapFunctor>, ResultType>
(QThreadPool::globalInstance(), std::forward<Sequence>(sequence), map, reduce, options);
- return future.result();
+ return future.takeResult();
}
template <typename MapFunctor, typename ReduceFunctor, typename Sequence,
@@ -495,7 +495,7 @@ ResultType blockingMappedReduced(QThreadPool *pool,
<QtPrivate::MapResultType<Sequence, MapFunctor>, ResultType>
(pool, std::forward<Sequence>(sequence), map, reduce,
ResultType(std::forward<InitialValueType>(initialValue)), options);
- return future.result();
+ return future.takeResult();
}
template <typename MapFunctor, typename ReduceFunctor, typename Sequence,
@@ -513,7 +513,7 @@ ResultType blockingMappedReduced(Sequence &&sequence,
<QtPrivate::MapResultType<Sequence, MapFunctor>, ResultType>
(QThreadPool::globalInstance(), std::forward<Sequence>(sequence), map, reduce,
ResultType(std::forward<InitialValueType>(initialValue)), options);
- return future.result();
+ return future.takeResult();
}
// blockingMappedReduced() for iterator ranges
@@ -529,7 +529,7 @@ ResultType blockingMappedReduced(QThreadPool *pool,
QFuture<ResultType> future = QtConcurrent::startMappedReduced
<QtPrivate::MapResultType<Iterator, MapFunctor>, ResultType>
(pool, begin, end, map, reduce, options);
- return future.result();
+ return future.takeResult();
}
template <typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
@@ -543,7 +543,7 @@ ResultType blockingMappedReduced(Iterator begin,
QFuture<ResultType> future = QtConcurrent::startMappedReduced
<QtPrivate::MapResultType<Iterator, MapFunctor>, ResultType>
(QThreadPool::globalInstance(), begin, end, map, reduce, options);
- return future.result();
+ return future.takeResult();
}
template <typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor,
@@ -562,7 +562,7 @@ ResultType blockingMappedReduced(QThreadPool *pool,
<QtPrivate::MapResultType<Iterator, MapFunctor>, ResultType>
(pool, begin, end, map, reduce, ResultType(std::forward<InitialValueType>(initialValue)),
options);
- return future.result();
+ return future.takeResult();
}
template <typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor,
@@ -580,7 +580,7 @@ ResultType blockingMappedReduced(Iterator begin,
<QtPrivate::MapResultType<Iterator, MapFunctor>, ResultType>
(QThreadPool::globalInstance(), begin, end, map, reduce,
ResultType(std::forward<InitialValueType>(initialValue)), options);
- return future.result();
+ return future.takeResult();
}
template <typename Iterator, typename MapFunctor, typename ReduceFunctor,
@@ -596,7 +596,7 @@ ResultType blockingMappedReduced(QThreadPool *pool,
QFuture<ResultType> future = QtConcurrent::startMappedReduced
<QtPrivate::MapResultType<Iterator, MapFunctor>, ResultType>
(pool, begin, end, map, reduce, options);
- return future.result();
+ return future.takeResult();
}
template <typename Iterator, typename MapFunctor, typename ReduceFunctor,
@@ -611,7 +611,7 @@ ResultType blockingMappedReduced(Iterator begin,
QFuture<ResultType> future = QtConcurrent::startMappedReduced
<QtPrivate::MapResultType<Iterator, MapFunctor>, ResultType>
(QThreadPool::globalInstance(), begin, end, map, reduce, options);
- return future.result();
+ return future.takeResult();
}
template <typename Iterator, typename MapFunctor, typename ReduceFunctor,
@@ -631,7 +631,7 @@ ResultType blockingMappedReduced(QThreadPool *pool,
<QtPrivate::MapResultType<Iterator, MapFunctor>, ResultType>
(pool, begin, end, map, reduce, ResultType(std::forward<InitialValueType>(initialValue)),
options);
- return future.result();
+ return future.takeResult();
}
template <typename Iterator, typename MapFunctor, typename ReduceFunctor,
@@ -650,7 +650,7 @@ ResultType blockingMappedReduced(Iterator begin,
<QtPrivate::MapResultType<Iterator, MapFunctor>, ResultType>
(QThreadPool::globalInstance(), begin, end, map, reduce,
ResultType(std::forward<InitialValueType>(initialValue)), options);
- return future.result();
+ return future.takeResult();
}
// mapped() for sequences with a different putput sequence type.