CommonLibSSE NG
Loading...
Searching...
No Matches
BSTLocklessQueue.h
Go to the documentation of this file.
1#pragma once
2
3namespace RE
4{
6 {
7 template <class T, std::uint32_t SIZE, std::uint32_t UNKNOWN>
9 {
10 T* data[SIZE]; // 00
11 volatile std::uint32_t start; // 08
12 volatile std::uint32_t fetched; // 0C
13 volatile std::uint32_t end; // 10
14 volatile std::uint32_t allocated; // 14
15 };
16 static_assert(sizeof(PtrMultiProdCons<void*, 1, 1>) == 0x18);
17
18 template <class QueueContainer, class T, std::uint32_t SIZE, std::uint32_t UNKNOWN>
20 {
21 T data[SIZE]; // 00
22 QueueContainer queued; // ??
23 QueueContainer free; // ??
24 };
25
26 template <class T, std::uint32_t SIZE, std::uint32_t UNKNOWN>
27 class ObjMultiProdCons : public ObjQueueBase<PtrMultiProdCons<T, SIZE * 2, UNKNOWN>, T, SIZE, UNKNOWN>
28 {};
29 };
30}
Definition BSTLocklessQueue.h:28
Definition BSTLocklessQueue.h:9
Definition AbsorbEffect.h:6
Definition BSTLocklessQueue.h:20
QueueContainer queued
Definition BSTLocklessQueue.h:22
T data[SIZE]
Definition BSTLocklessQueue.h:21
QueueContainer free
Definition BSTLocklessQueue.h:23
Definition BSTLocklessQueue.h:6