42 #ifndef QTCONCURRENT_FILTER_H
43 #define QTCONCURRENT_FILTER_H
47 #ifndef QT_NO_CONCURRENT
70 FilterFunction filterFunction,
71 ReduceFunction reduceFunction,
76 FilterFunction filterFunction,
77 ReduceFunction reduceFunction,
80 void blockingFilter(Sequence &sequence, FilterFunction filterFunction);
82 template <
typename Sequence>
83 Sequence
blockingFiltered(
const Sequence &sequence, FilterFunction filterFunction);
84 template <
typename Sequence>
85 Sequence
blockingFiltered(ConstIterator begin, ConstIterator
end, FilterFunction filterFunction);
89 FilterFunction filterFunction,
90 ReduceFunction reduceFunction,
95 FilterFunction filterFunction,
96 ReduceFunction reduceFunction,
105 template <
typename Sequence,
typename KeepFunctor,
typename ReduceFunctor>
113 template <
typename Sequence,
typename KeepFunctor>
120 template <
typename ResultType,
typename Sequence,
typename KeepFunctor,
typename ReduceFunctor>
123 ReduceFunctor reduce,
129 template <
typename Sequence,
typename KeepFunctor,
typename ReduceFunctor>
132 ReduceFunctor reduce,
135 return startFilteredReduced<typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType>
143 template <
typename ResultType,
typename Iterator,
typename KeepFunctor,
typename ReduceFunctor>
147 ReduceFunctor reduce,
153 template <
typename Iterator,
typename KeepFunctor,
typename ReduceFunctor>
157 ReduceFunctor reduce,
160 return startFilteredReduced<typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType>
168 template <
typename Sequence,
typename KeepFunctor>
175 template <
typename Iterator,
typename KeepFunctor>
182 template <
typename Sequence,
typename KeepFunctor>
189 template <
typename ResultType,
typename Sequence,
typename KeepFunctor,
typename ReduceFunctor>
192 ReduceFunctor reduce,
199 template <
typename Sequence,
typename KeepFunctor,
typename ReduceFunctor>
202 ReduceFunctor reduce,
205 return blockingFilteredReduced<typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType>
213 template <
typename ResultType,
typename Iterator,
typename KeepFunctor,
typename ReduceFunctor>
217 ReduceFunctor reduce,
220 return startFilteredReduced<ResultType>
228 template <
typename Iterator,
typename KeepFunctor,
typename ReduceFunctor>
232 ReduceFunctor reduce,
235 return startFilteredReduced<typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType>
244 template <
typename Sequence,
typename KeepFunctor>
251 template <
typename OutputSequence,
typename Iterator,
typename KeepFunctor>
254 return startFilteredReduced<OutputSequence>(begin,
end,
267 #endif // QT_NO_CONCURRENT
Sequence blockingFiltered(const Sequence &sequence, KeepFunctor keep)
#define QT_BEGIN_NAMESPACE
ResultType blockingFilteredReduced(const Sequence &sequence, KeepFunctor keep, ReduceFunctor reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
QFuture< typename Sequence::value_type > filtered(const Sequence &sequence, KeepFunctor keep)
QFuture< ResultType > filteredReduced(const Sequence &sequence, KeepFunctor keep, ReduceFunctor reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
ThreadEngineStarter< void > filterInternal(Sequence &sequence, KeepFunctor keep, ReduceFunctor reduce)
QFuture< void > filter(Sequence &sequence, KeepFunctor keep)
const T & createFunctionWrapper(const T &t)
ThreadEngineStarter< typename ThreadEngine::ResultType > startThreadEngine(ThreadEngine *threadEngine)
void blockingFilter(Sequence &sequence, KeepFunctor keep)
ThreadEngineStarter< typename qValueType< Iterator >::value_type > startFiltered(Iterator begin, Iterator end, KeepFunctor functor)