LeviLamina
Loading...
Searching...
No Matches
DelayableTaskGroup.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/brstd/copyable_function.h"
7#include "mc/platform/brstd/move_only_function.h"
8
9// auto generated forward declare list
10// clang-format off
11class TaskGroup;
12// clang-format on
13
14namespace Bedrock::Threading {
15
16struct DelayableTaskGroup : public ::std::unique_ptr<::TaskGroup> {
17public:
18 // member variables
19 // NOLINTBEGIN
20 ::ll::TypedStorage<
21 8,
22 64,
23 ::brstd::copyable_function<void(::TaskGroup&, ::std::chrono::seconds, ::brstd::move_only_function<void()>)>>
24 mStartWithDelay;
25 // NOLINTEND
26
27#ifdef LL_PLAT_S
28#else // LL_PLAT_C
29public:
30 // prevent constructor by default
31 DelayableTaskGroup();
32
33#endif
34public:
35 // member functions
36 // NOLINTBEGIN
37#ifdef LL_PLAT_C
38 MCAPI DelayableTaskGroup(
39 ::std::unique_ptr<::TaskGroup> taskGroup,
40 ::brstd::copyable_function<void(::TaskGroup&, ::std::chrono::seconds, ::brstd::move_only_function<void()>)>
41 startWithDelay
42 );
43#endif
44
45 MCAPI void startWithDelay(::std::chrono::seconds delay, ::brstd::move_only_function<void()> work);
46
47#ifdef LL_PLAT_C
48 MCAPI ~DelayableTaskGroup();
49#endif
50 // NOLINTEND
51
52public:
53 // static functions
54 // NOLINTBEGIN
55 MCAPI static void defaultStartWithDelay(
56 ::TaskGroup& taskGroup,
57 ::std::chrono::seconds delay,
59 );
60 // NOLINTEND
61
62public:
63 // constructor thunks
64 // NOLINTBEGIN
65#ifdef LL_PLAT_C
66 MCAPI void* $ctor(
67 ::std::unique_ptr<::TaskGroup> taskGroup,
68 ::brstd::copyable_function<void(::TaskGroup&, ::std::chrono::seconds, ::brstd::move_only_function<void()>)>
69 startWithDelay
70 );
71#endif
72 // NOLINTEND
73
74public:
75 // destructor thunk
76 // NOLINTBEGIN
77#ifdef LL_PLAT_C
78 MCAPI void $dtor();
79#endif
80 // NOLINTEND
81};
82
83} // namespace Bedrock::Threading
Definition TaskGroup.h:57
Definition copyable_function.h:8
Definition move_only_function.h:9