Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
EnableQueueForThread.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/threading/Async.h"
7
8// auto generated forward declare list
9// clang-format off
10class Scheduler;
11class TaskGroup;
12class WorkerPool;
13struct TaskStartInfo;
14// clang-format on
15
16namespace Bedrock::Threading {
17
18class EnableQueueForThread {
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mQueueForThreadTaskGroup;
23 // NOLINTEND
24
25public:
26 // prevent constructor by default
27 EnableQueueForThread();
28
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual ~EnableQueueForThread();
33 // NOLINTEND
34
35public:
36 // member functions
37 // NOLINTBEGIN
38 MCNAPI EnableQueueForThread(::WorkerPool& workerPool, ::Scheduler& scheduler, ::std::string name);
39
40 MCNAPI ::Bedrock::Threading::Async<void> queue(::std::function<void()>&& callback);
41
42#ifdef LL_PLAT_C
43 MCNAPI ::Bedrock::Threading::Async<void>
44 queue(::TaskStartInfo const& startInfo, ::std::function<void()>&& callback);
45
46 MCNAPI ::Bedrock::Threading::Async<void> queueAutoRequeue(::std::function<bool()>&& callback);
47#endif
48 // NOLINTEND
49
50public:
51 // constructor thunks
52 // NOLINTBEGIN
53 MCNAPI void* $ctor(::WorkerPool& workerPool, ::Scheduler& scheduler, ::std::string name);
54 // NOLINTEND
55
56public:
57 // destructor thunk
58 // NOLINTBEGIN
59 MCNAPI void $dtor();
60 // NOLINTEND
61
62public:
63 // vftables
64 // NOLINTBEGIN
65 MCNAPI static void** $vftable();
66 // NOLINTEND
67};
68
69} // namespace Bedrock::Threading
MCAPI void * $ctor(::WorkerPool &workerPool, ::Scheduler &scheduler, ::std::string name)
MCAPI ::Bedrock::Threading::Async< void > queue(::std::function< void()> &&callback)
MCAPI EnableQueueForThread(::WorkerPool &workerPool, ::Scheduler &scheduler, ::std::string name)
Definition Scheduler.h:15
Definition TaskGroup.h:85
Definition WorkerPool.h:22
Definition TaskStartInfo.h:5