Foundation
Loading...
Searching...
No Matches
Classes | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
Foundation::Core::JobHandle Class Reference

#include <JobSystem.hpp>

Classes

struct  AdoptRef
 

Public Member Functions

 JobHandle ()=default
 
 JobHandle (JobHandle const &other) noexcept
 
JobHandleoperator= (JobHandle const &other) noexcept
 
 JobHandle (JobHandle &&other) noexcept
 
JobHandleoperator= (JobHandle &&other) noexcept
 
 ~JobHandle ()
 
bool IsValid () const noexcept
 
bool IsDone () const noexcept
 
JobStatus Status () const noexcept
 
void AddDependency (uint32_t count=1) const
 
void RemoveDependency (uint32_t count=1) const
 

Private Member Functions

 JobHandle (SharedPtr< JobPool > pool, uint32_t index, uint32_t generation, AdoptRef) noexcept
 
void AddRef () const noexcept
 
void Release () noexcept
 

Private Attributes

SharedPtr< JobPoolmPool
 
uint32_t mIndex {UINT32_MAX}
 
uint32_t mGeneration {}
 

Friends

class JobSystem
 
class JobBarrier
 
class JobDependency
 
struct JobPool
 

Constructor & Destructor Documentation

◆ JobHandle() [1/4]

Foundation::Core::JobHandle::JobHandle ( SharedPtr< JobPool pool,
uint32_t  index,
uint32_t  generation,
AdoptRef   
)
privatenoexcept

◆ JobHandle() [2/4]

Foundation::Core::JobHandle::JobHandle ( )
default

◆ JobHandle() [3/4]

Foundation::Core::JobHandle::JobHandle ( JobHandle const &  other)
noexcept

◆ JobHandle() [4/4]

Foundation::Core::JobHandle::JobHandle ( JobHandle &&  other)
noexcept

◆ ~JobHandle()

Foundation::Core::JobHandle::~JobHandle ( )

Member Function Documentation

◆ AddDependency()

void Foundation::Core::JobHandle::AddDependency ( uint32_t  count = 1) const

◆ AddRef()

void Foundation::Core::JobHandle::AddRef ( ) const
privatenoexcept

◆ IsDone()

bool Foundation::Core::JobHandle::IsDone ( ) const
noexcept

◆ IsValid()

bool Foundation::Core::JobHandle::IsValid ( ) const
noexcept

◆ operator=() [1/2]

JobHandle & Foundation::Core::JobHandle::operator= ( JobHandle &&  other)
noexcept

◆ operator=() [2/2]

JobHandle & Foundation::Core::JobHandle::operator= ( JobHandle const &  other)
noexcept

◆ Release()

void Foundation::Core::JobHandle::Release ( )
privatenoexcept

◆ RemoveDependency()

void Foundation::Core::JobHandle::RemoveDependency ( uint32_t  count = 1) const

◆ Status()

JobStatus Foundation::Core::JobHandle::Status ( ) const
noexcept

Friends And Related Symbol Documentation

◆ JobBarrier

friend class JobBarrier
friend

◆ JobDependency

friend class JobDependency
friend

◆ JobPool

friend struct JobPool
friend

◆ JobSystem

friend class JobSystem
friend

Member Data Documentation

◆ mGeneration

uint32_t Foundation::Core::JobHandle::mGeneration {}
private

◆ mIndex

uint32_t Foundation::Core::JobHandle::mIndex {UINT32_MAX}
private

◆ mPool

SharedPtr<JobPool> Foundation::Core::JobHandle::mPool
private

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