CommonLibVR
BSResourceEntryQueue.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSAtomic.h"
4 
5 namespace RE
6 {
7  namespace BSResource
8  {
9  template <class T>
10  class EntryQueue
11  {
12  public:
13  // members
15  T* head; // 08
16  T** tail; // 10
17  };
18  static_assert(sizeof(EntryQueue<void>) == 0x18);
19 
20  template <class T, std::uint32_t SIZE>
22  {
23  public:
24  // members
25  EntryQueue<T> buckets[SIZE]; // 00
26  volatile std::uint32_t step; // ??
27  };
28  static_assert(sizeof(EntryBucketQueue<void, 8>) == 0xC8);
29  }
30 }
Definition: BSAtomic.h:65
Definition: BSResourceEntryQueue.h:22
volatile std::uint32_t step
Definition: BSResourceEntryQueue.h:26
EntryQueue< T > buckets[SIZE]
Definition: BSResourceEntryQueue.h:25
Definition: BSResourceEntryQueue.h:11
T * head
Definition: BSResourceEntryQueue.h:15
T ** tail
Definition: BSResourceEntryQueue.h:16
BSNonReentrantSpinLock lock
Definition: BSResourceEntryQueue.h:14
Definition: AbsorbEffect.h:6