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;
13// clang-format on
14
15namespace Bedrock::Threading {
16
17class EnableQueueForThread {
18public:
19 // member variables
20 // NOLINTBEGIN
21 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mQueueForThreadTaskGroup;
22 // NOLINTEND
23
24public:
25 // prevent constructor by default
26 EnableQueueForThread();
27
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 virtual ~EnableQueueForThread();
32 // NOLINTEND
33
34public:
35 // member functions
36 // NOLINTBEGIN
37 MCAPI EnableQueueForThread(::WorkerPool& workerPool, ::Scheduler& scheduler, ::std::string name);
38
39 MCAPI ::Bedrock::Threading::Async<void> queue(::std::function<void()>&& callback);
40
41#ifdef LL_PLAT_C
42 MCAPI ::Bedrock::Threading::Async<void> queueAutoRequeue(::std::function<bool()>&& callback);
43#endif
44 // NOLINTEND
45
46public:
47 // constructor thunks
48 // NOLINTBEGIN
49 MCAPI void* $ctor(::WorkerPool& workerPool, ::Scheduler& scheduler, ::std::string name);
50 // NOLINTEND
51
52public:
53 // destructor thunk
54 // NOLINTBEGIN
55 MCAPI void $dtor();
56 // NOLINTEND
57
58public:
59 // vftables
60 // NOLINTBEGIN
61 MCNAPI static void** $vftable();
62 // NOLINTEND
63};
64
65} // namespace Bedrock::Threading
Definition Scheduler.h:14
Definition TaskGroup.h:86
Definition WorkerPool.h:16