LeviLamina
Loading...
Searching...
No Matches
LevelChunkGarbageCollector.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/threading/MPMCQueue.h"
7
8// auto generated forward declare list
9// clang-format off
10class Dimension;
11class LevelChunk;
13// clang-format on
14
15class LevelChunkGarbageCollector {
16public:
17 // member variables
18 // NOLINTBEGIN
19 ::ll::TypedStorage<8, 8, ::Dimension&> mDimension;
20 ::ll::TypedStorage<8, 616, ::MPMCQueue<::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter>>>
21 mLevelChunksToDiscard;
22 ::ll::TypedStorage<8, 8, ::std::atomic<uint64>> mPendingDeletes;
23 // NOLINTEND
24
25public:
26 // prevent constructor by default
27 LevelChunkGarbageCollector& operator=(LevelChunkGarbageCollector const&);
28 LevelChunkGarbageCollector(LevelChunkGarbageCollector const&);
29 LevelChunkGarbageCollector();
30
31public:
32 // member functions
33 // NOLINTBEGIN
34 MCAPI void acquireDiscardedChunk(::std::unique_ptr<::LevelChunk> discarded);
35
36 MCAPI void flush();
37
38 MCAPI ~LevelChunkGarbageCollector();
39 // NOLINTEND
40
41public:
42 // destructor thunk
43 // NOLINTBEGIN
44 MCAPI void $dtor();
45 // NOLINTEND
46};
Definition Dimension.h:85
Definition LevelChunk.h:79
Definition LevelChunkFinalDeleter.h:5