#include <JobFunction.h>
Inherits AZ::Job.
Classes | |
struct | ArgHelper |
struct | ArgHelper< FunctionType, 0 > |
Public Types | |
typedef const AZStd::remove_cv< typenameAZStd::remove_reference< Function >::type >::type & | FunctionCRef |
Public Types inherited from AZ::Job | |
enum | State { STATE_SETUP , STATE_STARTED , STATE_PENDING , STATE_PROCESSING , STATE_SUSPENDED } |
Public Member Functions | |
AZ_CLASS_ALLOCATOR (JobFunction, ThreadPoolAllocator) | |
JobFunction (FunctionCRef processFunction, bool isAutoDelete, JobContext *context) | |
void | Process () override |
Override to implement your processing. | |
Public Member Functions inherited from AZ::Job | |
Job (bool isAutoDelete, JobContext *context, bool isCompletion=false, AZ::s8 priority=0) | |
void | Start () |
virtual void | Reset (bool isClearDependent) |
void | SetDependent (Job *dependent) |
void | SetDependentStarted (Job *dependent) |
void | SetContinuation (Job *continuationJob) |
void | StartAsChild (Job *childJob) |
void | WaitForChildren () |
bool | IsCancelled () const |
bool | IsAutoDelete () const |
bool | IsCompletion () const |
void | StartAndAssistUntilComplete () |
void | StartAndWaitForCompletion () |
JobContext * | GetContext () const |
Job * | GetDependent () const |
unsigned int | GetDependentCount () const |
void | IncrementDependentCount () |
void | DecrementDependentCount () |
AZ::s8 | GetPriority () const |
Protected Types | |
template<class T > | |
using | FirstArgType = AZStd::function_traits_get_arg_t< T, 0 > |
Protected Member Functions | |
JobFunction (const JobFunction &)=delete | |
JobFunction & | operator= (const JobFunction &)=delete |
Protected Member Functions inherited from AZ::Job | |
virtual void | Process ()=0 |
Override to implement your processing. | |
void | StoreDependent (Job *job) |
void | SetDependentChild (Job *dependent) |
void | IncrementDependentCountAndSetChildFlag () |
void | SetDependentCountAndFlags (unsigned int countAndFlags) |
unsigned int | GetDependentCountAndFlags () const |
Protected Attributes | |
Function | m_function |
Protected Attributes inherited from AZ::Job | |
JobContext *volatile | m_context |
AZStd::atomic< unsigned int > | m_dependentCountAndFlags |
AZStd::atomic< Job * > | m_dependent |
int | m_state |
A job which uses a templated function (can be AZStd::function, AZStd::delegate, result of AZStd::bind, lambda, reference to a functor, regular function).
The function can either take the owning AZ::Job& as its lone parameter or no parameters at all
|
inlineoverridevirtual |
Override to implement your processing.
Implements AZ::Job.