LeviLamina
Loading...
Searching...
No Matches
TickingQueue.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5class TickingQueue {
6public:
7 // TickingQueue inner types declare
8 // clang-format off
9 class Stage;
10 class OneshotStage;
11 class PollingStage;
12 class SleepStage;
15 // clang-format on
16
17 // TickingQueue inner types define
18 class Stage {
19 public:
20 // member variables
21 // NOLINTBEGIN
23 // NOLINTEND
24
25 public:
26 // prevent constructor by default
27 Stage& operator=(Stage const&);
28 Stage(Stage const&);
29 Stage();
30
31 public:
32 // virtual functions
33 // NOLINTBEGIN
34 virtual ~Stage() = default;
35
36 virtual void init() = 0;
37
38 virtual bool tick() = 0;
39 // NOLINTEND
40
41 public:
42 // virtual function thunks
43 // NOLINTBEGIN
44
45 // NOLINTEND
46 };
47
48 class OneshotStage : public ::TickingQueue::Stage {
49 public:
50 // member variables
51 // NOLINTBEGIN
53 // NOLINTEND
54
55 public:
56 // prevent constructor by default
57 OneshotStage& operator=(OneshotStage const&);
58 OneshotStage(OneshotStage const&);
59 OneshotStage();
60
61 public:
62 // virtual functions
63 // NOLINTBEGIN
64 virtual void init() /*override*/;
65
66 virtual bool tick() /*override*/;
67
68 virtual ~OneshotStage() /*override*/ = default;
69 // NOLINTEND
70
71 public:
72 // virtual function thunks
73 // NOLINTBEGIN
74
75 // NOLINTEND
76 };
77
78 class PollingStage : public ::TickingQueue::Stage {
79 public:
80 // member variables
81 // NOLINTBEGIN
84 // NOLINTEND
85
86 public:
87 // prevent constructor by default
88 PollingStage& operator=(PollingStage const&);
89 PollingStage(PollingStage const&);
90 PollingStage();
91
92 public:
93 // virtual functions
94 // NOLINTBEGIN
95 virtual void init() /*override*/;
96
97 virtual bool tick() /*override*/;
98
99 virtual ~PollingStage() /*override*/ = default;
100 // NOLINTEND
101
102 public:
103 // virtual function thunks
104 // NOLINTBEGIN
105
106 // NOLINTEND
107 };
108
109 class SleepStage : public ::TickingQueue::Stage {
110 public:
111 // member variables
112 // NOLINTBEGIN
114 // NOLINTEND
115
116 public:
117 // prevent constructor by default
118 SleepStage& operator=(SleepStage const&);
119 SleepStage(SleepStage const&);
120 SleepStage();
121
122 public:
123 // virtual functions
124 // NOLINTBEGIN
125 virtual void init() /*override*/;
126
127 virtual bool tick() /*override*/;
128
129 virtual ~SleepStage() /*override*/ = default;
130 // NOLINTEND
131
132 public:
133 // virtual function thunks
134 // NOLINTBEGIN
135
136 // NOLINTEND
137 };
138
139 class WaitForCallbackStage : public ::TickingQueue::Stage {
140 public:
141 // member variables
142 // NOLINTBEGIN
145 // NOLINTEND
146
147 public:
148 // prevent constructor by default
149 WaitForCallbackStage& operator=(WaitForCallbackStage const&);
150 WaitForCallbackStage(WaitForCallbackStage const&);
151 WaitForCallbackStage();
152
153 public:
154 // virtual functions
155 // NOLINTBEGIN
156 virtual void init() /*override*/;
157
158 virtual bool tick() /*override*/;
159
160 virtual ~WaitForCallbackStage() /*override*/ = default;
161 // NOLINTEND
162
163 public:
164 // virtual function thunks
165 // NOLINTBEGIN
166
167 // NOLINTEND
168 };
169
170 class WaitForSignalStage : public ::TickingQueue::Stage {
171 public:
172 // member variables
173 // NOLINTBEGIN
175 // NOLINTEND
176
177 public:
178 // prevent constructor by default
179 WaitForSignalStage& operator=(WaitForSignalStage const&);
180 WaitForSignalStage(WaitForSignalStage const&);
181 WaitForSignalStage();
182
183 public:
184 // virtual functions
185 // NOLINTBEGIN
186 virtual void init() /*override*/;
187
188 virtual bool tick() /*override*/;
189
190 virtual ~WaitForSignalStage() /*override*/ = default;
191 // NOLINTEND
192
193 public:
194 // virtual function thunks
195 // NOLINTBEGIN
196
197 // NOLINTEND
198 };
199
200public:
201 // member variables
202 // NOLINTBEGIN
205 // NOLINTEND
206
207public:
208 // prevent constructor by default
209 TickingQueue& operator=(TickingQueue const&);
210 TickingQueue(TickingQueue const&);
211 TickingQueue();
212};
Definition TickingQueue.h:48
Definition TickingQueue.h:78
Definition TickingQueue.h:109
Definition TickingQueue.h:18
Definition TickingQueue.h:139
Definition TickingQueue.h:170
Definition Alias.h:14