ThreadInterfaceTemplate< IMPLEMENTATION > Class Template Reference

#include <thread.h>

Inheritance diagram for ThreadInterfaceTemplate< IMPLEMENTATION >:

Public Member Functions

 ThreadInterfaceTemplate ()
 
 ThreadInterfaceTemplate (ThreadInterfaceTemplate &&src)
 
- Public Member Functions inherited from ThreadInterface
 ThreadInterface (const JobInterfaceJumpTablePOD &jmpTable)
 
 ThreadInterface (ThreadInterface &&src)
 
Bool IsRunning () const
 
Bool Wait (TimeValue timeout=TIMEVALUE_INFINITE, WAITMODE mode=WAITMODE::DEFAULT) const
 
Result< void > Start (THREADPRIORITY priority=THREADPRIORITY::NORMAL)
 
String ToString (const FormatStatement *formatStatement=nullptr) const
 
Result< void > PrivateResetState ()
 
- Public Member Functions inherited from JobInterface
JOBOPTIONFLAGS GetJobOptions () const
 
const CharGetName () const
 
 JobInterface (const JobInterfaceJumpTablePOD &jmpTable)
 
 ~JobInterface ()
 
 JobInterface (JobInterface &&src)
 
JobInterfaceoperator= (JobInterface &&src)
 
Bool Wait (TimeValue timeout=TIMEVALUE_INFINITE, WAITMODE mode=WAITMODE::DEFAULT) const
 
Result< void > GetResult (TimeValue timeout=TIMEVALUE_INFINITE, WAITMODE mode=WAITMODE::DEFAULT) const
 
Result< void > MoveResult (TimeValue timeout=TIMEVALUE_INFINITE, WAITMODE mode=WAITMODE::DEFAULT)
 
void Cancel ()
 
Bool IsCancelled () const
 
void CancelAndWait (WAITMODE mode=WAITMODE::DEFAULT)
 
JobInterfaceEnqueue (JobQueueInterface *queue=JOBQUEUE_CURRENT)
 
Result< void > AddSubJob (JobInterface *subJob)
 
template<typename JOB >
Result< void > AddSubJob (ResultMemT< JOB * > subJob)
 
template<typename JOBREF >
Result< void > AddSubJob (ResultMemT< JOBREF > &&subJob)
 
template<typename GROUP >
Result< void > AddSubGroup (GROUP *subGroup)
 
template<typename GROUP >
Result< void > AddSubGroup (ResultMemT< GROUP * > subGroup)
 
template<typename GROUP >
Result< void > AddSubGroup (ResultMemT< GROUP > subGroup)
 
JobGroupInterfaceGetJobGroup () const
 
ObservableFinishedBase< JobInterfaceObservableFinished ()
 
ObservableCancelledBase< JobInterfaceObservableCancelled ()
 
Result< void > Then (JobInterface *next, JobQueueInterface *queue=JOBQUEUE_CURRENT)
 
String ToString (const FormatStatement *formatStatement=nullptr) const
 

Static Public Member Functions

template<typename... ARGS>
static ResultMemT< StrongRef< IMPLEMENTATION > > Create (ARGS &&... args)
 
- Static Public Member Functions inherited from ThreadInterface
static const ThreadInterfaceGetCurrentThread ()
 
static Bool IsMainThread ()
 
static THREADTYPE GetCurrentThreadType ()
 
static THREADTYPE GetCurrentThreadType (Int &threadIdentifier)
 
static Result< void > AssimilateAlienThread ()
 
- Static Public Member Functions inherited from JobInterface
static Int GetCurrentWorkerThreadIndex ()
 
static Int GetCurrentThreadCount ()
 
static Bool IsCurrentJobCancelled (const JobInterface *optionalJob=nullptr)
 
static JobStatusInterfaceGetCurrentJob ()
 

Private Member Functions

 MAXON_DISALLOW_COPY_AND_ASSIGN (ThreadInterfaceTemplate)
 

Constructor & Destructor Documentation

◆ ThreadInterfaceTemplate() [1/2]

◆ ThreadInterfaceTemplate() [2/2]

ThreadInterfaceTemplate ( ThreadInterfaceTemplate< IMPLEMENTATION > &&  src)

Member Function Documentation

◆ Create()

static ResultMemT<StrongRef<IMPLEMENTATION> > Create ( ARGS &&...  args)
static

Creates the thread.

Parameters
[in]argsArguments for the construcor.
Template Parameters
ARGSParameter types.
Returns
ThreadRef on success, OutOfMemoryerror on failure.

◆ MAXON_DISALLOW_COPY_AND_ASSIGN()

MAXON_DISALLOW_COPY_AND_ASSIGN ( ThreadInterfaceTemplate< IMPLEMENTATION >  )
private