Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QtConcurrent Namespace Reference

\inmodule QtConcurrent More...

Classes

class  BlockSizeManager
 \inmodule QtConcurrent More...
class  ResultReporter
 \inmodule QtConcurrent More...
class  ResultReporter< void >
struct  DefaultValueContainer
struct  DefaultValueContainer< void >
class  IterateKernel
 \inmodule QtConcurrent More...
class  ThreadEngineBarrier
 \inmodule QtConcurrent More...
class  ThreadEngineBase
 \inmodule QtConcurrent More...
class  ThreadEngine
 \inmodule QtConcurrent More...
class  ThreadEngineStarterBase
 \inmodule QtConcurrent More...
class  ThreadEngineStarter
 \inmodule QtConcurrent More...
class  ThreadEngineStarter< void >
class  QTaskBuilder
class  qValueType
 \inmodule QtConcurrent More...
class  qValueType< const T * >
 \inmodule QtConcurrent More...
class  qValueType< T * >
 \inmodule QtConcurrent More...
class  FilterKernel
 \inmodule QtConcurrent More...
class  FilteredReducedKernel
 \inmodule QtConcurrent More...
class  FilteredEachKernel
 \inmodule QtConcurrent More...
class  MapKernel
 \inmodule QtConcurrent More...
class  MappedReducedKernel
 \inmodule QtConcurrent More...
class  MappedEachKernel
 \inmodule QtConcurrent More...
class  SequenceHolder1
 \inmodule QtConcurrent More...
class  Median
 \inmodule QtConcurrent More...
class  IntermediateResults
class  ReduceKernel
 \inmodule QtConcurrent More...
class  SequenceHolder2
 \inmodule QtConcurrent More...
struct  SelectSpecialization
struct  SelectSpecialization< void >
struct  TaskStartParameters
class  RunFunctionTaskBase
struct  NonMemberFunctionResolver
struct  NonMemberFunctionResolver< Function, PromiseType, Args... >
struct  MemberFunctionResolver
struct  MemberFunctionResolver< Function, PromiseType, Arg, Args... >
struct  FunctionResolverHelper
struct  FunctionResolverHelper< std::false_type, Function, PromiseType, Args... >
struct  FunctionResolverHelper< std::true_type, Function, PromiseType, Args... >
struct  FunctionResolver
struct  InvokeResult
struct  StoredFunctionCall
struct  StoredFunctionCallWithPromise
struct  NonPromiseTaskResolver
struct  NonPromiseTaskResolver< Function, Args... >
struct  PromiseTaskResolver
struct  PromiseTaskResolver< Function, Args... >
struct  TaskResolverHelper
struct  TaskResolverHelper< std::true_type, Function, Args... >
struct  TaskResolverHelper< std::false_type, Function, Args... >
struct  TaskResolver

Typedefs

template<class Function, class ... Args>
using InvokeResultType = typename InvokeResult<Function, Args...>::Type
template<class ... Types>
using DecayedTuple = std::tuple<std::decay_t<Types>...>

Enumerations

enum  ThreadFunctionResult { ThrottleThread , ThreadFinished }
enum class  FutureResult { Ignore }
enum  { ReduceQueueStartLimit = 20 , ReduceQueueThrottleLimit = 30 }
enum  ReduceOption { UnorderedReduce = 0x1 , OrderedReduce = 0x2 , SequentialReduce = 0x4 }
 This enum specifies the order of which results from the map or filter function are passed to the reduce function. More...

Functions

bool selectIteration (std::bidirectional_iterator_tag)
bool selectIteration (std::forward_iterator_tag)
bool selectIteration (std::random_access_iterator_tag)
template<typename ThreadEngine>
ThreadEngineStarter< typename ThreadEngine::ResultType > startThreadEngine (ThreadEngine *threadEngine)
 [qtconcurrentthreadengine-1]
template<typename Sequence, typename KeepFunctor, typename ReduceFunctor>
ThreadEngineStarter< void > filterInternal (QThreadPool *pool, Sequence &sequence, KeepFunctor &&keep, ReduceFunctor &&reduce)
 [QtConcurrent-1]
