Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QtConcurrent::ThreadEngine< T > Class Template Reference

\inmodule QtConcurrent More...

#include <qtconcurrentthreadengine.h>

+ Inheritance diagram for QtConcurrent::ThreadEngine< T >:
+ Collaboration diagram for QtConcurrent::ThreadEngine< T >:

Public Types

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

 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
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
 

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
 
- 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
QFutureInterfaceBasefutureInterface
 
QThreadPoolthreadPool
 
ThreadEngineBarrier barrier
 
QtPrivate::ExceptionStore exceptionStore
 
QBasicMutex mutex
 

Detailed Description

template<typename T>
class QtConcurrent::ThreadEngine< T >

\inmodule QtConcurrent

Definition at line 98 of file qtconcurrentthreadengine.h.

Member Typedef Documentation

◆ ResultType

template<typename T >
typedef T QtConcurrent::ThreadEngine< T >::ResultType

Definition at line 101 of file qtconcurrentthreadengine.h.

Constructor & Destructor Documentation

◆ ThreadEngine()

template<typename T >
QtConcurrent::ThreadEngine< T >::ThreadEngine ( QThreadPool * pool)
inline

Definition at line 103 of file qtconcurrentthreadengine.h.

Member Function Documentation

◆ asynchronousFinish()

template<typename T >
void QtConcurrent::ThreadEngine< T >::asynchronousFinish ( )
inlineoverridevirtual

Implements QtConcurrent::ThreadEngineBase.

Definition at line 137 of file qtconcurrentthreadengine.h.

References QtConcurrent::ThreadEngineBase::finish(), QtConcurrent::ThreadEngine< T >::futureInterfaceTyped(), and QtConcurrent::ThreadEngine< T >::result().

+ Here is the call graph for this function:

◆ futureInterfaceTyped()

template<typename T >
QFutureInterface< T > * QtConcurrent::ThreadEngine< T >::futureInterfaceTyped ( )
inline

Definition at line 107 of file qtconcurrentthreadengine.h.

References QtConcurrent::ThreadEngineBase::futureInterface.

Referenced by QtConcurrent::ThreadEngine< T >::asynchronousFinish(), QtConcurrent::ThreadEngine< T >::reportResult(), QtConcurrent::ThreadEngine< T >::reportResults(), and QtConcurrent::ThreadEngine< T >::startAsynchronously().

+ Here is the caller graph for this function:

◆ reportResult()

template<typename T >
void QtConcurrent::ThreadEngine< T >::reportResult ( const T * _result,
int index = -1 )
inline

Definition at line 146 of file qtconcurrentthreadengine.h.

References QtConcurrent::ThreadEngineBase::futureInterface, and QtConcurrent::ThreadEngine< T >::futureInterfaceTyped().

Referenced by QtConcurrent::FilteredEachKernel< Iterator, KeepFunctor >::runIteration().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ reportResults()

template<typename T >
void QtConcurrent::ThreadEngine< T >::reportResults ( const QList< T > & _result,
int index = -1,
int count = -1 )
inline

Definition at line 152 of file qtconcurrentthreadengine.h.

References QtConcurrent::ThreadEngineBase::futureInterface, and QtConcurrent::ThreadEngine< T >::futureInterfaceTyped().

Referenced by QtConcurrent::FilteredEachKernel< Iterator, KeepFunctor >::runIterations().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ result()

template<typename T >
virtual T * QtConcurrent::ThreadEngine< T >::result ( )
inlinevirtual

◆ startAsynchronously()

template<typename T >
QFuture< T > QtConcurrent::ThreadEngine< T >::startAsynchronously ( )
inline

◆ startSingleThreaded()

template<typename T >
T * QtConcurrent::ThreadEngine< T >::startSingleThreaded ( )
inline

Definition at line 113 of file qtconcurrentthreadengine.h.

References QtConcurrent::ThreadEngine< T >::result(), and QtConcurrent::ThreadEngineBase::startSingleThreaded().

+ Here is the call graph for this function:

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