![]() |
Qt 6.x
The Qt SDK
|
\inmodule QtConcurrent More...
#include <qtconcurrentiteratekernel.h>
Inheritance diagram for QtConcurrent::IterateKernel< Iterator, T >:
Collaboration diagram for QtConcurrent::IterateKernel< Iterator, T >:Public Types | |
| typedef T | 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 U = T, std::enable_if_t< std::is_same_v< U, void >, bool > = true> | |
| IterateKernel (QThreadPool *pool, Iterator _begin, Iterator _end) | |
| template<typename U = T, std::enable_if_t<!std::is_same_v< U, void >, bool > = true> | |
| IterateKernel (QThreadPool *pool, Iterator _begin, Iterator _end) | |
| template<typename U = T, std::enable_if_t<!std::is_same_v< U, void >, bool > = true> | |
| IterateKernel (QThreadPool *pool, Iterator _begin, Iterator _end, U &&_defaultValue) | |
| virtual | ~IterateKernel () |
| virtual bool | runIteration (Iterator, int, T *) |
| virtual bool | runIterations (Iterator, int, int, T *) |
| void | start () override |
| bool | shouldStartThread () override |
| ThreadFunctionResult | threadFunction () override |
| ThreadFunctionResult | forThreadFunction () |
| ThreadFunctionResult | whileThreadFunction () |
Public Member Functions inherited from QtConcurrent::ThreadEngine< T > | |
| ThreadEngine (QThreadPool *pool) | |
| virtual T * | result () |
| 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 | |
| virtual void | run ()=0 |
| Implement this pure virtual function in your subclass. | |
| 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. | |
| template<typename Callable , if_callable< Callable > = true> | |
| QGenericRunnable (Callable &&c) | |
| ~QGenericRunnable () override | |
| void | run () override |
Public Attributes | |
| const Iterator | begin |
| const Iterator | end |
| Iterator | current |
| QAtomicInt | currentIndex |
| QAtomicInt | iteratorThreads |
| QAtomicInt | completed |
| const int | iterationCount |
| const bool | forIteration |
| bool | progressReportingEnabled |
| DefaultValueContainer< ResultType > | defaultValue |
Additional Inherited Members | |
Static Public Member Functions inherited from QRunnable | |
| template<typename Callable , if_callable< Callable > = true> | |
| static QRunnable * | create (Callable &&functionToRun) |
| static QRunnable * | create (std::nullptr_t)=delete |
Protected Member Functions inherited from QtConcurrent::ThreadEngineBase | |
| virtual void | start () |
| virtual void | finish () |
| virtual ThreadFunctionResult | threadFunction () |
| virtual bool | shouldStartThread () |
| virtual bool | shouldThrottleThread () |
Protected Attributes inherited from QtConcurrent::ThreadEngineBase | |
| QFutureInterfaceBase * | futureInterface |
| QThreadPool * | threadPool |
| ThreadEngineBarrier | barrier |
| QtPrivate::ExceptionStore | exceptionStore |
| QBasicMutex | mutex |
\inmodule QtConcurrent
Definition at line 146 of file qtconcurrentiteratekernel.h.
| typedef T QtConcurrent::IterateKernel< Iterator, T >::ResultType |
Definition at line 151 of file qtconcurrentiteratekernel.h.
|
inline |
Definition at line 154 of file qtconcurrentiteratekernel.h.
|
inline |
Definition at line 166 of file qtconcurrentiteratekernel.h.
|
inline |
Definition at line 179 of file qtconcurrentiteratekernel.h.
|
inlinevirtual |
Definition at line 191 of file qtconcurrentiteratekernel.h.
|
inline |
Definition at line 219 of file qtconcurrentiteratekernel.h.
References QtConcurrent::IterateKernel< Iterator, T >::begin, QtConcurrent::BlockSizeManager::blockSize(), QtConcurrent::IterateKernel< Iterator, T >::completed, QtConcurrent::IterateKernel< Iterator, T >::currentIndex, QBasicAtomicInteger< T >::fetchAndAddAcquire(), QBasicAtomicInteger< T >::fetchAndAddRelease(), QtConcurrent::ResultReporter< T >::getPointer(), QtConcurrent::ThreadEngineBase::isCanceled(), QtConcurrent::IterateKernel< Iterator, T >::iterationCount, QBasicAtomicInteger< T >::loadRelaxed(), QtConcurrent::IterateKernel< Iterator, T >::progressReportingEnabled, qMin(), QtConcurrent::ResultReporter< T >::reportResults(), QtConcurrent::ResultReporter< T >::reserveSpace(), QtConcurrent::IterateKernel< Iterator, T >::runIterations(), QtConcurrent::ThreadEngineBase::setProgressValue(), QtConcurrent::IterateKernel< Iterator, T >::shouldStartThread(), QtConcurrent::ThreadEngineBase::shouldThrottleThread(), QtConcurrent::ThreadEngineBase::startThread(), QtConcurrent::ThreadFinished, QtConcurrent::ThreadEngineBase::threadPool, QtConcurrent::ThrottleThread, QtConcurrent::BlockSizeManager::timeAfterUser(), QtConcurrent::BlockSizeManager::timeBeforeUser(), and QtConcurrent::ThreadEngineBase::waitForResume().
Referenced by QtConcurrent::IterateKernel< Iterator, T >::threadFunction().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinevirtual |
Reimplemented in QtConcurrent::FilteredReducedKernel< ReducedResultType, Iterator, KeepFunctor, ReduceFunctor, Reducer >, QtConcurrent::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer >, and QtConcurrent::MapKernel< Iterator, MapFunctor >.
Definition at line 193 of file qtconcurrentiteratekernel.h.
Referenced by QtConcurrent::IterateKernel< Iterator, T >::whileThreadFunction().
Here is the caller graph for this function:
|
inlinevirtual |
Reimplemented in QtConcurrent::FilteredReducedKernel< ReducedResultType, Iterator, KeepFunctor, ReduceFunctor, Reducer >, QtConcurrent::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer >, and QtConcurrent::MapKernel< Iterator, MapFunctor >.
Definition at line 194 of file qtconcurrentiteratekernel.h.
Referenced by QtConcurrent::IterateKernel< Iterator, T >::forThreadFunction().
Here is the caller graph for this function:
|
inlineoverridevirtual |
Reimplemented from QtConcurrent::ThreadEngineBase.
Reimplemented in QtConcurrent::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer >.
Definition at line 203 of file qtconcurrentiteratekernel.h.
References QtConcurrent::IterateKernel< Iterator, T >::currentIndex, QtConcurrent::IterateKernel< Iterator, T >::forIteration, QtConcurrent::IterateKernel< Iterator, T >::iterationCount, QtConcurrent::IterateKernel< Iterator, T >::iteratorThreads, QBasicAtomicInteger< T >::loadRelaxed(), and QtConcurrent::ThreadEngineBase::shouldThrottleThread().
Referenced by QtConcurrent::IterateKernel< Iterator, T >::forThreadFunction(), QtConcurrent::FilterKernel< Sequence, KeepFunctor, ReduceFunctor >::shouldStartThread(), QtConcurrent::MappedReducedKernel< ReducedResultType, Iterator, MapFunctor, ReduceFunctor, Reducer >::shouldStartThread(), and QtConcurrent::IterateKernel< Iterator, T >::whileThreadFunction().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineoverridevirtual |
Reimplemented from QtConcurrent::ThreadEngineBase.
Definition at line 196 of file qtconcurrentiteratekernel.h.
References QtConcurrent::ThreadEngineBase::isProgressReportingEnabled(), QtConcurrent::IterateKernel< Iterator, T >::iterationCount, QtConcurrent::IterateKernel< Iterator, T >::progressReportingEnabled, and QtConcurrent::ThreadEngineBase::setProgressRange().
Referenced by QtConcurrent::FilteredEachKernel< Iterator, KeepFunctor >::start().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineoverridevirtual |
Reimplemented from QtConcurrent::ThreadEngineBase.
Definition at line 211 of file qtconcurrentiteratekernel.h.
References QtConcurrent::IterateKernel< Iterator, T >::forIteration, QtConcurrent::IterateKernel< Iterator, T >::forThreadFunction(), and QtConcurrent::IterateKernel< Iterator, T >::whileThreadFunction().
Here is the call graph for this function:
|
inline |
Definition at line 270 of file qtconcurrentiteratekernel.h.
References QtConcurrent::IterateKernel< Iterator, T >::current, QtConcurrent::IterateKernel< Iterator, T >::currentIndex, QBasicAtomicInteger< T >::fetchAndAddRelaxed(), QtConcurrent::ResultReporter< T >::getPointer(), QtConcurrent::IterateKernel< Iterator, T >::iteratorThreads, QtConcurrent::ResultReporter< T >::reportResults(), QtConcurrent::ResultReporter< T >::reserveSpace(), QtConcurrent::IterateKernel< Iterator, T >::runIteration(), QtConcurrent::IterateKernel< Iterator, T >::shouldStartThread(), QtConcurrent::ThreadEngineBase::shouldThrottleThread(), QtConcurrent::ThreadEngineBase::startThread(), QBasicAtomicInteger< T >::testAndSetAcquire(), QBasicAtomicInteger< T >::testAndSetRelease(), QtConcurrent::ThreadFinished, QtConcurrent::ThrottleThread, and QtConcurrent::ThreadEngineBase::waitForResume().
Referenced by QtConcurrent::IterateKernel< Iterator, T >::threadFunction().
Here is the call graph for this function:
Here is the caller graph for this function:| const Iterator QtConcurrent::IterateKernel< Iterator, T >::begin |
Definition at line 316 of file qtconcurrentiteratekernel.h.
Referenced by QtConcurrent::IterateKernel< Iterator, T >::forThreadFunction().
| QAtomicInt QtConcurrent::IterateKernel< Iterator, T >::completed |
Definition at line 321 of file qtconcurrentiteratekernel.h.
Referenced by QtConcurrent::IterateKernel< Iterator, T >::forThreadFunction().
| Iterator QtConcurrent::IterateKernel< Iterator, T >::current |
Definition at line 318 of file qtconcurrentiteratekernel.h.
Referenced by QtConcurrent::IterateKernel< Iterator, T >::whileThreadFunction().
| QAtomicInt QtConcurrent::IterateKernel< Iterator, T >::currentIndex |
| DefaultValueContainer<ResultType> QtConcurrent::IterateKernel< Iterator, T >::defaultValue |
Definition at line 325 of file qtconcurrentiteratekernel.h.
| const Iterator QtConcurrent::IterateKernel< Iterator, T >::end |
Definition at line 317 of file qtconcurrentiteratekernel.h.
| const bool QtConcurrent::IterateKernel< Iterator, T >::forIteration |
Definition at line 323 of file qtconcurrentiteratekernel.h.
Referenced by QtConcurrent::IterateKernel< Iterator, T >::shouldStartThread(), and QtConcurrent::IterateKernel< Iterator, T >::threadFunction().
| const int QtConcurrent::IterateKernel< Iterator, T >::iterationCount |
Definition at line 322 of file qtconcurrentiteratekernel.h.
Referenced by QtConcurrent::IterateKernel< Iterator, T >::forThreadFunction(), QtConcurrent::IterateKernel< Iterator, T >::shouldStartThread(), and QtConcurrent::IterateKernel< Iterator, T >::start().
| QAtomicInt QtConcurrent::IterateKernel< Iterator, T >::iteratorThreads |
Definition at line 320 of file qtconcurrentiteratekernel.h.
Referenced by QtConcurrent::IterateKernel< Iterator, T >::shouldStartThread(), and QtConcurrent::IterateKernel< Iterator, T >::whileThreadFunction().
| bool QtConcurrent::IterateKernel< Iterator, T >::progressReportingEnabled |
Definition at line 324 of file qtconcurrentiteratekernel.h.
Referenced by QtConcurrent::IterateKernel< Iterator, T >::forThreadFunction(), and QtConcurrent::IterateKernel< Iterator, T >::start().