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