29 #ifndef NVBLASTFIXEDQUEUE_H 30 #define NVBLASTFIXEDQUEUE_H 58 explicit FixedQueue(uint32_t maxEntries) : m_num(0), m_head(0), m_tail(0), m_maxEntries(maxEntries)
72 T& element = data()[m_tail];
73 m_tail = (m_tail+1) % (m_maxEntries);
81 return data()[m_tail];
89 m_head = (m_head-1) % (m_maxEntries);
90 return data()[m_head];
97 uint32_t headAccess = (m_head-1) % (m_maxEntries);
98 return data()[headAccess];
103 if (m_num == m_maxEntries)
return false;
104 data()[m_head] = element;
107 m_head = (m_head+1) % (m_maxEntries);
127 uint32_t m_maxEntries;
141 #endif // ifndef NVBLASTFIXEDQUEUE_H bool empty() const
Definition: NvBlastFixedQueue.h:112
FixedQueue(uint32_t maxEntries)
Definition: NvBlastFixedQueue.h:58
bool pushBack(const T &element)
Definition: NvBlastFixedQueue.h:101
#define NVBLAST_ASSERT(exp)
Definition: NvBlastAssert.h:37
uint32_t size() const
Definition: NvBlastFixedQueue.h:117
T back()
Definition: NvBlastFixedQueue.h:93
Definition: NvBlastFixedQueue.h:55
T front()
Definition: NvBlastFixedQueue.h:77
T popFront()
Definition: NvBlastFixedQueue.h:67
NV_INLINE T align16(T value)
Definition: NvBlastMemory.h:46
T popBack()
Definition: NvBlastFixedQueue.h:84
Definition: NvBlastArray.h:37
static size_t requiredMemorySize(uint32_t capacity)
Definition: NvBlastFixedQueue.h:62