Open Search
    ResultMemJob< RESULT_TYPE > Struct Template Reference

    #include <job.h>

    Inheritance diagram for ResultMemJob< RESULT_TYPE >:

    Detailed Description

    template<typename RESULT_TYPE>
    struct maxon::ResultMemJob< RESULT_TYPE >

    RESULT_TYPE.

    Public Types

    using Super = ResultMemT< JobResultRef< RESULT_TYPE > >
     

    Public Member Functions

    MAXON_IMPLICIT ResultMemJob (const JobResultRef< RESULT_TYPE > &value)
     
    MAXON_IMPLICIT ResultMemJob (JobResultRef< RESULT_TYPE > &&value)
     
    MAXON_IMPLICIT ResultMemJob (ERROR_FAILED)
     
    template<typename FN , typename... ARGS>
    MAXON_WARN_UNUSED auto Then (FN &&src, JobQueueInterface *queue=JOBQUEUE_CURRENT) -> ResultMemJob< typename GetSignature< decltype(&FN::operator())>::ReturnType >
     
    Result< void > Wait ()
     
    - Public Member Functions inherited from ResultMemT< JobResultRef< RESULT_TYPE > >
     ResultMemT ()
     
    MAXON_IMPLICIT ResultMemT (ERROR_FAILED)
     
    MAXON_IMPLICIT ResultMemT (const JobResultRef< RESULT_TYPE > &value)
     
    MAXON_IMPLICIT ResultMemT (JobResultRef< RESULT_TYPE > &&value)
     
    MAXON_IMPLICIT ResultMemT (ERROR_OK)
     
    MAXON_IMPLICIT ResultMemT (ResultOk< void >)
     
     ResultMemT (const ResultMemT &)=default
     
     ResultMemT (ResultMemT &&)=default
     
    MAXON_IMPLICIT ResultMemT (const ResultMemT< T2 * > &result)
     
    MAXON_IMPLICIT ResultMemT (ResultMemT< T2 * > &&result)
     
    MAXON_IMPLICIT ResultMemT (const ResultMemT< T2 > &result)
     
    MAXON_IMPLICIT ResultMemT (ResultMemT< T2 > &&result)
     
    MAXON_IMPLICIT ResultMemT (const ResultRef< T2 > &result)
     
    ResultMemToperator= (const ResultMemT &)=default
     
    ResultMemToperator= (ResultMemT &&)=default
     
    Bool operator== (ERROR_OK ok) const
     
    Bool operator== (ERROR_FAILED failed) const
     
    const JobResultRef< RESULT_TYPE > & GetValue () const &
     
    const JobResultRef< RESULT_TYPE > & UncheckedGetValue () const &
     
     MAXON_MEMBER_ACCESSORS (JobResultRef< RESULT_TYPE >, GetValue)
     
     MAXON_MEMBER_ACCESSORS (JobResultRef< RESULT_TYPE >, UncheckedGetValue)
     
    JobResultRef< RESULT_TYPE > GetPointer () const
     

    Static Private Member Functions

    template<typename FN , typename RET , typename PACK >
    static ResultPtr< JobInterfaceCreateJob (FN &&src)
     

    Member Typedef Documentation

    ◆ Super

    using Super = ResultMemT<JobResultRef<RESULT_TYPE> >

    Constructor & Destructor Documentation

    ◆ ResultMemJob() [1/3]

    MAXON_IMPLICIT ResultMemJob ( const JobResultRef< RESULT_TYPE > &  value)

    ◆ ResultMemJob() [2/3]

    MAXON_IMPLICIT ResultMemJob ( JobResultRef< RESULT_TYPE > &&  value)

    ◆ ResultMemJob() [3/3]

    Member Function Documentation

    ◆ Then()

    MAXON_WARN_UNUSED auto Then ( FN &&  src,
    JobQueueInterface queue = JOBQUEUE_CURRENT 
    ) -> ResultMemJob<typename GetSignature<decltype(&FN::operator ())>::ReturnType>

    Chains a job to a predecessor.

    Parameters
    [in]srcLambda or object with operator (), input arguments are the predecessors return values.
    [in]queueDestination queue for the job.
    Template Parameters
    FNType of function/lambda, deduced by the compiler.
    ARGSParameter types.
    Returns
    Job reference or error.

    ◆ Wait()

    Result<void> Wait ( )

    ◆ CreateJob()

    static ResultPtr<JobInterface> CreateJob ( FN &&  src)
    staticprivate