LeviLamina
Loading...
Searching...
No Matches
EnableFIFOQueueForMainThread.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/minecraft/threading/EnableQueueForMainThread.h"
7#include "mc/platform/threading/Mutex.h"
8
9namespace Bedrock::Threading {
10
12public:
13 // EnableFIFOQueueForMainThread inner types define
14 using Task = ::std::function<void()>;
15
16public:
17 // member variables
18 // NOLINTBEGIN
19 ::ll::TypedStorage<8, 40, ::std::deque<::std::function<void()>>> mQueue;
20 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mQueueMutex;
21 // NOLINTEND
22
23public:
24 // virtual functions
25 // NOLINTBEGIN
26 virtual ~EnableFIFOQueueForMainThread() /*override*/ = default;
27 // NOLINTEND
28
29public:
30 // member functions
31 // NOLINTBEGIN
32#ifdef LL_PLAT_C
33 MCAPI void _runNextTask();
34
35 MCAPI void queueForMainThreadFIFO(::std::function<void()>&& task);
36#endif
37 // NOLINTEND
38
39public:
40 // vftables
41 // NOLINTBEGIN
42 MCNAPI static void** $vftable();
43 // NOLINTEND
44};
45
46} // namespace Bedrock::Threading
Definition EnableFIFOQueueForMainThread.h:11
Definition EnableQueueForMainThread.h:17