![]() |
Qt 6.x
The Qt SDK
|
\inmodule QtConcurrent More...
#include <qtconcurrentiteratekernel.h>
Public Types | |
typedef T | ResultType |
![]() | |
typedef T | ResultType |
![]() | |
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 () |
![]() | |
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) |
![]() | |
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 |
![]() | |
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 | |
![]() | |
template<typename Callable , if_callable< Callable > = true> | |
static QRunnable * | create (Callable &&functionToRun) |
static QRunnable * | create (std::nullptr_t)=delete |
![]() | |
virtual void | start () |
virtual void | finish () |
virtual ThreadFunctionResult | threadFunction () |
virtual bool | shouldStartThread () |
virtual bool | shouldThrottleThread () |
![]() | |
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
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().