|
BluFedora Job System v1.0.0
This is a C++ job system library for use in game engines.
|
#include <job_queue.hpp>
Public Types | |
| using | size_type = std::size_t |
Public Member Functions | |
| void | Initialize (T *const memory_backing, const size_type capacity) noexcept |
| bool | Push (const T &value) |
| bool | Pop (T *const out_value) |
Private Member Functions | |
| size_type | mask (const size_type raw_index) const noexcept |
| T * | elementAt (const size_type raw_index) const noexcept |
Private Attributes | |
| std::mutex | m_Lock |
| T * | m_Data |
| size_type | m_Capacity |
| size_type | m_CapacityMask |
| size_type | m_WriteIndex |
| size_type | m_Size |
Definition at line 32 of file job_queue.hpp.
| using job::LockedQueue< T >::size_type = std::size_t |
Definition at line 35 of file job_queue.hpp.
|
inlinenoexcept |
Definition at line 46 of file job_queue.hpp.
References JobAssert, job::LockedQueue< T >::m_Capacity, job::LockedQueue< T >::m_CapacityMask, job::LockedQueue< T >::m_Data, job::LockedQueue< T >::m_Size, and job::LockedQueue< T >::m_WriteIndex.
|
inline |
Definition at line 57 of file job_queue.hpp.
References job::LockedQueue< T >::elementAt(), job::LockedQueue< T >::m_Capacity, job::LockedQueue< T >::m_Lock, job::LockedQueue< T >::m_Size, and job::LockedQueue< T >::m_WriteIndex.
|
inline |
Definition at line 73 of file job_queue.hpp.
References job::LockedQueue< T >::elementAt(), JobAssert, job::LockedQueue< T >::m_Lock, job::LockedQueue< T >::m_Size, and job::LockedQueue< T >::m_WriteIndex.
|
inlineprivatenoexcept |
Definition at line 92 of file job_queue.hpp.
References job::LockedQueue< T >::m_CapacityMask.
Referenced by job::LockedQueue< T >::elementAt().
|
inlineprivatenoexcept |
Definition at line 97 of file job_queue.hpp.
References job::LockedQueue< T >::m_Data, and job::LockedQueue< T >::mask().
Referenced by job::LockedQueue< T >::Pop(), and job::LockedQueue< T >::Push().
|
private |
Definition at line 38 of file job_queue.hpp.
Referenced by job::LockedQueue< T >::Pop(), and job::LockedQueue< T >::Push().
|
private |
Definition at line 39 of file job_queue.hpp.
Referenced by job::LockedQueue< T >::elementAt(), and job::LockedQueue< T >::Initialize().
|
private |
Definition at line 40 of file job_queue.hpp.
Referenced by job::LockedQueue< T >::Initialize(), and job::LockedQueue< T >::Push().
|
private |
Definition at line 41 of file job_queue.hpp.
Referenced by job::LockedQueue< T >::Initialize(), and job::LockedQueue< T >::mask().
|
private |
Definition at line 42 of file job_queue.hpp.
Referenced by job::LockedQueue< T >::Initialize(), job::LockedQueue< T >::Pop(), and job::LockedQueue< T >::Push().
|
private |
Definition at line 43 of file job_queue.hpp.
Referenced by job::LockedQueue< T >::Initialize(), job::LockedQueue< T >::Pop(), and job::LockedQueue< T >::Push().