template<typename Sequence, typename KeepFunctor>
QFuture< void > filter (QThreadPool *pool, Sequence &sequence, KeepFunctor &&keep)
template<typename Sequence, typename KeepFunctor>
QFuture< void > filter (Sequence &sequence, KeepFunctor &&keep)
template<typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor>
QFuture< ResultType > filteredReduced (QThreadPool *pool, Sequence &&sequence, KeepFunctor &&keep, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor>
QFuture< ResultType > filteredReduced (Sequence &&sequence, KeepFunctor &&keep, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > filteredReduced (QThreadPool *pool, Sequence &&sequence, KeepFunctor &&keep, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > filteredReduced (Sequence &&sequence, KeepFunctor &&keep, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Sequence, typename KeepFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isInvocable< KeepFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type>
QFuture< ResultType > filteredReduced (QThreadPool *pool, Sequence &&sequence, KeepFunctor &&keep, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Sequence, typename KeepFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isInvocable< KeepFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type>
QFuture< ResultType > filteredReduced (Sequence &&sequence, KeepFunctor &&keep, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Sequence, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInvocable< KeepFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > filteredReduced (QThreadPool *pool, Sequence &&sequence, KeepFunctor &&keep, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Sequence, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInvocable< KeepFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > filteredReduced (Sequence &&sequence, KeepFunctor &&keep, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor>
QFuture< ResultType > filteredReduced (QThreadPool *pool, Iterator begin, Iterator end, KeepFunctor &&keep, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor>
QFuture< ResultType > filteredReduced (Iterator begin, Iterator end, KeepFunctor &&keep, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > filteredReduced (QThreadPool *pool, Iterator begin, Iterator end, KeepFunctor &&keep, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > filteredReduced (Iterator begin, Iterator end, KeepFunctor &&keep, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Iterator, typename KeepFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isIterator_v< Iterator >, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > filteredReduced (Iterator begin, Iterator end, KeepFunctor &&keep, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Sequence, typename KeepFunctor>
QFuture< typename std::decay_t< Sequence >::value_type > filtered (QThreadPool *pool, Sequence &&sequence, KeepFunctor &&keep)
 Calls filterFunction once for each item in sequence and returns a new Sequence of kept items.
template<typename Sequence, typename KeepFunctor>
QFuture< typename std::decay_t< Sequence >::value_type > filtered (Sequence &&sequence, KeepFunctor &&keep)
 Calls filterFunction once for each item in sequence and returns a new Sequence of kept items.
template<typename Iterator, typename KeepFunctor>
QFuture< typename qValueType< Iterator >::value_type > filtered (QThreadPool *pool, Iterator begin, Iterator end, KeepFunctor &&keep)
 Calls filterFunction once for each item from begin to end and returns a new Sequence of kept items.
template<typename Iterator, typename KeepFunctor>
QFuture< typename qValueType< Iterator >::value_type > filtered (Iterator begin, Iterator end, KeepFunctor &&keep)
 Calls filterFunction once for each item from begin to end and returns a new Sequence of kept items.
template<typename Sequence, typename KeepFunctor>
void blockingFilter (QThreadPool *pool, Sequence &sequence, KeepFunctor &&keep)
 Calls filterFunction once for each item in sequence.
template<typename Sequence, typename KeepFunctor>
void blockingFilter (Sequence &sequence, KeepFunctor &&keep)
 Calls filterFunction once for each item in sequence.
template<typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor>
ResultType blockingFilteredReduced (QThreadPool *pool, Sequence &&sequence, KeepFunctor &&keep, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor>
ResultType blockingFilteredReduced (Sequence &&sequence, KeepFunctor &&keep, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType blockingFilteredReduced (QThreadPool *pool, Sequence &&sequence, KeepFunctor &&keep, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType blockingFilteredReduced (Sequence &&sequence, KeepFunctor &&keep, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Sequence, typename KeepFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isInvocable< KeepFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type>
ResultType blockingFilteredReduced (QThreadPool *pool, Sequence &&sequence, KeepFunctor &&keep, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Sequence, typename KeepFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isInvocable< KeepFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type>
ResultType blockingFilteredReduced (Sequence &&sequence, KeepFunctor &&keep, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Sequence, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInvocable< KeepFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType blockingFilteredReduced (QThreadPool *pool, Sequence &&sequence, KeepFunctor &&keep, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Sequence, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInvocable< KeepFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType blockingFilteredReduced (Sequence &&sequence, KeepFunctor &&keep, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor>
ResultType blockingFilteredReduced (QThreadPool *pool, Iterator begin, Iterator end, KeepFunctor &&keep, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor>
ResultType blockingFilteredReduced (Iterator begin, Iterator end, KeepFunctor &&keep, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType blockingFilteredReduced (QThreadPool *pool, Iterator begin, Iterator end, KeepFunctor &&keep, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType blockingFilteredReduced (Iterator begin, Iterator end, KeepFunctor &&keep, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Iterator, typename KeepFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isIterator_v< Iterator >, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType blockingFilteredReduced (Iterator begin, Iterator end, KeepFunctor &&keep, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Sequence, typename KeepFunctor>
std::decay_t< Sequence > blockingFiltered (QThreadPool *pool, Sequence &&sequence, KeepFunctor &&keep)
 Calls filterFunction once for each item in sequence and returns a new Sequence of kept items.
template<typename Sequence, typename KeepFunctor>
std::decay_t< Sequence > blockingFiltered (Sequence &&sequence, KeepFunctor &&keep)
 Calls filterFunction once for each item in sequence and returns a new Sequence of kept items.
template<typename OutputSequence, typename Iterator, typename KeepFunctor>
OutputSequence blockingFiltered (QThreadPool *pool, Iterator begin, Iterator end, KeepFunctor &&keep)
 Calls filterFunction once for each item from begin to end and returns a new Sequence of kept items.
template<typename OutputSequence, typename Iterator, typename KeepFunctor>
OutputSequence blockingFiltered (Iterator begin, Iterator end, KeepFunctor &&keep)
 Calls filterFunction once for each item from begin to end and returns a new Sequence of kept items.
template<typename Iterator, typename KeepFunctor>
ThreadEngineStarter< typename qValueType< Iterator >::value_type > startFiltered (QThreadPool *pool, Iterator begin, Iterator end, KeepFunctor &&functor)
 [QtConcurrent-2]
template<typename Sequence, typename KeepFunctor>
decltype(auto) startFiltered (QThreadPool *pool, Sequence &&sequence, KeepFunctor &&functor)
 [QtConcurrent-3]
template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
ThreadEngineStarter< ResultType > startFilteredReduced (QThreadPool *pool, Sequence &&sequence, MapFunctor &&mapFunctor, ReduceFunctor &&reduceFunctor, ReduceOptions options)
 [QtConcurrent-4]
template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
ThreadEngineStarter< ResultType > startFilteredReduced (QThreadPool *pool, Iterator begin, Iterator end, MapFunctor &&mapFunctor, ReduceFunctor &&reduceFunctor, ReduceOptions options)
 [QtConcurrent-5]
template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
ThreadEngineStarter< ResultType > startFilteredReduced (QThreadPool *pool, Sequence &&sequence, MapFunctor &&mapFunctor, ReduceFunctor &&reduceFunctor, ResultType &&initialValue, ReduceOptions options)
 [QtConcurrent-6]
template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
ThreadEngineStarter< ResultType > startFilteredReduced (QThreadPool *pool, Iterator begin, Iterator end, MapFunctor &&mapFunctor, ReduceFunctor &&reduceFunctor, ResultType &&initialValue, ReduceOptions options)
 [QtConcurrent-7]
template<typename Sequence, typename MapFunctor>
QFuture< void > map (QThreadPool *pool, Sequence &&sequence, MapFunctor &&map)
 Calls function once for each item in sequence.
template<typename Sequence, typename MapFunctor>
QFuture< void > map (Sequence &&sequence, MapFunctor &&map)
 Calls function once for each item in sequence.
template<typename Iterator, typename MapFunctor>
QFuture< void > map (QThreadPool *pool, Iterator begin, Iterator end, MapFunctor &&map)
 Calls function once for each item from begin to end.
template<typename Iterator, typename MapFunctor>
QFuture< void > map (Iterator begin, Iterator end, MapFunctor &&map)
 Calls function once for each item from begin to end.
template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
QFuture< ResultType > mappedReduced (QThreadPool *pool, Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
QFuture< ResultType > mappedReduced (Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > mappedReduced (QThreadPool *pool, Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > mappedReduced (Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Sequence, typename MapFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isInvocable< MapFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type>
QFuture< ResultType > mappedReduced (QThreadPool *pool, Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Sequence, typename MapFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isInvocable< MapFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type>
QFuture< ResultType > mappedReduced (Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Sequence, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInvocable< MapFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > mappedReduced (QThreadPool *pool, Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Sequence, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInvocable< MapFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > mappedReduced (Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
QFuture< ResultType > mappedReduced (QThreadPool *pool, Iterator begin, Iterator end, MapFunctor &&map, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
QFuture< ResultType > mappedReduced (Iterator begin, Iterator end, MapFunctor &&map, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > mappedReduced (QThreadPool *pool, Iterator begin, Iterator end, MapFunctor &&map, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > mappedReduced (Iterator begin, Iterator end, MapFunctor &&map, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Iterator, typename MapFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isIterator_v< Iterator >, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > mappedReduced (Iterator begin, Iterator end, MapFunctor &&map, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Sequence, typename MapFunctor>
QFuture< QtPrivate::MapResultType< Sequence, MapFunctor > > mapped (QThreadPool *pool, Sequence &&sequence, MapFunctor &&map)
template<typename Sequence, typename MapFunctor>
QFuture< QtPrivate::MapResultType< Sequence, MapFunctor > > mapped (Sequence &&sequence, MapFunctor &&map)
template<typename Iterator, typename MapFunctor>
QFuture< QtPrivate::MapResultType< Iterator, MapFunctor > > mapped (QThreadPool *pool, Iterator begin, Iterator end, MapFunctor &&map)
template<typename Iterator, typename MapFunctor>
QFuture< QtPrivate::MapResultType< Iterator, MapFunctor > > mapped (Iterator begin, Iterator end, MapFunctor &&map)
template<typename Sequence, typename MapFunctor>
void blockingMap (QThreadPool *pool, Sequence &&sequence, MapFunctor map)
 Calls function once for each item in sequence.
template<typename Sequence, typename MapFunctor>
void blockingMap (Sequence &&sequence, MapFunctor &&map)
 Calls function once for each item in sequence.
template<typename Iterator, typename MapFunctor>
void blockingMap (QThreadPool *pool, Iterator begin, Iterator end, MapFunctor &&map)
 Calls function once for each item from begin to end.
template<typename Iterator, typename MapFunctor>
void blockingMap (Iterator begin, Iterator end, MapFunctor &&map)
 Calls function once for each item from begin to end.
template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
ResultType blockingMappedReduced (QThreadPool *pool, Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
ResultType blockingMappedReduced (Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType blockingMappedReduced (QThreadPool *pool, Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType blockingMappedReduced (Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename MapFunctor, typename ReduceFunctor, typename Sequence, std::enable_if_t< QtPrivate::isInvocable< MapFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type>
ResultType blockingMappedReduced (QThreadPool *pool, Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename MapFunctor, typename ReduceFunctor, typename Sequence, std::enable_if_t< QtPrivate::isInvocable< MapFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type>
ResultType blockingMappedReduced (Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename MapFunctor, typename ReduceFunctor, typename Sequence, typename InitialValueType, std::enable_if_t< QtPrivate::isInvocable< MapFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType blockingMappedReduced (QThreadPool *pool, Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename MapFunctor, typename ReduceFunctor, typename Sequence, typename InitialValueType, std::enable_if_t< QtPrivate::isInvocable< MapFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType blockingMappedReduced (Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
ResultType blockingMappedReduced (QThreadPool *pool, Iterator begin, Iterator end, MapFunctor &&map, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
ResultType blockingMappedReduced (Iterator begin, Iterator end, MapFunctor &&map, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType blockingMappedReduced (QThreadPool *pool, Iterator begin, Iterator end, MapFunctor &&map, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType blockingMappedReduced (Iterator begin, Iterator end, MapFunctor &&map, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename Iterator, typename MapFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isIterator_v< Iterator >, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType blockingMappedReduced (Iterator begin, Iterator end, MapFunctor &&map, ReduceFunctor &&reduce, InitialValueType &&initialValue, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
template<typename OutputSequence, typename InputSequence, typename MapFunctor>
OutputSequence blockingMapped (QThreadPool *pool, InputSequence &&sequence, MapFunctor &&map)
 Calls function once for each item in sequence and returns an OutputSequence containing the results.
template<typename OutputSequence, typename InputSequence, typename MapFunctor>
OutputSequence blockingMapped (InputSequence &&sequence, MapFunctor &&map)
 Calls function once for each item in sequence and returns an OutputSequence containing the results.
template<typename MapFunctor, typename InputSequence>
auto blockingMapped (QThreadPool *pool, InputSequence &&sequence, MapFunctor &&map)
template<typename MapFunctor, typename InputSequence>
auto blockingMapped (InputSequence &&sequence, MapFunctor &&map)
template<typename Sequence, typename Iterator, typename MapFunctor>
Sequence blockingMapped (QThreadPool *pool, Iterator begin, Iterator end, MapFunctor &&map)
 Calls function once for each item from begin to end and returns a container with the results.
template<typename Sequence, typename Iterator, typename MapFunctor>
Sequence blockingMapped (Iterator begin, Iterator end, MapFunctor &&map)
 Calls function once for each item from begin to end and returns a container with the results.
template<typename Iterator, typename MapFunctor>
auto blockingMapped (QThreadPool *pool, Iterator begin, Iterator end, MapFunctor &&map)
template<typename Iterator, typename MapFunctor>
auto blockingMapped (Iterator begin, Iterator end, MapFunctor &&map)
template<typename Iterator, typename Functor>
ThreadEngineStarter< void > startMap (QThreadPool *pool, Iterator begin, Iterator end, Functor &&functor)
 [qtconcurrentmapkernel-1]
template<typename T, typename Iterator, typename Functor>
ThreadEngineStarter< T > startMapped (QThreadPool *pool, Iterator begin, Iterator end, Functor &&functor)
 [qtconcurrentmapkernel-2]
template<typename T, typename Sequence, typename Functor>
ThreadEngineStarter< T > startMapped (QThreadPool *pool, Sequence &&sequence, Functor &&functor)
 [qtconcurrentmapkernel-3]
template<typename IntermediateType, typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
ThreadEngineStarter< ResultType > startMappedReduced (QThreadPool *pool, Sequence &&sequence, MapFunctor &&mapFunctor, ReduceFunctor &&reduceFunctor, ReduceOptions options)
 [qtconcurrentmapkernel-4]
template<typename IntermediateType, typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
ThreadEngineStarter< ResultType > startMappedReduced (QThreadPool *pool, Iterator begin, Iterator end, MapFunctor &&mapFunctor, ReduceFunctor &&reduceFunctor, ReduceOptions options)
 [qtconcurrentmapkernel-5]
template<typename IntermediateType, typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
ThreadEngineStarter< ResultType > startMappedReduced (QThreadPool *pool, Sequence &&sequence, MapFunctor &&mapFunctor, ReduceFunctor &&reduceFunctor, ResultType &&initialValue, ReduceOptions options)
 [qtconcurrentmapkernel-6]
template<typename IntermediateType, typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
ThreadEngineStarter< ResultType > startMappedReduced (QThreadPool *pool, Iterator begin, Iterator end, MapFunctor &&mapFunctor, ReduceFunctor &&reduceFunctor, ResultType &&initialValue, ReduceOptions options)
 [qtconcurrentmapkernel-7]
template<class Function, class ... Args>
QTCONCURRENT_RUN_NODISCARD auto run (QThreadPool *pool, Function &&f, Args &&...args)
template<class Function, class ... Args>
QTCONCURRENT_RUN_NODISCARD auto run (QThreadPool *pool, std::reference_wrapper< const Function > &&functionWrapper, Args &&...args)
template<class Function, class ... Args>
QTCONCURRENT_RUN_NODISCARD auto run (Function &&f, Args &&...args)
template<class PromiseType, class Function, class ... Args>
QTCONCURRENT_RUN_NODISCARD auto run (QThreadPool *pool, Function &&f, Args &&...args)
template<class PromiseType, class Function, class ... Args>
QTCONCURRENT_RUN_NODISCARD auto run (Function &&f, Args &&...args)
template<class Task>
constexpr auto task (Task &&t)

Detailed Description

\inmodule QtConcurrent

Since
4.4

The QtConcurrent namespace provides high-level APIs that make it possible to write multi-threaded programs without using low-level threading primitives.

See the \l {Qt Concurrent} module documentation for an overview of available functions, or see below for detailed information on each function.

Typedef Documentation

◆ DecayedTuple

template<class ... Types>
using QtConcurrent::DecayedTuple = std::tuple<std::decay_t<Types>...>

Definition at line 103 of file qtconcurrentstoredfunctioncall.h.

◆ InvokeResultType

template<class Function, class ... Args>
using QtConcurrent::InvokeResultType = typename InvokeResult<Function, Args...>::Type

Definition at line 100 of file qtconcurrentstoredfunctioncall.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ReduceQueueStartLimit 
ReduceQueueThrottleLimit 

Definition at line 50 of file qtconcurrentreducekernel.h.

◆ FutureResult

enum class QtConcurrent::FutureResult
strong
Enumerator
Ignore 

Definition at line 48 of file qtaskbuilder.h.

◆ ReduceOption

This enum specifies the order of which results from the map or filter function are passed to the reduce function.

\value UnorderedReduce Reduction is done in an arbitrary order. \value OrderedReduce Reduction is done in the order of the original sequence. \value SequentialReduce Reduction is done sequentially: only one thread will enter the reduce function at a time. (Parallel reduction might be supported in a future version of Qt Concurrent.)

Enumerator
UnorderedReduce 
OrderedReduce 
SequentialReduce 

Definition at line 67 of file qtconcurrentreducekernel.h.

◆ ThreadFunctionResult

Enumerator
ThrottleThread 
ThreadFinished 

Definition at line 45 of file qtconcurrentthreadengine.h.

Function Documentation

◆ blockingFilter() [1/2]

template<typename Sequence, typename KeepFunctor>
void QtConcurrent::blockingFilter ( QThreadPool * pool,
Sequence & sequence,
KeepFunctor && filterFunction )

Calls filterFunction once for each item in sequence.

All calls to filterFunction are invoked from the threads taken from the QThreadPool pool. If filterFunction returns true, the item is kept in sequence; otherwise, the item is removed from sequence.

Note that this method doesn't have an overload working with iterators, because it invalidates the iterators of the sequence it operates on.

Note
This function will block until all items in the sequence have been processed.

null-pool

See also
{Concurrent Filter and Filter-Reduce}

Definition at line 369 of file qtconcurrentfilter.h.

◆ blockingFilter() [2/2]

template<typename Sequence, typename KeepFunctor>
void QtConcurrent::blockingFilter ( Sequence & sequence,
KeepFunctor && filterFunction )

Calls filterFunction once for each item in sequence.

If filterFunction returns true, the item is kept in sequence; otherwise, the item is removed from sequence.

Note that this method doesn't have an overload working with iterators, because it invalidates the iterators of the sequence it operates on.

Note
This function will block until all items in the sequence have been processed.

null-global-pool

See also
{Concurrent Filter and Filter-Reduce}

Definition at line 376 of file qtconcurrentfilter.h.

◆ blockingFiltered() [1/4]

template<typename OutputSequence, typename Iterator, typename KeepFunctor>
OutputSequence QtConcurrent::blockingFiltered ( Iterator begin,
Iterator end,
KeepFunctor && filterFunction )

Calls filterFunction once for each item from begin to end and returns a new Sequence of kept items.

If filterFunction returns true, a copy of the item is put in the new Sequence. Otherwise, the item will not appear in the new Sequence.

Note
This function will block until the iterator reaches the end of the sequence being processed.

null-global-pool

See also
filtered(), {Concurrent Filter and Filter-Reduce}

Definition at line 707 of file qtconcurrentfilter.h.

◆ blockingFiltered() [2/4]

template<typename OutputSequence, typename Iterator, typename KeepFunctor>
OutputSequence QtConcurrent::blockingFiltered ( QThreadPool * pool,
Iterator begin,
Iterator end,
KeepFunctor && filterFunction )

Calls filterFunction once for each item from begin to end and returns a new Sequence of kept items.

All calls to filterFunction are invoked from the threads taken from the QThreadPool pool. If filterFunction returns true, a copy of the item is put in the new Sequence. Otherwise, the item will not appear in the new Sequence.

Note
This function will block until the iterator reaches the end of the sequence being processed.

null-pool

See also
filtered(), {Concurrent Filter and Filter-Reduce}

Definition at line 699 of file qtconcurrentfilter.h.

◆ blockingFiltered() [3/4]

template<typename Sequence, typename KeepFunctor>
std::decay_t< Sequence > QtConcurrent::blockingFiltered ( QThreadPool * pool,
Sequence && sequence,
KeepFunctor && filterFunction )

Calls filterFunction once for each item in sequence and returns a new Sequence of kept items.

All calls to filterFunction are invoked from the threads taken from the QThreadPool pool. If filterFunction returns true, a copy of the item is put in the new Sequence. Otherwise, the item will not appear in the new Sequence.

Note
This function will block until all items in the sequence have been processed.

null-pool

See also
filtered(), {Concurrent Filter and Filter-Reduce}

Definition at line 682 of file qtconcurrentfilter.h.

◆ blockingFiltered() [4/4]

template<typename Sequence, typename KeepFunctor>
std::decay_t< Sequence > QtConcurrent::blockingFiltered ( Sequence && sequence,
KeepFunctor && filterFunction )

Calls filterFunction once for each item in sequence and returns a new Sequence of kept items.

If filterFunction returns true, a copy of the item is put in the new Sequence. Otherwise, the item will not appear in the new Sequence.

Note
This function will block until all items in the sequence have been processed.

null-global-pool

See also
filtered(), {Concurrent Filter and Filter-Reduce}

Definition at line 690 of file qtconcurrentfilter.h.

◆ blockingFilteredReduced() [1/13]

template<typename Iterator, typename KeepFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isIterator_v< Iterator >, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType QtConcurrent::blockingFilteredReduced ( Iterator begin,
Iterator end,
KeepFunctor && keep,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                         | SequentialReduce) )

Definition at line 665 of file qtconcurrentfilter.h.

◆ blockingFilteredReduced() [2/13]

template<typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType QtConcurrent::blockingFilteredReduced ( Iterator begin,
Iterator end,
KeepFunctor && keep,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                         | SequentialReduce) )

Definition at line 594 of file qtconcurrentfilter.h.

◆ blockingFilteredReduced() [3/13]

template<typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor>
ResultType QtConcurrent::blockingFilteredReduced ( Iterator begin,
Iterator end,
KeepFunctor && keep,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                         | SequentialReduce) )

Definition at line 548 of file qtconcurrentfilter.h.

◆ blockingFilteredReduced() [4/13]

template<typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType QtConcurrent::blockingFilteredReduced ( QThreadPool * pool,
Iterator begin,
Iterator end,
KeepFunctor && keep,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                         | SequentialReduce) )

Definition at line 570 of file qtconcurrentfilter.h.

◆ blockingFilteredReduced() [5/13]

template<typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor>
ResultType QtConcurrent::blockingFilteredReduced ( QThreadPool * pool,
Iterator begin,
Iterator end,
KeepFunctor && keep,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                         | SequentialReduce) )

Definition at line 533 of file qtconcurrentfilter.h.

◆ blockingFilteredReduced() [6/13]

template<typename Sequence, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInvocable< KeepFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType QtConcurrent::blockingFilteredReduced ( QThreadPool * pool,
Sequence && sequence,
KeepFunctor && keep,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                         | SequentialReduce) )

Definition at line 495 of file qtconcurrentfilter.h.

◆ blockingFilteredReduced() [7/13]

template<typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType QtConcurrent::blockingFilteredReduced ( QThreadPool * pool,
Sequence && sequence,
KeepFunctor && keep,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                         | SequentialReduce) )

Definition at line 419 of file qtconcurrentfilter.h.

◆ blockingFilteredReduced() [8/13]

template<typename Sequence, typename KeepFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isInvocable< KeepFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type>
ResultType QtConcurrent::blockingFilteredReduced ( QThreadPool * pool,
Sequence && sequence,
KeepFunctor && keep,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                         | SequentialReduce) )

Definition at line 461 of file qtconcurrentfilter.h.

◆ blockingFilteredReduced() [9/13]

template<typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor>
ResultType QtConcurrent::blockingFilteredReduced ( QThreadPool * pool,
Sequence && sequence,
KeepFunctor && keep,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                         | SequentialReduce) )

Definition at line 384 of file qtconcurrentfilter.h.

◆ blockingFilteredReduced() [10/13]

template<typename Sequence, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInvocable< KeepFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType QtConcurrent::blockingFilteredReduced ( Sequence && sequence,
KeepFunctor && keep,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                         | SequentialReduce) )

Definition at line 516 of file qtconcurrentfilter.h.

◆ blockingFilteredReduced() [11/13]

template<typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType QtConcurrent::blockingFilteredReduced ( Sequence && sequence,
KeepFunctor && keep,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                         | SequentialReduce) )

Definition at line 443 of file qtconcurrentfilter.h.

◆ blockingFilteredReduced() [12/13]

template<typename Sequence, typename KeepFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isInvocable< KeepFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type>
ResultType QtConcurrent::blockingFilteredReduced ( Sequence && sequence,
KeepFunctor && keep,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                         | SequentialReduce) )

Definition at line 477 of file qtconcurrentfilter.h.

◆ blockingFilteredReduced() [13/13]

template<typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor>
ResultType QtConcurrent::blockingFilteredReduced ( Sequence && sequence,
KeepFunctor && keep,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                         | SequentialReduce) )

Definition at line 398 of file qtconcurrentfilter.h.

◆ blockingMap() [1/4]

template<typename Iterator, typename MapFunctor>
void QtConcurrent::blockingMap ( Iterator begin,
Iterator end,
MapFunctor && function )

Calls function once for each item from begin to end.

The function takes a reference to the item, so that any modifications done to the item will appear in the sequence which the iterators belong to.

Note
This function will block until the iterator reaches the end of the sequence being processed.

null-global-pool

See also
map(), {Concurrent Map and Map-Reduce}

Definition at line 420 of file qtconcurrentmap.h.

◆ blockingMap() [2/4]

template<typename Iterator, typename MapFunctor>
void QtConcurrent::blockingMap ( QThreadPool * pool,
Iterator begin,
Iterator end,
MapFunctor && function )

Calls function once for each item from begin to end.

All calls to function are invoked from the threads taken from the QThreadPool pool. The function takes a reference to the item, so that any modifications done to the item will appear in the sequence which the iterators belong to.

Note
This function will block until the iterator reaches the end of the sequence being processed.

null-pool

See also
map(), {Concurrent Map and Map-Reduce}

Definition at line 413 of file qtconcurrentmap.h.

◆ blockingMap() [3/4]

template<typename Sequence, typename MapFunctor>
void QtConcurrent::blockingMap ( QThreadPool * pool,
Sequence && sequence,
MapFunctor function )

Calls function once for each item in sequence.

All calls to function are invoked from the threads taken from the QThreadPool pool. The function takes a reference to the item, so that any modifications done to the item will appear in sequence.

Note
This function will block until all items in the sequence have been processed.

null-pool

See also
map(), {Concurrent Map and Map-Reduce}

Definition at line 396 of file qtconcurrentmap.h.

◆ blockingMap() [4/4]

template<typename Sequence, typename MapFunctor>
void QtConcurrent::blockingMap ( Sequence && sequence,
MapFunctor && function )

Calls function once for each item in sequence.

The function takes a reference to the item, so that any modifications done to the item will appear in sequence.

Note
This function will block until all items in the sequence have been processed.

null-global-pool

See also
map(), {Concurrent Map and Map-Reduce}

Definition at line 404 of file qtconcurrentmap.h.

◆ blockingMapped() [1/8]

template<typename MapFunctor, typename InputSequence>
auto QtConcurrent::blockingMapped ( InputSequence && sequence,
MapFunctor && map )

Definition at line 774 of file qtconcurrentmap.h.

◆ blockingMapped() [2/8]

template<typename OutputSequence, typename InputSequence, typename MapFunctor>
OutputSequence QtConcurrent::blockingMapped ( InputSequence && sequence,
MapFunctor && function )

Calls function once for each item in sequence and returns an OutputSequence containing the results.

The type of the results will match the type returned by the MapFunctor.

Note
This function will block until all items in the sequence have been processed.

null-global-pool

See also
mapped(), {Concurrent Map and Map-Reduce}

Definition at line 756 of file qtconcurrentmap.h.

◆ blockingMapped() [3/8]

template<typename Iterator, typename MapFunctor>
auto QtConcurrent::blockingMapped ( Iterator begin,
Iterator end,
MapFunctor && map )

Definition at line 809 of file qtconcurrentmap.h.

◆ blockingMapped() [4/8]

template<typename Sequence, typename Iterator, typename MapFunctor>
Sequence QtConcurrent::blockingMapped ( Iterator begin,
Iterator end,
MapFunctor && function )

Calls function once for each item from begin to end and returns a container with the results.

You can specify the type of container as the a template argument, like this:

QList<int> ints = QtConcurrent::blockingMapped<QList<int> >(beginIterator, endIterator, fn);
Definition qlist.h:82
OutputSequence blockingMapped(QThreadPool *pool, InputSequence &&sequence, MapFunctor &&map)
Calls function once for each item in sequence and returns an OutputSequence containing the results.
EGLint EGLint EGLint EGLint int int * ints
Note
This function will block until the iterator reaches the end of the sequence being processed.

null-global-pool

See also
mapped(), {Concurrent Map and Map-Reduce}

Definition at line 793 of file qtconcurrentmap.h.

◆ blockingMapped() [5/8]

template<typename MapFunctor, typename InputSequence>
auto QtConcurrent::blockingMapped ( QThreadPool * pool,
InputSequence && sequence,
MapFunctor && map )

Definition at line 764 of file qtconcurrentmap.h.

◆ blockingMapped() [6/8]

template<typename OutputSequence, typename InputSequence, typename MapFunctor>
OutputSequence QtConcurrent::blockingMapped ( QThreadPool * pool,
InputSequence && sequence,
MapFunctor && function )

Calls function once for each item in sequence and returns an OutputSequence containing the results.

All calls to function are invoked from the threads taken from the QThreadPool pool. The type of the results will match the type returned by the MapFunctor.

Note
This function will block until all items in the sequence have been processed.

null-pool

See also
mapped(), {Concurrent Map and Map-Reduce}

Definition at line 748 of file qtconcurrentmap.h.

◆ blockingMapped() [7/8]

template<typename Iterator, typename MapFunctor>
auto QtConcurrent::blockingMapped ( QThreadPool * pool,
Iterator begin,
Iterator end,
MapFunctor && map )

Definition at line 801 of file qtconcurrentmap.h.

◆ blockingMapped() [8/8]

template<typename Sequence, typename Iterator, typename MapFunctor>
Sequence QtConcurrent::blockingMapped ( QThreadPool * pool,
Iterator begin,
Iterator end,
MapFunctor && function )

Calls function once for each item from begin to end and returns a container with the results.

All calls to function are invoked from the threads taken from the QThreadPool pool. You can specify the type of container as the a template argument, like this:

QList<int> ints = QtConcurrent::blockingMapped<QList<int> >(beginIterator, endIterator, fn);
Note
This function will block until the iterator reaches the end of the sequence being processed.

null-pool

See also
mapped(), {Concurrent Map and Map-Reduce}

Definition at line 786 of file qtconcurrentmap.h.

◆ blockingMappedReduced() [1/13]

template<typename Iterator, typename MapFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isIterator_v< Iterator >, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType QtConcurrent::blockingMappedReduced ( Iterator begin,
Iterator end,
MapFunctor && map,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                       | SequentialReduce) )

Definition at line 732 of file qtconcurrentmap.h.

◆ blockingMappedReduced() [2/13]

template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType QtConcurrent::blockingMappedReduced ( Iterator begin,
Iterator end,
MapFunctor && map,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                       | SequentialReduce) )

Definition at line 650 of file qtconcurrentmap.h.

◆ blockingMappedReduced() [3/13]

template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
ResultType QtConcurrent::blockingMappedReduced ( Iterator begin,
Iterator end,
MapFunctor && map,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                       | SequentialReduce) )

Definition at line 603 of file qtconcurrentmap.h.

◆ blockingMappedReduced() [4/13]

template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType QtConcurrent::blockingMappedReduced ( QThreadPool * pool,
Iterator begin,
Iterator end,
MapFunctor && map,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                       | SequentialReduce) )

Definition at line 625 of file qtconcurrentmap.h.

◆ blockingMappedReduced() [5/13]

template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
ResultType QtConcurrent::blockingMappedReduced ( QThreadPool * pool,
Iterator begin,
Iterator end,
MapFunctor && map,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                       | SequentialReduce) )

Definition at line 588 of file qtconcurrentmap.h.

◆ blockingMappedReduced() [6/13]

template<typename MapFunctor, typename ReduceFunctor, typename Sequence, typename InitialValueType, std::enable_if_t< QtPrivate::isInvocable< MapFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType QtConcurrent::blockingMappedReduced ( QThreadPool * pool,
Sequence && sequence,
MapFunctor && map,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                       | SequentialReduce) )

Definition at line 547 of file qtconcurrentmap.h.

◆ blockingMappedReduced() [7/13]

template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType QtConcurrent::blockingMappedReduced ( QThreadPool * pool,
Sequence && sequence,
MapFunctor && map,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                       | SequentialReduce) )

Definition at line 466 of file qtconcurrentmap.h.

◆ blockingMappedReduced() [8/13]

template<typename MapFunctor, typename ReduceFunctor, typename Sequence, std::enable_if_t< QtPrivate::isInvocable< MapFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type>
ResultType QtConcurrent::blockingMappedReduced ( QThreadPool * pool,
Sequence && sequence,
MapFunctor && map,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                       | SequentialReduce) )

Definition at line 507 of file qtconcurrentmap.h.

◆ blockingMappedReduced() [9/13]

template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
ResultType QtConcurrent::blockingMappedReduced ( QThreadPool * pool,
Sequence && sequence,
MapFunctor && map,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                       | SequentialReduce) )

Definition at line 429 of file qtconcurrentmap.h.

◆ blockingMappedReduced() [10/13]

template<typename MapFunctor, typename ReduceFunctor, typename Sequence, typename InitialValueType, std::enable_if_t< QtPrivate::isInvocable< MapFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType QtConcurrent::blockingMappedReduced ( Sequence && sequence,
MapFunctor && map,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                       | SequentialReduce) )

Definition at line 572 of file qtconcurrentmap.h.

◆ blockingMappedReduced() [11/13]

template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
ResultType QtConcurrent::blockingMappedReduced ( Sequence && sequence,
MapFunctor && map,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                       | SequentialReduce) )

Definition at line 490 of file qtconcurrentmap.h.

◆ blockingMappedReduced() [12/13]

template<typename MapFunctor, typename ReduceFunctor, typename Sequence, std::enable_if_t< QtPrivate::isInvocable< MapFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type>
ResultType QtConcurrent::blockingMappedReduced ( Sequence && sequence,
MapFunctor && map,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                       | SequentialReduce) )

Definition at line 524 of file qtconcurrentmap.h.

◆ blockingMappedReduced() [13/13]

template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
ResultType QtConcurrent::blockingMappedReduced ( Sequence && sequence,
MapFunctor && map,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                       | SequentialReduce) )

Definition at line 444 of file qtconcurrentmap.h.

◆ filter() [1/2]

template<typename Sequence, typename KeepFunctor>
QFuture< void > QtConcurrent::filter ( QThreadPool * pool,
Sequence & sequence,
KeepFunctor && keep )

Definition at line 36 of file qtconcurrentfilter.h.

◆ filter() [2/2]

template<typename Sequence, typename KeepFunctor>
QFuture< void > QtConcurrent::filter ( Sequence & sequence,
KeepFunctor && keep )

Definition at line 43 of file qtconcurrentfilter.h.

◆ filtered() [1/4]

template<typename Iterator, typename KeepFunctor>
QFuture< typename qValueType< Iterator >::value_type > QtConcurrent::filtered ( Iterator begin,
Iterator end,
KeepFunctor && filterFunction )

Calls filterFunction once for each item from begin to end and returns a new Sequence of kept items.

If filterFunction returns true, a copy of the item is put in the new Sequence. Otherwise, the item will not appear in the new Sequence.

null-global-pool

See also
{Concurrent Filter and Filter-Reduce}

Definition at line 359 of file qtconcurrentfilter.h.

◆ filtered() [2/4]

template<typename Iterator, typename KeepFunctor>
QFuture< typename qValueType< Iterator >::value_type > QtConcurrent::filtered ( QThreadPool * pool,
Iterator begin,
Iterator end,
KeepFunctor && filterFunction )

Calls filterFunction once for each item from begin to end and returns a new Sequence of kept items.

All calls to filterFunction are invoked from the threads taken from the QThreadPool pool. If filterFunction returns true, a copy of the item is put in the new Sequence. Otherwise, the item will not appear in the new Sequence.

null-pool

See also
{Concurrent Filter and Filter-Reduce}

Definition at line 350 of file qtconcurrentfilter.h.

◆ filtered() [3/4]

template<typename Sequence, typename KeepFunctor>
QFuture< typename std::decay_t< Sequence >::value_type > QtConcurrent::filtered ( QThreadPool * pool,
Sequence && sequence,
KeepFunctor && filterFunction )

Calls filterFunction once for each item in sequence and returns a new Sequence of kept items.

\fn template <typename Sequence, typename KeepFunctor> QFuture<void> QtConcurrent::filter(QThreadPool *pool, Sequence &sequence, KeepFunctor &&filterFunction)

Calls \a filterFunction once for each item in \a sequence.
All calls to \a filterFunction are invoked from the threads taken from the QThreadPool \a pool.
If \a filterFunction returns \c true, the item is kept in \a sequence;
otherwise, the item is removed from \a sequence.

Note that this method doesn't have an overload working with iterators, because
it invalidates the iterators of the sequence it operates on.

![null-pool] If pool is nullptr, the behavior is undefined. ![null-pool]

\sa {Concurrent Filter and Filter-Reduce}
\fn template <typename Sequence, typename KeepFunctor> QFuture<void> QtConcurrent::filter(Sequence &sequence, KeepFunctor &&filterFunction)

Calls \a filterFunction once for each item in \a sequence. If
\a filterFunction returns \c true, the item is kept in \a sequence;
otherwise, the item is removed from \a sequence.

Note that this method doesn't have an overload working with iterators, because
it invalidates the iterators of the sequence it operates on.

![null-global-pool] If QThreadPool::globalInstance() is nullptr (e.g. during shutdown), the behavior is undefined. ![null-global-pool]

\sa {Concurrent Filter and Filter-Reduce}

All calls to filterFunction are invoked from the threads taken from the QThreadPool pool. If filterFunction returns true, a copy of the item is put in the new Sequence. Otherwise, the item will not appear in the new Sequence.

null-pool

See also
{Concurrent Filter and Filter-Reduce}

Definition at line 334 of file qtconcurrentfilter.h.

◆ filtered() [4/4]

template<typename Sequence, typename KeepFunctor>
QFuture< typename std::decay_t< Sequence >::value_type > QtConcurrent::filtered ( Sequence && sequence,
KeepFunctor && filterFunction )

Calls filterFunction once for each item in sequence and returns a new Sequence of kept items.

If filterFunction returns true, a copy of the item is put in the new Sequence. Otherwise, the item will not appear in the new Sequence.

null-global-pool

See also
{Concurrent Filter and Filter-Reduce}

Definition at line 341 of file qtconcurrentfilter.h.

◆ filteredReduced() [1/13]

template<typename Iterator, typename KeepFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isIterator_v< Iterator >, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > QtConcurrent::filteredReduced ( Iterator begin,
Iterator end,
KeepFunctor && keep,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                          | SequentialReduce) )

Definition at line 317 of file qtconcurrentfilter.h.

◆ filteredReduced() [2/13]

template<typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > QtConcurrent::filteredReduced ( Iterator begin,
Iterator end,
KeepFunctor && keep,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                          | SequentialReduce) )

Definition at line 249 of file qtconcurrentfilter.h.

◆ filteredReduced() [3/13]

template<typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor>
QFuture< ResultType > QtConcurrent::filteredReduced ( Iterator begin,
Iterator end,
KeepFunctor && keep,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                          | SequentialReduce) )

Definition at line 205 of file qtconcurrentfilter.h.

◆ filteredReduced() [4/13]

template<typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > QtConcurrent::filteredReduced ( QThreadPool * pool,
Iterator begin,
Iterator end,
KeepFunctor && keep,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                          | SequentialReduce) )

Definition at line 226 of file qtconcurrentfilter.h.

◆ filteredReduced() [5/13]

template<typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor>
QFuture< ResultType > QtConcurrent::filteredReduced ( QThreadPool * pool,
Iterator begin,
Iterator end,
KeepFunctor && keep,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                          | SequentialReduce) )

Definition at line 192 of file qtconcurrentfilter.h.

◆ filteredReduced() [6/13]

template<typename Sequence, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInvocable< KeepFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > QtConcurrent::filteredReduced ( QThreadPool * pool,
Sequence && sequence,
KeepFunctor && keep,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                          | SequentialReduce) )

Definition at line 156 of file qtconcurrentfilter.h.

◆ filteredReduced() [7/13]

template<typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > QtConcurrent::filteredReduced ( QThreadPool * pool,
Sequence && sequence,
KeepFunctor && keep,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                          | SequentialReduce) )

Definition at line 84 of file qtconcurrentfilter.h.

◆ filteredReduced() [8/13]

template<typename Sequence, typename KeepFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isInvocable< KeepFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type>
QFuture< ResultType > QtConcurrent::filteredReduced ( QThreadPool * pool,
Sequence && sequence,
KeepFunctor && keep,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                          | SequentialReduce) )

Definition at line 124 of file qtconcurrentfilter.h.

◆ filteredReduced() [9/13]

template<typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor>
QFuture< ResultType > QtConcurrent::filteredReduced ( QThreadPool * pool,
Sequence && sequence,
KeepFunctor && keep,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                          | SequentialReduce) )

Definition at line 51 of file qtconcurrentfilter.h.

◆ filteredReduced() [10/13]

template<typename Sequence, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInvocable< KeepFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > QtConcurrent::filteredReduced ( Sequence && sequence,
KeepFunctor && keep,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                          | SequentialReduce) )

Definition at line 176 of file qtconcurrentfilter.h.

◆ filteredReduced() [11/13]

template<typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > QtConcurrent::filteredReduced ( Sequence && sequence,
KeepFunctor && keep,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                          | SequentialReduce) )

Definition at line 107 of file qtconcurrentfilter.h.

◆ filteredReduced() [12/13]

template<typename Sequence, typename KeepFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isInvocable< KeepFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type>
QFuture< ResultType > QtConcurrent::filteredReduced ( Sequence && sequence,
KeepFunctor && keep,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                          | SequentialReduce) )

Definition at line 139 of file qtconcurrentfilter.h.

◆ filteredReduced() [13/13]

template<typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor>
QFuture< ResultType > QtConcurrent::filteredReduced ( Sequence && sequence,
KeepFunctor && keep,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                          | SequentialReduce) )

Definition at line 64 of file qtconcurrentfilter.h.

◆ filterInternal()

template<typename Sequence, typename KeepFunctor, typename ReduceFunctor>
ThreadEngineStarter< void > QtConcurrent::filterInternal ( QThreadPool * pool,
Sequence & sequence,
KeepFunctor && keep,
ReduceFunctor && reduce )

[QtConcurrent-1]

Definition at line 25 of file qtconcurrentfilter.h.

◆ map() [1/4]

template<typename Iterator, typename MapFunctor>
QFuture< void > QtConcurrent::map ( Iterator begin,
Iterator end,
MapFunctor && function )

Calls function once for each item from begin to end.

The function takes a reference to the item, so that any modifications done to the item will appear in the sequence which the iterators belong to.

null-global-pool

See also
{Concurrent Map and Map-Reduce}

Definition at line 48 of file qtconcurrentmap.h.

◆ map() [2/4]

template<typename Iterator, typename MapFunctor>
QFuture< void > QtConcurrent::map ( QThreadPool * pool,
Iterator begin,
Iterator end,
MapFunctor && function )

Calls function once for each item from begin to end.

All calls to function are invoked from the threads taken from the QThreadPool pool. The function takes a reference to the item, so that any modifications done to the item will appear in the sequence which the iterators belong to.

null-pool

See also
{Concurrent Map and Map-Reduce}

Definition at line 42 of file qtconcurrentmap.h.

◆ map() [3/4]

template<typename Sequence, typename MapFunctor>
QFuture< void > QtConcurrent::map ( QThreadPool * pool,
Sequence && sequence,
MapFunctor && function )

Calls function once for each item in sequence.

\page qtconcurrentmap.html
\title Concurrent Map and Map-Reduce
\brief Transforming values from a sequence and combining them, all in parallel.
\ingroup thread

The QtConcurrent::map(), QtConcurrent::mapped() and
QtConcurrent::mappedReduced() functions run computations in parallel on
the items in a sequence such as a QList. QtConcurrent::map()
modifies a sequence in-place, QtConcurrent::mapped() returns a new
sequence containing the modified content, and QtConcurrent::mappedReduced()
returns a single result.

These functions are part of the \l {Qt Concurrent} framework.

Each of the above functions has a blocking variant that returns
the final result instead of a QFuture. You use them in the same
way as the asynchronous variants.

\snippet code/src_concurrent_qtconcurrentmap.cpp 7

Note that the result types above are not QFuture objects, but real result
types (in this case, QList<QImage> and QImage).

! [thread-pool-sharing-note]

Note
A single operation can occupy every thread in its thread pool, delaying other work using the same pool. Overloads without a QThreadPool argument use QThreadPool::globalInstance(), which is shared with other parts of the application and Qt itself. Prefer a dedicated QThreadPool when other work needs to run concurrently. ! [thread-pool-sharing-note]
\section1 Optimize includes

If you include the \c <QtConcurrent> header, the entire Qt Concurrent
module with the entire Qt Core module will be included, which may increase
compilation times and binary sizes. To use the
\l {QtConcurrent::map}{QtConcurrent::map()},
\l {QtConcurrent::mapped}{QtConcurrent::mapped()}, and
\l {QtConcurrent::mappedReduced}{QtConcurrent::mappedReduced()} functions,
you can include a more specific header:

\code
#include <QtConcurrentMap>
\endcode

\section1 Concurrent Map

QtConcurrent::mapped() takes an input sequence and a map function. This map
function is then called for each item in the sequence, and a new sequence
containing the return values from the map function is returned.

The map function must be of the form:

\snippet code/src_concurrent_qtconcurrentmap.cpp 0

T and U can be any type (and they can even be the same type), but T must
match the type stored in the sequence. The function returns the modified
or \e mapped content.

This example shows how to apply a scale function to all the items
in a sequence:

\snippet code/src_concurrent_qtconcurrentmap.cpp 1

The results of the map are made available through QFuture.  See the
QFuture and QFutureWatcher documentation for more information on how to
use QFuture in your applications.

If you want to modify a sequence in-place, use QtConcurrent::map(). The
map function must then be of the form:

\snippet code/src_concurrent_qtconcurrentmap.cpp 2

Note that the return value and return type of the map function are not
used.

Using QtConcurrent::map() is similar to using QtConcurrent::mapped():

\snippet code/src_concurrent_qtconcurrentmap.cpp 3

Since the sequence is modified in place, QtConcurrent::map() does not
return any results via QFuture. However, you can still use QFuture and
QFutureWatcher to monitor the status of the map.

\section2 Concurrent Mapped and Continuations

The result of QtConcurrent::mapped() call is a QFuture that contains
multiple results. When attaching a \c {.then()} continuation to such
QFuture, make sure to use a continuation that takes QFuture as a parameter,
otherwise only the first result will be processed:

\snippet code/src_concurrent_qtconcurrentmap.cpp 18

In this example \c {badFuture} will only print a single result, while
\c {goodFuture} will print all results.

\section1 Concurrent Map-Reduce

QtConcurrent::mappedReduced() is similar to QtConcurrent::mapped(), but
instead of returning a sequence with the new results, the results are
combined into a single value using a reduce function.

The reduce function must be of the form:

\snippet code/src_concurrent_qtconcurrentmap.cpp 4

T is the type of the final result, U is the return type of the map
function. Note that the return value and return type of the reduce
function are not used.

Call QtConcurrent::mappedReduced() like this:

\snippet code/src_concurrent_qtconcurrentmap.cpp 5

The reduce function will be called once for each result returned by the map
function, and should merge the \e{intermediate} into the \e{result}
variable.  QtConcurrent::mappedReduced() guarantees that only one thread
will call reduce at a time, so using a mutex to lock the result variable
is not necessary. The QtConcurrent::ReduceOptions enum provides a way to
control the order in which the reduction is done. If
QtConcurrent::UnorderedReduce is used (the default), the order is
undefined, while QtConcurrent::OrderedReduce ensures that the reduction
is done in the order of the original sequence.

\section1 Additional API Features

\section2 Using Iterators instead of Sequence

Each of the above functions has a variant that takes an iterator range
instead of a sequence. You use them in the same way as the sequence
variants:

\snippet code/src_concurrent_qtconcurrentmap.cpp 6

\section2 Blocking Variants

Each of the above functions has a blocking variant that returns
the final result instead of a QFuture. You use them in the same
way as the asynchronous variants.

\snippet code/src_concurrent_qtconcurrentmap.cpp 7

Note that the result types above are not QFuture objects, but real result
types (in this case, QList<QImage> and QImage).

\section2 Using Member Functions

QtConcurrent::map(), QtConcurrent::mapped(), and
QtConcurrent::mappedReduced() accept pointers to member functions.
The member function class type must match the type stored in the sequence:

\snippet code/src_concurrent_qtconcurrentmap.cpp 8

Note the use of qOverload. It is needed to resolve the ambiguity for the
methods, that have multiple overloads.

Also note that when using QtConcurrent::mappedReduced(), you can mix the use of
normal and member functions freely:

\snippet code/src_concurrent_qtconcurrentmap.cpp 9

\section2 Using Function Objects

QtConcurrent::map(), QtConcurrent::mapped(), and
QtConcurrent::mappedReduced() accept function objects
for the map function. These function objects can be used to
add state to a function call:

\snippet code/src_concurrent_qtconcurrentmap.cpp 14

Function objects are also supported for the reduce function:

\snippet code/src_concurrent_qtconcurrentmap.cpp 11

\section2 Using Lambda Expressions

QtConcurrent::map(), QtConcurrent::mapped(), and
QtConcurrent::mappedReduced() accept lambda expressions for the map and
reduce function:

\snippet code/src_concurrent_qtconcurrentmap.cpp 15

When using QtConcurrent::mappedReduced() or
QtConcurrent::blockingMappedReduced(), you can mix the use of normal
functions, member functions and lambda expressions freely.

\snippet code/src_concurrent_qtconcurrentmap.cpp 16

You can also pass a lambda as a reduce object:

\snippet code/src_concurrent_qtconcurrentmap.cpp 17

\section2 Wrapping Functions that Take Multiple Arguments

If you want to use a map function that takes more than one argument you can
use a lambda function or \c std::bind() to transform it onto a function that
takes one argument.

As an example, we'll use QImage::scaledToWidth():

\snippet code/src_concurrent_qtconcurrentmap.cpp 10

scaledToWidth takes three arguments (including the "this" pointer) and
can't be used with QtConcurrent::mapped() directly, because
QtConcurrent::mapped() expects a function that takes one argument. To use
QImage::scaledToWidth() with QtConcurrent::mapped() we have to provide a
value for the \e{width} and the \e{transformation mode}:

\snippet code/src_concurrent_qtconcurrentmap.cpp 13

All calls to function are invoked from the threads taken from the QThreadPool pool. The function takes a reference to the item, so that any modifications done to the item will appear in sequence.

null-pool

See also
{Concurrent Map and Map-Reduce}

Definition at line 28 of file qtconcurrentmap.h.

◆ map() [4/4]

template<typename Sequence, typename MapFunctor>
QFuture< void > QtConcurrent::map ( Sequence && sequence,
MapFunctor && function )

Calls function once for each item in sequence.

The function takes a reference to the item, so that any modifications done to the item will appear in sequence.

null-global-pool

See also
{Concurrent Map and Map-Reduce}

Definition at line 34 of file qtconcurrentmap.h.

◆ mapped() [1/4]

template<typename Iterator, typename MapFunctor>
QFuture< QtPrivate::MapResultType< Iterator, MapFunctor > > QtConcurrent::mapped ( Iterator begin,
Iterator end,
MapFunctor && map )

Definition at line 385 of file qtconcurrentmap.h.

◆ mapped() [2/4]

template<typename Iterator, typename MapFunctor>
QFuture< QtPrivate::MapResultType< Iterator, MapFunctor > > QtConcurrent::mapped ( QThreadPool * pool,
Iterator begin,
Iterator end,
MapFunctor && map )

Definition at line 374 of file qtconcurrentmap.h.

◆ mapped() [3/4]

template<typename Sequence, typename MapFunctor>
QFuture< QtPrivate::MapResultType< Sequence, MapFunctor > > QtConcurrent::mapped ( QThreadPool * pool,
Sequence && sequence,
MapFunctor && map )

Definition at line 353 of file qtconcurrentmap.h.

◆ mapped() [4/4]

template<typename Sequence, typename MapFunctor>
QFuture< QtPrivate::MapResultType< Sequence, MapFunctor > > QtConcurrent::mapped ( Sequence && sequence,
MapFunctor && map )

Definition at line 363 of file qtconcurrentmap.h.

◆ mappedReduced() [1/13]

template<typename Iterator, typename MapFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isIterator_v< Iterator >, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > QtConcurrent::mappedReduced ( Iterator begin,
Iterator end,
MapFunctor && map,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                        | SequentialReduce) )

Definition at line 337 of file qtconcurrentmap.h.

◆ mappedReduced() [2/13]

template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > QtConcurrent::mappedReduced ( Iterator begin,
Iterator end,
MapFunctor && map,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                        | SequentialReduce) )

Definition at line 259 of file qtconcurrentmap.h.

◆ mappedReduced() [3/13]

template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
QFuture< ResultType > QtConcurrent::mappedReduced ( Iterator begin,
Iterator end,
MapFunctor && map,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                        | SequentialReduce) )

Definition at line 215 of file qtconcurrentmap.h.

◆ mappedReduced() [4/13]

template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > QtConcurrent::mappedReduced ( QThreadPool * pool,
Iterator begin,
Iterator end,
MapFunctor && map,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                        | SequentialReduce) )

Definition at line 236 of file qtconcurrentmap.h.

◆ mappedReduced() [5/13]

template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
QFuture< ResultType > QtConcurrent::mappedReduced ( QThreadPool * pool,
Iterator begin,
Iterator end,
MapFunctor && map,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                        | SequentialReduce) )

Definition at line 201 of file qtconcurrentmap.h.

◆ mappedReduced() [6/13]

template<typename Sequence, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInvocable< MapFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > QtConcurrent::mappedReduced ( QThreadPool * pool,
Sequence && sequence,
MapFunctor && map,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                        | SequentialReduce) )

Definition at line 162 of file qtconcurrentmap.h.

◆ mappedReduced() [7/13]

template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > QtConcurrent::mappedReduced ( QThreadPool * pool,
Sequence && sequence,
MapFunctor && map,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                        | SequentialReduce) )

Definition at line 88 of file qtconcurrentmap.h.

◆ mappedReduced() [8/13]

template<typename Sequence, typename MapFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isInvocable< MapFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type>
QFuture< ResultType > QtConcurrent::mappedReduced ( QThreadPool * pool,
Sequence && sequence,
MapFunctor && map,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                        | SequentialReduce) )

Definition at line 126 of file qtconcurrentmap.h.

◆ mappedReduced() [9/13]

template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
QFuture< ResultType > QtConcurrent::mappedReduced ( QThreadPool * pool,
Sequence && sequence,
MapFunctor && map,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                        | SequentialReduce) )

Definition at line 55 of file qtconcurrentmap.h.

◆ mappedReduced() [10/13]

template<typename Sequence, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInvocable< MapFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > QtConcurrent::mappedReduced ( Sequence && sequence,
MapFunctor && map,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                        | SequentialReduce) )

Definition at line 186 of file qtconcurrentmap.h.

◆ mappedReduced() [11/13]

template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor, typename InitialValueType, std::enable_if_t< QtPrivate::isInitialValueCompatible_v< InitialValueType, ResultType >, int > = 0>
QFuture< ResultType > QtConcurrent::mappedReduced ( Sequence && sequence,
MapFunctor && map,
ReduceFunctor && reduce,
InitialValueType && initialValue,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                        | SequentialReduce) )

Definition at line 110 of file qtconcurrentmap.h.

◆ mappedReduced() [12/13]

template<typename Sequence, typename MapFunctor, typename ReduceFunctor, std::enable_if_t< QtPrivate::isInvocable< MapFunctor, Sequence >::value, int > = 0, typename ResultType = typename QtPrivate::ReduceResultTypeHelper<ReduceFunctor>::type>
QFuture< ResultType > QtConcurrent::mappedReduced ( Sequence && sequence,
MapFunctor && map,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                        | SequentialReduce) )

Definition at line 141 of file qtconcurrentmap.h.

◆ mappedReduced() [13/13]

template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
QFuture< ResultType > QtConcurrent::mappedReduced ( Sequence && sequence,
MapFunctor && map,
ReduceFunctor && reduce,
ReduceOptions options = ReduceOptions(UnorderedReduce                                                                        | SequentialReduce) )

Definition at line 68 of file qtconcurrentmap.h.

◆ run() [1/5]

template<class PromiseType, class Function, class ... Args>
QTCONCURRENT_RUN_NODISCARD auto QtConcurrent::run ( Function && f,
Args &&... args )

Definition at line 81 of file qtconcurrentrun.h.

◆ run() [2/5]

template<class Function, class ... Args>
QTCONCURRENT_RUN_NODISCARD auto QtConcurrent::run ( Function && f,
Args &&... args )

Definition at line 63 of file qtconcurrentrun.h.

◆ run() [3/5]

template<class PromiseType, class Function, class ... Args>
QTCONCURRENT_RUN_NODISCARD auto QtConcurrent::run ( QThreadPool * pool,
Function && f,
Args &&... args )

Definition at line 72 of file qtconcurrentrun.h.

◆ run() [4/5]

template<class Function, class ... Args>
QTCONCURRENT_RUN_NODISCARD auto QtConcurrent::run ( QThreadPool * pool,
Function && f,
Args &&... args )

Definition at line 44 of file qtconcurrentrun.h.

◆ run() [5/5]

template<class Function, class ... Args>
QTCONCURRENT_RUN_NODISCARD auto QtConcurrent::run ( QThreadPool * pool,
std::reference_wrapper< const Function > && functionWrapper,
Args &&... args )

Definition at line 54 of file qtconcurrentrun.h.

◆ selectIteration() [1/3]

bool QtConcurrent::selectIteration ( std::bidirectional_iterator_tag )
inline

Definition at line 131 of file qtconcurrentiteratekernel.h.

◆ selectIteration() [2/3]

bool QtConcurrent::selectIteration ( std::forward_iterator_tag )
inline

Definition at line 136 of file qtconcurrentiteratekernel.h.

◆ selectIteration() [3/3]

bool QtConcurrent::selectIteration ( std::random_access_iterator_tag )
inline

Definition at line 141 of file qtconcurrentiteratekernel.h.

◆ startFiltered() [1/2]

template<typename Iterator, typename KeepFunctor>
ThreadEngineStarter< typename qValueType< Iterator >::value_type > QtConcurrent::startFiltered ( QThreadPool * pool,
Iterator begin,
Iterator end,
KeepFunctor && functor )
inline

[QtConcurrent-2]

Definition at line 271 of file qtconcurrentfilterkernel.h.

◆ startFiltered() [2/2]

template<typename Sequence, typename KeepFunctor>
decltype(auto) QtConcurrent::startFiltered ( QThreadPool * pool,
Sequence && sequence,
KeepFunctor && functor )
inline

[QtConcurrent-3]

Definition at line 279 of file qtconcurrentfilterkernel.h.

◆ startFilteredReduced() [1/4]

template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
ThreadEngineStarter< ResultType > QtConcurrent::startFilteredReduced ( QThreadPool * pool,
Iterator begin,
Iterator end,
MapFunctor && mapFunctor,
ReduceFunctor && reduceFunctor,
ReduceOptions options )
inline

[QtConcurrent-5]

Definition at line 317 of file qtconcurrentfilterkernel.h.

◆ startFilteredReduced() [2/4]

template<typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
ThreadEngineStarter< ResultType > QtConcurrent::startFilteredReduced ( QThreadPool * pool,
Iterator begin,
Iterator end,
MapFunctor && mapFunctor,
ReduceFunctor && reduceFunctor,
ResultType && initialValue,
ReduceOptions options )
inline

[QtConcurrent-7]

Definition at line 361 of file qtconcurrentfilterkernel.h.

◆ startFilteredReduced() [3/4]

template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
ThreadEngineStarter< ResultType > QtConcurrent::startFilteredReduced ( QThreadPool * pool,
Sequence && sequence,
MapFunctor && mapFunctor,
ReduceFunctor && reduceFunctor,
ReduceOptions options )
inline

[QtConcurrent-4]

Definition at line 292 of file qtconcurrentfilterkernel.h.

◆ startFilteredReduced() [4/4]

template<typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
ThreadEngineStarter< ResultType > QtConcurrent::startFilteredReduced ( QThreadPool * pool,
Sequence && sequence,
MapFunctor && mapFunctor,
ReduceFunctor && reduceFunctor,
ResultType && initialValue,
ReduceOptions options )
inline

[QtConcurrent-6]

Definition at line 336 of file qtconcurrentfilterkernel.h.

◆ startMap()

template<typename Iterator, typename Functor>
ThreadEngineStarter< void > QtConcurrent::startMap ( QThreadPool * pool,
Iterator begin,
Iterator end,
Functor && functor )
inline

[qtconcurrentmapkernel-1]

Definition at line 177 of file qtconcurrentmapkernel.h.

◆ startMapped() [1/2]

template<typename T, typename Iterator, typename Functor>
ThreadEngineStarter< T > QtConcurrent::startMapped ( QThreadPool * pool,
Iterator begin,
Iterator end,
Functor && functor )
inline

[qtconcurrentmapkernel-2]

Definition at line 186 of file qtconcurrentmapkernel.h.

◆ startMapped() [2/2]

template<typename T, typename Sequence, typename Functor>
ThreadEngineStarter< T > QtConcurrent::startMapped ( QThreadPool * pool,
Sequence && sequence,
Functor && functor )
inline

[qtconcurrentmapkernel-3]

Definition at line 217 of file qtconcurrentmapkernel.h.

◆ startMappedReduced() [1/4]

template<typename IntermediateType, typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
ThreadEngineStarter< ResultType > QtConcurrent::startMappedReduced ( QThreadPool * pool,
Iterator begin,
Iterator end,
MapFunctor && mapFunctor,
ReduceFunctor && reduceFunctor,
ReduceOptions options )
inline

[qtconcurrentmapkernel-5]

Definition at line 258 of file qtconcurrentmapkernel.h.

◆ startMappedReduced() [2/4]

template<typename IntermediateType, typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
ThreadEngineStarter< ResultType > QtConcurrent::startMappedReduced ( QThreadPool * pool,
Iterator begin,
Iterator end,
MapFunctor && mapFunctor,
ReduceFunctor && reduceFunctor,
ResultType && initialValue,
ReduceOptions options )
inline

[qtconcurrentmapkernel-7]

Definition at line 304 of file qtconcurrentmapkernel.h.

◆ startMappedReduced() [3/4]

template<typename IntermediateType, typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
ThreadEngineStarter< ResultType > QtConcurrent::startMappedReduced ( QThreadPool * pool,
Sequence && sequence,
MapFunctor && mapFunctor,
ReduceFunctor && reduceFunctor,
ReduceOptions options )
inline

[qtconcurrentmapkernel-4]

Definition at line 234 of file qtconcurrentmapkernel.h.

◆ startMappedReduced() [4/4]

template<typename IntermediateType, typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
ThreadEngineStarter< ResultType > QtConcurrent::startMappedReduced ( QThreadPool * pool,
Sequence && sequence,
MapFunctor && mapFunctor,
ReduceFunctor && reduceFunctor,
ResultType && initialValue,
ReduceOptions options )
inline

[qtconcurrentmapkernel-6]

Definition at line 278 of file qtconcurrentmapkernel.h.

◆ startThreadEngine()

template<typename ThreadEngine>
ThreadEngineStarter< typename ThreadEngine::ResultType > QtConcurrent::startThreadEngine ( ThreadEngine * threadEngine)
inline

[qtconcurrentthreadengine-1]

Definition at line 213 of file qtconcurrentthreadengine.h.

◆ task()

template<class Task>
auto QtConcurrent::task ( Task && t)
nodiscardconstexpr

Definition at line 34 of file qtconcurrenttask.h.