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::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer > Class Template Reference

\inmodule QtConcurrent More...

#include <qtconcurrentmapkernel.h>

Inheritance diagram for QtConcurrent::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer >:
Collaboration diagram for QtConcurrent::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer >:

Public Types

typedef ReducedResultType ReturnType
typedef ReducedResultType ResultType
Public Types inherited from QtConcurrent::IterateKernel< Iterator, ReducedResultType >
typedef ReducedResultType ResultType
Public Types inherited from QtConcurrent::ThreadEngine< T >
typedef T ResultType
Public Types inherited from QRunnable
template<typename Callable>
using if_callable = std::enable_if_t<std::is_invocable_r_v<void, Callable>, bool>

Public Member Functions

template<typename F1 = MapFunctor, typename F2 = ReduceFunctor>
 MappedReducedKernel (QThreadPool *pool, Iterator begin, Iterator end, F1 &&_map, F2 &&_reduce, ReduceOptions reduceOptions)
template<typename F1 = MapFunctor, typename F2 = ReduceFunctor>
 MappedReducedKernel (QThreadPool *pool, Iterator begin, Iterator end, F1 &&_map, F2 &&_reduce, ReducedResultType &&initialValue, ReduceOptions reduceOptions)
bool runIteration (Iterator it, int index, ReducedResultType *) override
bool runIterations (Iterator sequenceBeginIterator, int beginIndex, int endIndex, ReducedResultType *) override
void finish () override
bool shouldThrottleThread () override
bool shouldStartThread () override
ReducedResultType * result () override
Public Member Functions inherited from QtConcurrent::IterateKernel< Iterator, ReducedResultType >
 IterateKernel (QThreadPool *pool, Iterator _begin, Iterator _end)
 IterateKernel (QThreadPool *pool, Iterator _begin, Iterator _end)
 IterateKernel (QThreadPool *pool, Iterator _begin, Iterator _end, U &&_defaultValue)
virtual ~IterateKernel ()
void start () override
ThreadFunctionResult threadFunction () override
ThreadFunctionResult forThreadFunction ()
ThreadFunctionResult whileThreadFunction ()
Public Member Functions inherited from QtConcurrent::ThreadEngine< T >
 ThreadEngine (QThreadPool *pool)
QFutureInterface< T > * futureInterfaceTyped ()
T * startSingleThreaded ()
QFuture< T > startAsynchronously ()
void asynchronousFinish () override
void reportResult (const T *_result, int index=-1)
void reportResults (const QList< T > &_result, int index=-1, int count=-1)
Public Member Functions inherited from QtConcurrent::ThreadEngineBase
 ThreadEngineBase (QThreadPool *pool)
virtual ~ThreadEngineBase ()
void startSingleThreaded ()
void startThread ()
bool isCanceled ()
void waitForResume ()
bool isProgressReportingEnabled ()
void setProgressValue (int progress)
void setProgressRange (int minimum, int maximum)
void acquireBarrierSemaphore ()
void reportIfSuspensionDone () const
Public Member Functions inherited from QRunnable
constexpr QRunnable () noexcept=default
 Constructs a QRunnable.
virtual ~QRunnable ()
 QRunnable virtual destructor.
bool autoDelete () const
 Returns true is auto-deletion is enabled; false otherwise.
void setAutoDelete (bool autoDelete)
 Enables auto-deletion if autoDelete is true; otherwise auto-deletion is disabled.

Additional Inherited Members

Static Public Member Functions inherited from QRunnable
template<typename Callable, if_callable< Callable > = true>
static QRunnablecreate (Callable &&functionToRun)
static QRunnablecreate (std::nullptr_t)=delete
Public Attributes inherited from QtConcurrent::IterateKernel< Iterator, ReducedResultType >
const Iterator begin
const Iterator end
Iterator current
QAtomicInt currentIndex
QAtomicInt iteratorThreads
QAtomicInt completed
const int iterationCount
const bool forIteration
bool progressReportingEnabled
DefaultValueContainer< ResultTypedefaultValue
Protected Attributes inherited from QtConcurrent::ThreadEngineBase
QFutureInterfaceBasefutureInterface
QThreadPoolthreadPool
ThreadEngineBarrier barrier
QtPrivate::ExceptionStore exceptionStore
QBasicMutex mutex

Detailed Description

template<typename ReducedResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename Reducer = ReduceKernel<ReduceFunctor, ReducedResultType, QtPrivate::MapResultType<Iterator, MapFunctor>>>
class QtConcurrent::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer >

