1
2#ifndef GDEXTENSION_WRAPPERS_GEN_H
3#define GDEXTENSION_WRAPPERS_GEN_H
4
5/* Extension Wrapper 0 Arguments */
6
7#define EXBIND0( m_name) \
8GDVIRTUAL0(_##m_name)\
9virtual void m_name() override { \
10 \
11 GDVIRTUAL_REQUIRED_CALL(_##m_name);\
12 return;\
13}
14
15#define EXBIND0R(m_ret, m_name) \
16GDVIRTUAL0R(m_ret, _##m_name)\
17virtual m_ret m_name() override { \
18 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
19\
20 GDVIRTUAL_REQUIRED_CALL(_##m_name, ret);\
21 return ret;\
22\
23}
24
25#define EXBIND0C( m_name) \
26GDVIRTUAL0C(_##m_name)\
27virtual void m_name() const override { \
28 \
29 GDVIRTUAL_REQUIRED_CALL(_##m_name);\
30 return;\
31}
32
33#define EXBIND0RC(m_ret, m_name) \
34GDVIRTUAL0RC(m_ret, _##m_name)\
35virtual m_ret m_name() const override { \
36 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
37\
38 GDVIRTUAL_REQUIRED_CALL(_##m_name, ret);\
39 return ret;\
40\
41}
42
43/* Extension Wrapper 1 Arguments */
44
45#define EXBIND1( m_name, m_type1) \
46GDVIRTUAL1(_##m_name, m_type1)\
47virtual void m_name(m_type1 arg1) override { \
48 \
49 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1);\
50 return;\
51}
52
53#define EXBIND1R(m_ret, m_name, m_type1) \
54GDVIRTUAL1R(m_ret, _##m_name, m_type1)\
55virtual m_ret m_name(m_type1 arg1) override { \
56 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
57\
58 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, ret);\
59 return ret;\
60\
61}
62
63#define EXBIND1C( m_name, m_type1) \
64GDVIRTUAL1C(_##m_name, m_type1)\
65virtual void m_name(m_type1 arg1) const override { \
66 \
67 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1);\
68 return;\
69}
70
71#define EXBIND1RC(m_ret, m_name, m_type1) \
72GDVIRTUAL1RC(m_ret, _##m_name, m_type1)\
73virtual m_ret m_name(m_type1 arg1) const override { \
74 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
75\
76 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, ret);\
77 return ret;\
78\
79}
80
81/* Extension Wrapper 2 Arguments */
82
83#define EXBIND2( m_name, m_type1, m_type2) \
84GDVIRTUAL2(_##m_name, m_type1, m_type2)\
85virtual void m_name(m_type1 arg1, m_type2 arg2) override { \
86 \
87 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2);\
88 return;\
89}
90
91#define EXBIND2R(m_ret, m_name, m_type1, m_type2) \
92GDVIRTUAL2R(m_ret, _##m_name, m_type1, m_type2)\
93virtual m_ret m_name(m_type1 arg1, m_type2 arg2) override { \
94 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
95\
96 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, ret);\
97 return ret;\
98\
99}
100
101#define EXBIND2C( m_name, m_type1, m_type2) \
102GDVIRTUAL2C(_##m_name, m_type1, m_type2)\
103virtual void m_name(m_type1 arg1, m_type2 arg2) const override { \
104 \
105 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2);\
106 return;\
107}
108
109#define EXBIND2RC(m_ret, m_name, m_type1, m_type2) \
110GDVIRTUAL2RC(m_ret, _##m_name, m_type1, m_type2)\
111virtual m_ret m_name(m_type1 arg1, m_type2 arg2) const override { \
112 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
113\
114 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, ret);\
115 return ret;\
116\
117}
118
119/* Extension Wrapper 3 Arguments */
120
121#define EXBIND3( m_name, m_type1, m_type2, m_type3) \
122GDVIRTUAL3(_##m_name, m_type1, m_type2, m_type3)\
123virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3) override { \
124 \
125 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3);\
126 return;\
127}
128
129#define EXBIND3R(m_ret, m_name, m_type1, m_type2, m_type3) \
130GDVIRTUAL3R(m_ret, _##m_name, m_type1, m_type2, m_type3)\
131virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3) override { \
132 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
133\
134 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, ret);\
135 return ret;\
136\
137}
138
139#define EXBIND3C( m_name, m_type1, m_type2, m_type3) \
140GDVIRTUAL3C(_##m_name, m_type1, m_type2, m_type3)\
141virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3) const override { \
142 \
143 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3);\
144 return;\
145}
146
147#define EXBIND3RC(m_ret, m_name, m_type1, m_type2, m_type3) \
148GDVIRTUAL3RC(m_ret, _##m_name, m_type1, m_type2, m_type3)\
149virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3) const override { \
150 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
151\
152 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, ret);\
153 return ret;\
154\
155}
156
157/* Extension Wrapper 4 Arguments */
158
159#define EXBIND4( m_name, m_type1, m_type2, m_type3, m_type4) \
160GDVIRTUAL4(_##m_name, m_type1, m_type2, m_type3, m_type4)\
161virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4) override { \
162 \
163 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4);\
164 return;\
165}
166
167#define EXBIND4R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4) \
168GDVIRTUAL4R(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4)\
169virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4) override { \
170 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
171\
172 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, ret);\
173 return ret;\
174\
175}
176
177#define EXBIND4C( m_name, m_type1, m_type2, m_type3, m_type4) \
178GDVIRTUAL4C(_##m_name, m_type1, m_type2, m_type3, m_type4)\
179virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4) const override { \
180 \
181 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4);\
182 return;\
183}
184
185#define EXBIND4RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4) \
186GDVIRTUAL4RC(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4)\
187virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4) const override { \
188 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
189\
190 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, ret);\
191 return ret;\
192\
193}
194
195/* Extension Wrapper 5 Arguments */
196
197#define EXBIND5( m_name, m_type1, m_type2, m_type3, m_type4, m_type5) \
198GDVIRTUAL5(_##m_name, m_type1, m_type2, m_type3, m_type4, m_type5)\
199virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5) override { \
200 \
201 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5);\
202 return;\
203}
204
205#define EXBIND5R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5) \
206GDVIRTUAL5R(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4, m_type5)\
207virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5) override { \
208 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
209\
210 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, ret);\
211 return ret;\
212\
213}
214
215#define EXBIND5C( m_name, m_type1, m_type2, m_type3, m_type4, m_type5) \
216GDVIRTUAL5C(_##m_name, m_type1, m_type2, m_type3, m_type4, m_type5)\
217virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5) const override { \
218 \
219 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5);\
220 return;\
221}
222
223#define EXBIND5RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5) \
224GDVIRTUAL5RC(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4, m_type5)\
225virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5) const override { \
226 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
227\
228 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, ret);\
229 return ret;\
230\
231}
232
233/* Extension Wrapper 6 Arguments */
234
235#define EXBIND6( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6) \
236GDVIRTUAL6(_##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6)\
237virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6) override { \
238 \
239 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6);\
240 return;\
241}
242
243#define EXBIND6R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6) \
244GDVIRTUAL6R(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6)\
245virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6) override { \
246 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
247\
248 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, ret);\
249 return ret;\
250\
251}
252
253#define EXBIND6C( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6) \
254GDVIRTUAL6C(_##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6)\
255virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6) const override { \
256 \
257 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6);\
258 return;\
259}
260
261#define EXBIND6RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6) \
262GDVIRTUAL6RC(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6)\
263virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6) const override { \
264 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
265\
266 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, ret);\
267 return ret;\
268\
269}
270
271/* Extension Wrapper 7 Arguments */
272
273#define EXBIND7( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7) \
274GDVIRTUAL7(_##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7)\
275virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7) override { \
276 \
277 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7);\
278 return;\
279}
280
281#define EXBIND7R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7) \
282GDVIRTUAL7R(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7)\
283virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7) override { \
284 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
285\
286 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, ret);\
287 return ret;\
288\
289}
290
291#define EXBIND7C( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7) \
292GDVIRTUAL7C(_##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7)\
293virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7) const override { \
294 \
295 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7);\
296 return;\
297}
298
299#define EXBIND7RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7) \
300GDVIRTUAL7RC(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7)\
301virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7) const override { \
302 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
303\
304 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, ret);\
305 return ret;\
306\
307}
308
309/* Extension Wrapper 8 Arguments */
310
311#define EXBIND8( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8) \
312GDVIRTUAL8(_##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8)\
313virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8) override { \
314 \
315 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);\
316 return;\
317}
318
319#define EXBIND8R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8) \
320GDVIRTUAL8R(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8)\
321virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8) override { \
322 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
323\
324 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ret);\
325 return ret;\
326\
327}
328
329#define EXBIND8C( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8) \
330GDVIRTUAL8C(_##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8)\
331virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8) const override { \
332 \
333 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);\
334 return;\
335}
336
337#define EXBIND8RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8) \
338GDVIRTUAL8RC(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8)\
339virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8) const override { \
340 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
341\
342 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ret);\
343 return ret;\
344\
345}
346
347/* Extension Wrapper 9 Arguments */
348
349#define EXBIND9( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9) \
350GDVIRTUAL9(_##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9)\
351virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9) override { \
352 \
353 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);\
354 return;\
355}
356
357#define EXBIND9R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9) \
358GDVIRTUAL9R(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9)\
359virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9) override { \
360 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
361\
362 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ret);\
363 return ret;\
364\
365}
366
367#define EXBIND9C( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9) \
368GDVIRTUAL9C(_##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9)\
369virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9) const override { \
370 \
371 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);\
372 return;\
373}
374
375#define EXBIND9RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9) \
376GDVIRTUAL9RC(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9)\
377virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9) const override { \
378 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
379\
380 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ret);\
381 return ret;\
382\
383}
384
385/* Extension Wrapper 10 Arguments */
386
387#define EXBIND10( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10) \
388GDVIRTUAL10(_##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10)\
389virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10) override { \
390 \
391 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);\
392 return;\
393}
394
395#define EXBIND10R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10) \
396GDVIRTUAL10R(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10)\
397virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10) override { \
398 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
399\
400 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ret);\
401 return ret;\
402\
403}
404
405#define EXBIND10C( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10) \
406GDVIRTUAL10C(_##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10)\
407virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10) const override { \
408 \
409 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);\
410 return;\
411}
412
413#define EXBIND10RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10) \
414GDVIRTUAL10RC(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10)\
415virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10) const override { \
416 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
417\
418 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ret);\
419 return ret;\
420\
421}
422
423/* Extension Wrapper 11 Arguments */
424
425#define EXBIND11( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11) \
426GDVIRTUAL11(_##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11)\
427virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11) override { \
428 \
429 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);\
430 return;\
431}
432
433#define EXBIND11R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11) \
434GDVIRTUAL11R(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11)\
435virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11) override { \
436 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
437\
438 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ret);\
439 return ret;\
440\
441}
442
443#define EXBIND11C( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11) \
444GDVIRTUAL11C(_##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11)\
445virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11) const override { \
446 \
447 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);\
448 return;\
449}
450
451#define EXBIND11RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11) \
452GDVIRTUAL11RC(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11)\
453virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11) const override { \
454 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
455\
456 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ret);\
457 return ret;\
458\
459}
460
461/* Extension Wrapper 12 Arguments */
462
463#define EXBIND12( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11, m_type12) \
464GDVIRTUAL12(_##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11, m_type12)\
465virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11, m_type12 arg12) override { \
466 \
467 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);\
468 return;\
469}
470
471#define EXBIND12R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11, m_type12) \
472GDVIRTUAL12R(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11, m_type12)\
473virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11, m_type12 arg12) override { \
474 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
475\
476 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, ret);\
477 return ret;\
478\
479}
480
481#define EXBIND12C( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11, m_type12) \
482GDVIRTUAL12C(_##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11, m_type12)\
483virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11, m_type12 arg12) const override { \
484 \
485 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);\
486 return;\
487}
488
489#define EXBIND12RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11, m_type12) \
490GDVIRTUAL12RC(m_ret, _##m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11, m_type12)\
491virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11, m_type12 arg12) const override { \
492 m_ret ret; ZeroInitializer<m_ret>::initialize(ret);\
493\
494 GDVIRTUAL_REQUIRED_CALL(_##m_name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, ret);\
495 return ret;\
496\
497}
498
499/* Module Wrapper 0 Arguments */
500
501#define MODBIND0( m_name) \
502virtual void _##m_name() ; \
503_FORCE_INLINE_ virtual void m_name() override { \
504 _##m_name();\
505}
506
507#define MODBIND0R(m_ret, m_name) \
508virtual m_ret _##m_name() ; \
509_FORCE_INLINE_ virtual m_ret m_name() override { \
510 return _##m_name();\
511}
512
513#define MODBIND0C( m_name) \
514virtual void _##m_name() const; \
515_FORCE_INLINE_ virtual void m_name() const override { \
516 _##m_name();\
517}
518
519#define MODBIND0RC(m_ret, m_name) \
520virtual m_ret _##m_name() const; \
521_FORCE_INLINE_ virtual m_ret m_name() const override { \
522 return _##m_name();\
523}
524
525/* Module Wrapper 1 Arguments */
526
527#define MODBIND1( m_name, m_type1) \
528virtual void _##m_name(m_type1 arg1) ; \
529_FORCE_INLINE_ virtual void m_name(m_type1 arg1) override { \
530 _##m_name(arg1);\
531}
532
533#define MODBIND1R(m_ret, m_name, m_type1) \
534virtual m_ret _##m_name(m_type1 arg1) ; \
535_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1) override { \
536 return _##m_name(arg1);\
537}
538
539#define MODBIND1C( m_name, m_type1) \
540virtual void _##m_name(m_type1 arg1) const; \
541_FORCE_INLINE_ virtual void m_name(m_type1 arg1) const override { \
542 _##m_name(arg1);\
543}
544
545#define MODBIND1RC(m_ret, m_name, m_type1) \
546virtual m_ret _##m_name(m_type1 arg1) const; \
547_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1) const override { \
548 return _##m_name(arg1);\
549}
550
551/* Module Wrapper 2 Arguments */
552
553#define MODBIND2( m_name, m_type1, m_type2) \
554virtual void _##m_name(m_type1 arg1, m_type2 arg2) ; \
555_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2) override { \
556 _##m_name(arg1, arg2);\
557}
558
559#define MODBIND2R(m_ret, m_name, m_type1, m_type2) \
560virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2) ; \
561_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2) override { \
562 return _##m_name(arg1, arg2);\
563}
564
565#define MODBIND2C( m_name, m_type1, m_type2) \
566virtual void _##m_name(m_type1 arg1, m_type2 arg2) const; \
567_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2) const override { \
568 _##m_name(arg1, arg2);\
569}
570
571#define MODBIND2RC(m_ret, m_name, m_type1, m_type2) \
572virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2) const; \
573_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2) const override { \
574 return _##m_name(arg1, arg2);\
575}
576
577/* Module Wrapper 3 Arguments */
578
579#define MODBIND3( m_name, m_type1, m_type2, m_type3) \
580virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3) ; \
581_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3) override { \
582 _##m_name(arg1, arg2, arg3);\
583}
584
585#define MODBIND3R(m_ret, m_name, m_type1, m_type2, m_type3) \
586virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3) ; \
587_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3) override { \
588 return _##m_name(arg1, arg2, arg3);\
589}
590
591#define MODBIND3C( m_name, m_type1, m_type2, m_type3) \
592virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3) const; \
593_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3) const override { \
594 _##m_name(arg1, arg2, arg3);\
595}
596
597#define MODBIND3RC(m_ret, m_name, m_type1, m_type2, m_type3) \
598virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3) const; \
599_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3) const override { \
600 return _##m_name(arg1, arg2, arg3);\
601}
602
603/* Module Wrapper 4 Arguments */
604
605#define MODBIND4( m_name, m_type1, m_type2, m_type3, m_type4) \
606virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4) ; \
607_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4) override { \
608 _##m_name(arg1, arg2, arg3, arg4);\
609}
610
611#define MODBIND4R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4) \
612virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4) ; \
613_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4) override { \
614 return _##m_name(arg1, arg2, arg3, arg4);\
615}
616
617#define MODBIND4C( m_name, m_type1, m_type2, m_type3, m_type4) \
618virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4) const; \
619_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4) const override { \
620 _##m_name(arg1, arg2, arg3, arg4);\
621}
622
623#define MODBIND4RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4) \
624virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4) const; \
625_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4) const override { \
626 return _##m_name(arg1, arg2, arg3, arg4);\
627}
628
629/* Module Wrapper 5 Arguments */
630
631#define MODBIND5( m_name, m_type1, m_type2, m_type3, m_type4, m_type5) \
632virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5) ; \
633_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5) override { \
634 _##m_name(arg1, arg2, arg3, arg4, arg5);\
635}
636
637#define MODBIND5R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5) \
638virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5) ; \
639_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5) override { \
640 return _##m_name(arg1, arg2, arg3, arg4, arg5);\
641}
642
643#define MODBIND5C( m_name, m_type1, m_type2, m_type3, m_type4, m_type5) \
644virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5) const; \
645_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5) const override { \
646 _##m_name(arg1, arg2, arg3, arg4, arg5);\
647}
648
649#define MODBIND5RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5) \
650virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5) const; \
651_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5) const override { \
652 return _##m_name(arg1, arg2, arg3, arg4, arg5);\
653}
654
655/* Module Wrapper 6 Arguments */
656
657#define MODBIND6( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6) \
658virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6) ; \
659_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6) override { \
660 _##m_name(arg1, arg2, arg3, arg4, arg5, arg6);\
661}
662
663#define MODBIND6R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6) \
664virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6) ; \
665_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6) override { \
666 return _##m_name(arg1, arg2, arg3, arg4, arg5, arg6);\
667}
668
669#define MODBIND6C( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6) \
670virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6) const; \
671_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6) const override { \
672 _##m_name(arg1, arg2, arg3, arg4, arg5, arg6);\
673}
674
675#define MODBIND6RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6) \
676virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6) const; \
677_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6) const override { \
678 return _##m_name(arg1, arg2, arg3, arg4, arg5, arg6);\
679}
680
681/* Module Wrapper 7 Arguments */
682
683#define MODBIND7( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7) \
684virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7) ; \
685_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7) override { \
686 _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7);\
687}
688
689#define MODBIND7R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7) \
690virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7) ; \
691_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7) override { \
692 return _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7);\
693}
694
695#define MODBIND7C( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7) \
696virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7) const; \
697_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7) const override { \
698 _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7);\
699}
700
701#define MODBIND7RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7) \
702virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7) const; \
703_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7) const override { \
704 return _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7);\
705}
706
707/* Module Wrapper 8 Arguments */
708
709#define MODBIND8( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8) \
710virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8) ; \
711_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8) override { \
712 _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);\
713}
714
715#define MODBIND8R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8) \
716virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8) ; \
717_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8) override { \
718 return _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);\
719}
720
721#define MODBIND8C( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8) \
722virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8) const; \
723_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8) const override { \
724 _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);\
725}
726
727#define MODBIND8RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8) \
728virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8) const; \
729_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8) const override { \
730 return _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);\
731}
732
733/* Module Wrapper 9 Arguments */
734
735#define MODBIND9( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9) \
736virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9) ; \
737_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9) override { \
738 _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);\
739}
740
741#define MODBIND9R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9) \
742virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9) ; \
743_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9) override { \
744 return _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);\
745}
746
747#define MODBIND9C( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9) \
748virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9) const; \
749_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9) const override { \
750 _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);\
751}
752
753#define MODBIND9RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9) \
754virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9) const; \
755_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9) const override { \
756 return _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);\
757}
758
759/* Module Wrapper 10 Arguments */
760
761#define MODBIND10( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10) \
762virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10) ; \
763_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10) override { \
764 _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);\
765}
766
767#define MODBIND10R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10) \
768virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10) ; \
769_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10) override { \
770 return _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);\
771}
772
773#define MODBIND10C( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10) \
774virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10) const; \
775_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10) const override { \
776 _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);\
777}
778
779#define MODBIND10RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10) \
780virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10) const; \
781_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10) const override { \
782 return _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);\
783}
784
785/* Module Wrapper 11 Arguments */
786
787#define MODBIND11( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11) \
788virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11) ; \
789_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11) override { \
790 _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);\
791}
792
793#define MODBIND11R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11) \
794virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11) ; \
795_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11) override { \
796 return _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);\
797}
798
799#define MODBIND11C( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11) \
800virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11) const; \
801_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11) const override { \
802 _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);\
803}
804
805#define MODBIND11RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11) \
806virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11) const; \
807_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11) const override { \
808 return _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);\
809}
810
811/* Module Wrapper 12 Arguments */
812
813#define MODBIND12( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11, m_type12) \
814virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11, m_type12 arg12) ; \
815_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11, m_type12 arg12) override { \
816 _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);\
817}
818
819#define MODBIND12R(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11, m_type12) \
820virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11, m_type12 arg12) ; \
821_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11, m_type12 arg12) override { \
822 return _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);\
823}
824
825#define MODBIND12C( m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11, m_type12) \
826virtual void _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11, m_type12 arg12) const; \
827_FORCE_INLINE_ virtual void m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11, m_type12 arg12) const override { \
828 _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);\
829}
830
831#define MODBIND12RC(m_ret, m_name, m_type1, m_type2, m_type3, m_type4, m_type5, m_type6, m_type7, m_type8, m_type9, m_type10, m_type11, m_type12) \
832virtual m_ret _##m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11, m_type12 arg12) const; \
833_FORCE_INLINE_ virtual m_ret m_name(m_type1 arg1, m_type2 arg2, m_type3 arg3, m_type4 arg4, m_type5 arg5, m_type6 arg6, m_type7 arg7, m_type8 arg8, m_type9 arg9, m_type10 arg10, m_type11 arg11, m_type12 arg12) const override { \
834 return _##m_name(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);\
835}
836
837#endif
838