40 #ifndef QTCONCURRENT_FILTER_H 41 #define QTCONCURRENT_FILTER_H 43 #include <QtConcurrent/qtconcurrent_global.h> 45 #if !defined(QT_NO_CONCURRENT) || defined(Q_CLANG_QDOC) 47 #include <QtConcurrent/qtconcurrentfilterkernel.h> 48 #include <QtConcurrent/qtconcurrentfunctionwrappers.h> 55 template <
typename Sequence,
typename KeepFunctor,
typename ReduceFunctor>
63 template <
typename Sequence,
typename KeepFunctor>
64 QFuture<void>
filter(Sequence &sequence, KeepFunctor keep)
70 template <
typename ResultType,
typename Sequence,
typename KeepFunctor,
typename ReduceFunctor>
80 template <
typename Sequence,
typename KeepFunctor,
typename ReduceFunctor>
81 QFuture<typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType>
filteredReduced(
const Sequence &sequence,
86 return startFilteredReduced<typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType>
95 template <
typename ResultType,
typename Iterator,
typename KeepFunctor,
typename ReduceFunctor>
106 template <
typename Iterator,
typename KeepFunctor,
typename ReduceFunctor>
107 QFuture<typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType>
filteredReduced(Iterator begin,
110 ReduceFunctor reduce,
113 return startFilteredReduced<typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType>
122 template <
typename Sequence,
typename KeepFunctor>
123 QFuture<typename Sequence::value_type>
filtered(
const Sequence &sequence, KeepFunctor keep)
129 template <
typename Iterator,
typename KeepFunctor>
130 QFuture<typename qValueType<Iterator>::value_type>
filtered(Iterator begin, Iterator end, KeepFunctor keep)
136 template <
typename Sequence,
typename KeepFunctor>
143 template <
typename ResultType,
typename Sequence,
typename KeepFunctor,
typename ReduceFunctor>
146 ReduceFunctor reduce,
154 template <
typename Sequence,
typename KeepFunctor,
typename ReduceFunctor>
157 ReduceFunctor reduce,
160 return blockingFilteredReduced<typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType>
169 template <
typename ResultType,
typename Iterator,
typename KeepFunctor,
typename ReduceFunctor>
173 ReduceFunctor reduce,
176 return startFilteredReduced<ResultType>
185 template <
typename Iterator,
typename KeepFunctor,
typename ReduceFunctor>
189 ReduceFunctor reduce,
192 return startFilteredReduced<typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType>
202 template <
typename Sequence,
typename KeepFunctor>
209 template <
typename OutputSequence,
typename Iterator,
typename KeepFunctor>
212 return startFilteredReduced<OutputSequence>(begin, end,
222 #endif // QT_NO_CONCURRENT Definition: qtconcurrentfilterkernel.h:77
QFuture< typename Sequence::value_type > filtered(const Sequence &sequence, KeepFunctor keep)
Definition: qtconcurrentfilter.h:123
Definition: qtconcurrentfunctionwrappers.h:243
const T & createFunctionWrapper(const T &t)
Definition: qtconcurrentfunctionwrappers.h:163
Definition: qtconcurrentreducekernel.h:93
Definition: qtconcurrentfunctionwrappers.h:218
ThreadEngineStarter< typename ThreadEngine::ResultType > startThreadEngine(ThreadEngine *threadEngine)
[qtconcurrentthreadengine-1]
Definition: qtconcurrentthreadengine.h:262
Sequence blockingFiltered(const Sequence &sequence, KeepFunctor keep)
Definition: qtconcurrentfilter.h:203
Definition: qtconcurrentthreadengine.h:247
ThreadEngineStarter< typename qValueType< Iterator >::value_type > startFiltered(Iterator begin, Iterator end, KeepFunctor functor)
[QtConcurrent-2]
Definition: qtconcurrentfilterkernel.h:298
QFuture< void > filter(Sequence &sequence, KeepFunctor keep)
Definition: qtconcurrentfilter.h:64
ThreadEngineStarter< void > filterInternal(Sequence &sequence, KeepFunctor keep, ReduceFunctor reduce)
[QtConcurrent-1]
Definition: qtconcurrentfilter.h:56
Definition: qtconcurrentreducekernel.h:91
QFuture< ResultType > filteredReduced(const Sequence &sequence, KeepFunctor keep, ReduceFunctor reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
Definition: qtconcurrentfilter.h:71
The QtConcurrent namespace provides high-level APIs that make it possible to write multi-threaded pro...
Definition: qtconcurrentexception.h:51
Definition: qtconcurrentreducekernel.h:92
ResultType blockingFilteredReduced(const Sequence &sequence, KeepFunctor keep, ReduceFunctor reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
Definition: qtconcurrentfilter.h:144
void blockingFilter(Sequence &sequence, KeepFunctor keep)
Definition: qtconcurrentfilter.h:137
void startBlocking()
Definition: qtconcurrentthreadengine.h:253