\inmodule QtConcurrent

Definition at line 59 of file qtconcurrentmapkernel.h.

Member Typedef Documentation

◆ ResultType

template<typename ReducedResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename Reducer = ReduceKernel<ReduceFunctor, ReducedResultType, QtPrivate::MapResultType<Iterator, MapFunctor>>>
typedef ReducedResultType QtConcurrent::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer >::ResultType

Definition at line 136 of file qtconcurrentmapkernel.h.

◆ ReturnType

template<typename ReducedResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename Reducer = ReduceKernel<ReduceFunctor, ReducedResultType, QtPrivate::MapResultType<Iterator, MapFunctor>>>
typedef ReducedResultType QtConcurrent::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer >::ReturnType

Definition at line 68 of file qtconcurrentmapkernel.h.

Constructor & Destructor Documentation

◆ MappedReducedKernel() [1/2]

template<typename ReducedResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename Reducer = ReduceKernel<ReduceFunctor, ReducedResultType, QtPrivate::MapResultType<Iterator, MapFunctor>>>
template<typename F1 = MapFunctor, typename F2 = ReduceFunctor>
QtConcurrent::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer >::MappedReducedKernel ( QThreadPool * pool,
Iterator begin,
Iterator end,
F1 && _map,
F2 && _reduce,
ReduceOptions reduceOptions )
inline

Definition at line 71 of file qtconcurrentmapkernel.h.

◆ MappedReducedKernel() [2/2]

template<typename ReducedResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename Reducer = ReduceKernel<ReduceFunctor, ReducedResultType, QtPrivate::MapResultType<Iterator, MapFunctor>>>
template<typename F1 = MapFunctor, typename F2 = ReduceFunctor>
QtConcurrent::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer >::MappedReducedKernel ( QThreadPool * pool,
Iterator begin,
Iterator end,
F1 && _map,
F2 && _reduce,
ReducedResultType && initialValue,
ReduceOptions reduceOptions )
inline

Definition at line 81 of file qtconcurrentmapkernel.h.

Member Function Documentation

◆ finish()

template<typename ReducedResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename Reducer = ReduceKernel<ReduceFunctor, ReducedResultType, QtPrivate::MapResultType<Iterator, MapFunctor>>>
void QtConcurrent::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer >::finish ( )
inlineoverridevirtual

Reimplemented from QtConcurrent::ThreadEngineBase.

Definition at line 121 of file qtconcurrentmapkernel.h.

◆ result()

template<typename ReducedResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename Reducer = ReduceKernel<ReduceFunctor, ReducedResultType, QtPrivate::MapResultType<Iterator, MapFunctor>>>
ReducedResultType * QtConcurrent::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer >::result ( )
inlineoverridevirtual

Reimplemented from QtConcurrent::ThreadEngine< T >.

Definition at line 137 of file qtconcurrentmapkernel.h.

◆ runIteration()

template<typename ReducedResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename Reducer = ReduceKernel<ReduceFunctor, ReducedResultType, QtPrivate::MapResultType<Iterator, MapFunctor>>>
bool QtConcurrent::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer >::runIteration ( Iterator it,
int index,
ReducedResultType *  )
inlineoverridevirtual

◆ runIterations()

template<typename ReducedResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename Reducer = ReduceKernel<ReduceFunctor, ReducedResultType, QtPrivate::MapResultType<Iterator, MapFunctor>>>
bool QtConcurrent::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer >::runIterations ( Iterator sequenceBeginIterator,
int beginIndex,
int endIndex,
ReducedResultType *  )
inlineoverridevirtual

◆ shouldStartThread()

template<typename ReducedResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename Reducer = ReduceKernel<ReduceFunctor, ReducedResultType, QtPrivate::MapResultType<Iterator, MapFunctor>>>
bool QtConcurrent::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer >::shouldStartThread ( )
inlineoverridevirtual

◆ shouldThrottleThread()

template<typename ReducedResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor, typename Reducer = ReduceKernel<ReduceFunctor, ReducedResultType, QtPrivate::MapResultType<Iterator, MapFunctor>>>
bool QtConcurrent::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer >::shouldThrottleThread ( )
inlineoverridevirtual

Reimplemented from QtConcurrent::ThreadEngineBase.

Definition at line 126 of file qtconcurrentmapkernel.h.


The documentation for this class was generated from the following file: