Open 3D Engine AzCore API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::JobFunction< Function > Class Template Reference

#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 ()
 
JobContextGetContext () const
 
JobGetDependent () 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
 
JobFunctionoperator= (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
 

Detailed Description

template<class Function>
class AZ::JobFunction< Function >

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

Member Function Documentation

◆ Process()

template<class Function >
void AZ::JobFunction< Function >::Process ( )
inlineoverridevirtual

Override to implement your processing.

Implements AZ::Job.


The documentation for this class was generated from the following file: