Open Search
    ThreadInterfaceTemplate< IMPLEMENTATION, USE_VIRTUAL_DESTRUCTOR > Class Template Reference

    #include <thread.h>

    Inheritance diagram for ThreadInterfaceTemplate< IMPLEMENTATION, USE_VIRTUAL_DESTRUCTOR >:

    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 () override
     
     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
    template<JOBCANCELLATION B = JOBCANCELLATION::AUTOMATIC, typename FN , typename... ARGS>
    static ResultMemT< JobInterface * > Create (FN &&src, ARGS &&... args)
     
    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, USE_VIRTUAL_DESTRUCTOR > &&  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, USE_VIRTUAL_DESTRUCTOR >  )
    private