forward.hpp
Go to the documentation of this file.
1 // The MIT License (MIT)
2 
3 // Copyright (c) 2013-2020 Rapptz, ThePhD and contributors
4 
5 // Permission is hereby granted, free of charge, to any person obtaining a copy of
6 // this software and associated documentation files (the "Software"), to deal in
7 // the Software without restriction, including without limitation the rights to
8 // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 // the Software, and to permit persons to whom the Software is furnished to do so,
10 // subject to the following conditions:
11 
12 // The above copyright notice and this permission notice shall be included in all
13 // copies or substantial portions of the Software.
14 
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 
22 // This file was generated with a script.
23 // Generated 2020-10-03 21:34:25.022965 UTC
24 // This header was generated with sol v3.2.1 (revision 48eea7b5)
25 // https://github.com/ThePhD/sol2
26 
27 #ifndef SOL_SINGLE_INCLUDE_FORWARD_HPP
28 #define SOL_SINGLE_INCLUDE_FORWARD_HPP
29 
30 // beginning of sol/forward.hpp
31 
32 #ifndef SOL_FORWARD_HPP
33 #define SOL_FORWARD_HPP
34 
35 // beginning of sol/version.hpp
36 
37 #include <sol/config.hpp>
38 
39 #include <cstdint>
40 
41 #define SOL_VERSION_MAJOR 3
42 #define SOL_VERSION_MINOR 5
43 #define SOL_VERSION_PATCH 0
44 #define SOL_VERSION_STRING "3.5.0"
45 #define SOL_VERSION ((SOL_VERSION_MAJOR * 100000) + (SOL_VERSION_MINOR * 100) + (SOL_VERSION_PATCH))
46 
47 #define SOL_IS_ON(OP_SYMBOL) ((3 OP_SYMBOL 3) != 0)
48 #define SOL_IS_OFF(OP_SYMBOL) ((3 OP_SYMBOL 3) == 0)
49 #define SOL_IS_DEFAULT_ON(OP_SYMBOL) ((3 OP_SYMBOL 3) > 3)
50 #define SOL_IS_DEFAULT_OFF(OP_SYMBOL) ((3 OP_SYMBOL 3 OP_SYMBOL 3) < 0)
51 
52 #define SOL_ON |
53 #define SOL_OFF ^
54 #define SOL_DEFAULT_ON +
55 #define SOL_DEFAULT_OFF -
56 
57 #if defined(_MSC_VER)
58  #define SOL_COMPILER_CLANG_I_ SOL_OFF
59  #define SOL_COMPILER_GCC_I_ SOL_OFF
60  #define SOL_COMPILER_EDG_I_ SOL_OFF
61  #define SOL_COMPILER_VCXX_I_ SOL_ON
62 #elif defined(__clang__)
63  #define SOL_COMPILER_CLANG_I_ SOL_ON
64  #define SOL_COMPILER_GCC_I_ SOL_OFF
65  #define SOL_COMPILER_EDG_I_ SOL_OFF
66  #define SOL_COMPILER_VCXX_I_ SOL_OFF
67 #elif defined(__GNUC__)
68  #define SOL_COMPILER_CLANG_I_ SOL_OFF
69  #define SOL_COMPILER_GCC_I_ SOL_ON
70  #define SOL_COMPILER_EDG_I_ SOL_OFF
71  #define SOL_COMPILER_VCXX_I_ SOL_OFF
72 #else
73  #define SOL_COMPILER_CLANG_I_ SOL_OFF
74  #define SOL_COMPILER_GCC_I_ SOL_OFF
75  #define SOL_COMPILER_EDG_I_ SOL_OFF
76  #define SOL_COMPILER_VCXX_I_ SOL_OFF
77 #endif
78 
79 #if defined(__MINGW32__)
80  #define SOL_COMPILER_FRONTEND_MINGW_I_ SOL_ON
81 #else
82  #define SOL_COMPILER_FRONTEND_MINGW_I_ SOL_OFF
83 #endif
84 
85 #if SIZE_MAX <= 0xFFFFULL
86  #define SOL_PLATFORM_X16_I_ SOL_ON
87  #define SOL_PLATFORM_X86_I_ SOL_OFF
88  #define SOL_PLATFORM_X64_I_ SOL_OFF
89 #elif SIZE_MAX <= 0xFFFFFFFFULL
90  #define SOL_PLATFORM_X16_I_ SOL_OFF
91  #define SOL_PLATFORM_X86_I_ SOL_ON
92  #define SOL_PLATFORM_X64_I_ SOL_OFF
93 #else
94  #define SOL_PLATFORM_X16_I_ SOL_OFF
95  #define SOL_PLATFORM_X86_I_ SOL_OFF
96  #define SOL_PLATFORM_X64_I_ SOL_ON
97 #endif
98 
99 #define SOL_PLATFORM_ARM32_I_ SOL_OFF
100 #define SOL_PLATFORM_ARM64_I_ SOL_OFF
101 
102 #if defined(_WIN32)
103  #define SOL_PLATFORM_WINDOWS_I_ SOL_ON
104 #else
105  #define SOL_PLATFORM_WINDOWS_I_ SOL_OFF
106 #endif
107 #if defined(__APPLE__)
108  #define SOL_PLATFORM_APPLE_I_ SOL_ON
109 #else
110  #define SOL_PLATFORM_APPLE_I_ SOL_OFF
111 #endif
112 #if defined(__unix__)
113  #define SOL_PLATFORM_UNIXLIKE_I_ SOL_ON
114 #else
115  #define SOL_PLATFORM_UNIXLIKE_I_ SOL_OFF
116 #endif
117 #if defined(__linux__)
118  #define SOL_PLATFORM_LINUXLIKE_I_ SOL_ON
119 #else
120  #define SOL_PLATFORM_LINUXLIKE_I_ SOL_OFF
121 #endif
122 
123 #define SOL_PLATFORM_APPLE_IPHONE_I_ SOL_OFF
124 #define SOL_PLATFORM_BSDLIKE_I_ SOL_OFF
125 
126 #if defined(SOL_IN_DEBUG_DETECTED)
127  #if SOL_IN_DEBUG_DETECTED != 0
128  #define SOL_DEBUG_BUILD_I_ SOL_ON
129  #else
130  #define SOL_DEBUG_BUILD_I_ SOL_OFF
131  #endif
132 #elif !defined(NDEBUG)
133  #if SOL_IS_ON(SOL_COMPILER_VCXX_I_) && defined(_DEBUG)
134  #define SOL_DEBUG_BUILD_I_ SOL_ON
135  #elif (SOL_IS_ON(SOL_COMPILER_CLANG_I_) || SOL_IS_ON(SOL_COMPILER_GCC_I_)) && !defined(__OPTIMIZE__)
136  #define SOL_DEBUG_BUILD_I_ SOL_ON
137  #else
138  #define SOL_DEBUG_BUILD_I_ SOL_OFF
139  #endif
140 #else
141  #define SOL_DEBUG_BUILD_I_ SOL_DEFAULT_OFF
142 #endif // We are in a debug mode of some sort
143 
144 #if defined(SOL_NO_EXCEPTIONS)
145  #if (SOL_NO_EXCEPTIONS != 0)
146  #define SOL_EXCEPTIONS_I_ SOL_OFF
147  #else
148  #define SOL_EXCEPTIONS_I_ SOL_ON
149  #endif
150 #elif SOL_IS_ON(SOL_COMPILER_VCXX_I_)
151  #if !defined(_CPPUNWIND)
152  #define SOL_EXCEPTIONS_I_ SOL_OFF
153  #else
154  #define SOL_EXCEPTIONS_I_ SOL_ON
155  #endif
156 #elif SOL_IS_ON(SOL_COMPILER_CLANG_I_) || SOL_IS_ON(SOL_COMPILER_GCC_I_)
157  #if !defined(__EXCEPTIONS)
158  #define SOL_EXCEPTIONS_I_ SOL_OFF
159  #else
160  #define SOL_EXCEPTIONS_I_ SOL_ON
161  #endif
162 #else
163  #define SOL_EXCEPTIONS_I_ SOL_DEFAULT_ON
164 #endif
165 
166 #if defined(SOL_NO_RTTI)
167  #if (SOL_NO_RTTI != 0)
168  #define SOL_RTTI_I_ SOL_OFF
169  #else
170  #define SOL_RTTI_I_ SOL_ON
171  #endif
172 #elif SOL_IS_ON(SOL_COMPILER_VCXX_I_)
173  #if !defined(_CPPRTTI)
174  #define SOL_RTTI_I_ SOL_OFF
175  #else
176  #define SOL_RTTI_I_ SOL_ON
177  #endif
178 #elif SOL_IS_ON(SOL_COMPILER_CLANG_I_) || SOL_IS_ON(SOL_COMPILER_GCC_I_)
179  #if !defined(__GXX_RTTI)
180  #define SOL_RTTI_I_ SOL_OFF
181  #else
182  #define SOL_RTTI_I_ SOL_ON
183  #endif
184 #else
185  #define SOL_RTTI_I_ SOL_DEFAULT_ON
186 #endif
187 
188 #if defined(SOL_NO_THREAD_LOCAL) && (SOL_NO_THREAD_LOCAL != 0)
189  #define SOL_USE_THREAD_LOCAL_I_ SOL_OFF
190 #else
191  #define SOL_USE_THREAD_LOCAL_I_ SOL_DEFAULT_ON
192 #endif // thread_local keyword is bjorked on some platforms
193 
194 #if defined(SOL_ALL_SAFETIES_ON) && (SOL_ALL_SAFETIES_ON != 0)
195  #define SOL_ALL_SAFETIES_ON_I_ SOL_ON
196 #else
197  #define SOL_ALL_SAFETIES_ON_I_ SOL_DEFAULT_OFF
198 #endif
199 
200 #if defined(SOL_SAFE_GETTER) && (SOL_SAFE_GETTER != 0)
201  #define SOL_SAFE_GETTER_I_ SOL_ON
202 #else
203  #if SOL_IS_ON(SOL_ALL_SAFETIES_ON_I_)
204  #define SOL_SAFE_GETTER_I_ SOL_ON
205  #elif SOL_IS_ON(SOL_DEBUG_BUILD_I_)
206  #define SOL_SAFE_GETTER_I_ SOL_DEFAULT_ON
207  #else
208  #define SOL_SAFE_GETTER_I_ SOL_DEFAULT_OFF
209  #endif
210 #endif
211 
212 #if defined(SOL_SAFE_USERTYPE) && (SOL_SAFE_USERTYPE != 0)
213  #define SOL_SAFE_USERTYPE_I_ SOL_ON
214 #else
215  #if SOL_IS_ON(SOL_ALL_SAFETIES_ON_I_)
216  #define SOL_SAFE_USERTYPE_I_ SOL_ON
217  #elif SOL_IS_ON(SOL_DEBUG_BUILD_I_)
218  #define SOL_SAFE_USERTYPE_I_ SOL_DEFAULT_ON
219  #else
220  #define SOL_SAFE_USERTYPE_I_ SOL_DEFAULT_OFF
221  #endif
222 #endif
223 
224 #if defined(SOL_SAFE_REFERENCES) && (SOL_SAFE_REFERENCES != 0)
225  #define SOL_SAFE_REFERENCES_I_ SOL_ON
226 #else
227  #if SOL_IS_ON(SOL_ALL_SAFETIES_ON_I_)
228  #define SOL_SAFE_REFERENCES_I_ SOL_ON
229  #elif SOL_IS_ON(SOL_DEBUG_BUILD_I_)
230  #define SOL_SAFE_REFERENCES_I_ SOL_DEFAULT_ON
231  #else
232  #define SOL_SAFE_REFERENCES_I_ SOL_DEFAULT_OFF
233  #endif
234 #endif
235 
236 #if (defined(SOL_SAFE_FUNCTIONS) && (SOL_SAFE_FUNCTIONS != 0)) \
237  || (defined(SOL_SAFE_FUNCTION_OBJECTS) && (SOL_SAFE_FUNCTION_OBJECTS != 0))
238  #define SOL_SAFE_FUNCTION_OBJECTS_I_ SOL_ON
239 #else
240  #if SOL_IS_ON(SOL_ALL_SAFETIES_ON_I_)
241  #define SOL_SAFE_FUNCTION_OBJECTS_I_ SOL_ON
242  #elif SOL_IS_ON(SOL_DEBUG_BUILD_I_)
243  #define SOL_SAFE_FUNCTION_OBJECTS_I_ SOL_DEFAULT_ON
244  #else
245  #define SOL_SAFE_FUNCTION_OBJECTS_I_ SOL_DEFAULT_OFF
246  #endif
247 #endif
248 
249 #if defined(SOL_SAFE_FUNCTION_CALLS) && (SOL_SAFE_FUNCTION_CALLS != 0)
250  #define SOL_SAFE_FUNCTION_CALLS_I_ SOL_ON
251 #else
252  #if SOL_IS_ON(SOL_ALL_SAFETIES_ON_I_)
253  #define SOL_SAFE_FUNCTION_CALLS_I_ SOL_ON
254  #elif SOL_IS_ON(SOL_DEBUG_BUILD_I_)
255  #define SOL_SAFE_FUNCTION_CALLS_I_ SOL_DEFAULT_ON
256  #else
257  #define SOL_SAFE_FUNCTION_CALLS_I_ SOL_DEFAULT_OFF
258  #endif
259 #endif
260 
261 #if defined(SOL_SAFE_PROXIES) && (SOL_SAFE_PROXIES != 0)
262  #define SOL_SAFE_PROXIES_I_ SOL_ON
263 #else
264  #if SOL_IS_ON(SOL_ALL_SAFETIES_ON_I_)
265  #define SOL_SAFE_PROXIES_I_ SOL_ON
266  #elif SOL_IS_ON(SOL_DEBUG_BUILD_I_)
267  #define SOL_SAFE_PROXIES_I_ SOL_DEFAULT_ON
268  #else
269  #define SOL_SAFE_PROXIES_I_ SOL_DEFAULT_OFF
270  #endif
271 #endif
272 
273 #if defined(SOL_SAFE_NUMERICS) && (SOL_SAFE_NUMERICS != 0)
274  #define SOL_SAFE_NUMERICS_I_ SOL_ON
275 #else
276  #if SOL_IS_ON(SOL_ALL_SAFETIES_ON_I_)
277  #define SOL_SAFE_NUMERICS_I_ SOL_ON
278  #elif SOL_IS_ON(SOL_DEBUG_BUILD_I_)
279  #define SOL_SAFE_NUMERICS_I_ SOL_DEFAULT_ON
280  #else
281  #define SOL_SAFE_NUMERICS_I_ SOL_DEFAULT_OFF
282  #endif
283 #endif
284 
285 #if defined(SOL_SAFE_STACK_CHECK) && (SOL_SAFE_STACK_CHECK != 0)
286  #define SOL_SAFE_STACK_CHECK_I_ SOL_ON
287 #else
288  #if SOL_IS_ON(SOL_ALL_SAFETIES_ON_I_)
289  #define SOL_SAFE_STACK_CHECK_I_ SOL_ON
290  #elif SOL_IS_ON(SOL_DEBUG_BUILD_I_)
291  #define SOL_SAFE_STACK_CHECK_I_ SOL_DEFAULT_ON
292  #else
293  #define SOL_SAFE_STACK_CHECK_I_ SOL_DEFAULT_OFF
294  #endif
295 #endif
296 
297 #if (defined(SOL_NO_CHECK_NUMBER_PRECISION) && (SOL_NO_CHECK_NUMBER_PRECISION != 0)) \
298  || (defined(SOL_NO_CHECKING_NUMBER_PRECISION) && (SOL_NO_CHECKING_NUMBER_PRECISION != 0))
299  #define SOL_NUMBER_PRECISION_CHECKS_I_ SOL_OFF
300 #else
301  #if SOL_IS_ON(SOL_ALL_SAFETIES_ON_I_)
302  #define SOL_NUMBER_PRECISION_CHECKS_I_ SOL_ON
303  #elif SOL_IS_ON(SOL_SAFE_NUMERICS_I_)
304  #define SOL_NUMBER_PRECISION_CHECKS_I_ SOL_ON
305  #elif SOL_IS_ON(SOL_DEBUG_BUILD_I_)
306  #define SOL_NUMBER_PRECISION_CHECKS_I_ SOL_DEFAULT_ON
307  #else
308  #define SOL_NUMBER_PRECISION_CHECKS_I_ SOL_DEFAULT_OFF
309  #endif
310 #endif
311 
312 #if defined(SOL_STRINGS_ARE_NUMBERS)
313  #if (SOL_STRINGS_ARE_NUMBERS != 0)
314  #define SOL_STRINGS_ARE_NUMBERS_I_ SOL_ON
315  #else
316  #define SOL_STRINGS_ARE_NUMBERS_I_ SOL_OFF
317  #endif
318 #else
319  #define SOL_STRINGS_ARE_NUMBERS_I_ SOL_DEFAULT_OFF
320 #endif
321 
322 #if defined(SOL_ENABLE_INTEROP) && (SOL_ENABLE_INTEROP != 0) \
323  || defined(SOL_USE_INTEROP) && (SOL_USE_INTEROP != 0)
324  #define SOL_USE_INTEROP_I_ SOL_ON
325 #else
326  #define SOL_USE_INTEROP_I_ SOL_DEFAULT_OFF
327 #endif
328 
329 #if defined(SOL_NO_NIL)
330  #if (SOL_NO_NIL != 0)
331  #define SOL_NIL_I_ SOL_OFF
332  #else
333  #define SOL_NIL_I_ SOL_ON
334  #endif
335 #elif defined(__MAC_OS_X_VERSION_MAX_ALLOWED) || defined(__OBJC__) || defined(nil)
336  #define SOL_NIL_I_ SOL_DEFAULT_OFF
337 #else
338  #define SOL_NIL_I_ SOL_DEFAULT_ON
339 #endif
340 
341 #if defined(SOL_USERTYPE_TYPE_BINDING_INFO)
342  #if (SOL_USERTYPE_TYPE_BINDING_INFO != 0)
343  #define SOL_USERTYPE_TYPE_BINDING_INFO_I_ SOL_ON
344  #else
345  #define SOL_USERTYPE_TYPE_BINDING_INFO_I_ SOL_OFF
346  #endif
347 #else
348  #define SOL_USERTYPE_TYPE_BINDING_INFO_I_ SOL_DEFAULT_ON
349 #endif // We should generate a my_type.__type table with lots of class information for usertypes
350 
351 #if defined(SOL_AUTOMAGICAL_TYPES_BY_DEFAULT)
352  #if (SOL_AUTOMAGICAL_TYPES_BY_DEFAULT != 0)
353  #define SOL_DEFAULT_AUTOMAGICAL_USERTYPES_I_ SOL_ON
354  #else
355  #define SOL_DEFAULT_AUTOMAGICAL_USERTYPES_I_ SOL_OFF
356  #endif
357 #elif defined(SOL_DEFAULT_AUTOMAGICAL_USERTYPES)
358  #if (SOL_DEFAULT_AUTOMAGICAL_USERTYPES != 0)
359  #define SOL_DEFAULT_AUTOMAGICAL_USERTYPES_I_ SOL_ON
360  #else
361  #define SOL_DEFAULT_AUTOMAGICAL_USERTYPES_I_ SOL_OFF
362  #endif
363 #else
364  #define SOL_DEFAULT_AUTOMAGICAL_USERTYPES_I_ SOL_DEFAULT_ON
365 #endif // make is_automagical on/off by default
366 
367 #if defined(SOL_STD_VARIANT)
368  #if (SOL_STD_VARIANT != 0)
369  #define SOL_STD_VARIANT_I_ SOL_ON
370  #else
371  #define SOL_STD_VARIANT_I_ SOL_OFF
372  #endif
373 #else
374  #if SOL_IS_ON(SOL_COMPILER_CLANG_I_) && SOL_IS_ON(SOL_PLATFORM_APPLE_I_)
375  #if defined(__has_include)
376  #if __has_include(<variant>)
377  #define SOL_STD_VARIANT_I_ SOL_ON
378  #else
379  #define SOL_STD_VARIANT_I_ SOL_OFF
380  #endif
381  #else
382  #define SOL_STD_VARIANT_I_ SOL_OFF
383  #endif
384  #else
385  #define SOL_STD_VARIANT_I_ SOL_DEFAULT_ON
386  #endif
387 #endif // make is_automagical on/off by default
388 
389 #if defined(SOL_NOEXCEPT_FUNCTION_TYPE)
390  #if (SOL_NOEXCEPT_FUNCTION_TYPE != 0)
391  #define SOL_USE_NOEXCEPT_FUNCTION_TYPE_I_ SOL_ON
392  #else
393  #define SOL_USE_NOEXCEPT_FUNCTION_TYPE_I_ SOL_OFF
394  #endif
395 #else
396  #if defined(__cpp_noexcept_function_type)
397  #define SOL_USE_NOEXCEPT_FUNCTION_TYPE_I_ SOL_ON
398  #elif SOL_IS_ON(SOL_COMPILER_VCXX_I_) && (defined(_MSVC_LANG) && (_MSVC_LANG < 201403L))
399  // There is a bug in the VC++ compiler??
400  // on /std:c++latest under x86 conditions (VS 15.5.2),
401  // compiler errors are tossed for noexcept markings being on function types
402  // that are identical in every other way to their non-noexcept marked types function types...
403  // VS 2019: There is absolutely a bug.
404  #define SOL_USE_NOEXCEPT_FUNCTION_TYPE_I_ SOL_OFF
405  #else
406  #define SOL_USE_NOEXCEPT_FUNCTION_TYPE_I_ SOL_DEFAULT_ON
407  #endif
408 #endif // noexcept is part of a function's type
409 
410 #if defined(SOL_STACK_STRING_OPTIMIZATION_SIZE) && SOL_STACK_STRING_OPTIMIZATION_SIZE > 0
411  #define SOL_OPTIMIZATION_STRING_CONVERSION_STACK_SIZE_I_ SOL_STACK_STRING_OPTIMIZATION_SIZE
412 #else
413  #define SOL_OPTIMIZATION_STRING_CONVERSION_STACK_SIZE_I_ 1024
414 #endif
415 
416 #if defined(SOL_ID_SIZE) && SOL_ID_SIZE > 0
417  #define SOL_ID_SIZE_I_ SOL_ID_SIZE
418 #else
419  #define SOL_ID_SIZE_I_ 512
420 #endif
421 
422 #if defined(LUA_IDSIZE) && LUA_IDSIZE > 0
423  #define SOL_FILE_ID_SIZE_I_ LUA_IDSIZE
424 #elif defined(SOL_ID_SIZE) && SOL_ID_SIZE > 0
425  #define SOL_FILE_ID_SIZE_I_ SOL_FILE_ID_SIZE
426 #else
427  #define SOL_FILE_ID_SIZE_I_ 2048
428 #endif
429 
430 #if defined(SOL_PRINT_ERRORS)
431  #if (SOL_PRINT_ERRORS != 0)
432  #define SOL_PRINT_ERRORS_I_ SOL_ON
433  #else
434  #define SOL_PRINT_ERRORS_I_ SOL_OFF
435  #endif
436 #else
437  #if SOL_IS_ON(SOL_ALL_SAFETIES_ON_I_)
438  #define SOL_PRINT_ERRORS_I_ SOL_ON
439  #elif SOL_IS_ON(SOL_DEBUG_BUILD_I_)
440  #define SOL_PRINT_ERRORS_I_ SOL_DEFAULT_ON
441  #else
442  #define SOL_PRINT_ERRORS_I_ SOL_OFF
443  #endif
444 #endif
445 
446 #if defined(SOL_DEFAULT_PASS_ON_ERROR) && (SOL_DEFAULT_PASS_ON_ERROR != 0)
447  #define SOL_DEFAULT_PASS_ON_ERROR_I_ SOL_ON
448 #else
449  #if SOL_IS_ON(SOL_ALL_SAFETIES_ON_I_)
450  #define SOL_DEFAULT_PASS_ON_ERROR_I_ SOL_ON
451  #elif SOL_IS_ON(SOL_DEBUG_BUILD_I_)
452  #define SOL_DEFAULT_PASS_ON_ERROR_I_ SOL_DEFAULT_ON
453  #else
454  #define SOL_DEFAULT_PASS_ON_ERROR_I_ SOL_OFF
455  #endif
456 #endif
457 
458 #if defined(SOL_USING_CXX_LUA)
459  #if (SOL_USING_CXX_LUA != 0)
460  #define SOL_USE_CXX_LUA_I_ SOL_ON
461  #else
462  #define SOL_USE_CXX_LUA_I_ SOL_OFF
463  #endif
464 #elif defined(SOL_USE_CXX_LUA)
465  #if (SOL_USE_CXX_LUA != 0)
466  #define SOL_USE_CXX_LUA_I_ SOL_ON
467  #else
468  #define SOL_USE_CXX_LUA_I_ SOL_OFF
469  #endif
470 #else
471  #define SOL_USE_CXX_LUA_I_ SOL_OFF
472 #endif
473 
474 #if defined(SOL_USING_CXX_LUAJIT)
475  #if (SOL_USING_CXX_LUA != 0)
476  #define SOL_USE_CXX_LUAJIT_I_ SOL_ON
477  #else
478  #define SOL_USE_CXX_LUAJIT_I_ SOL_OFF
479  #endif
480 #elif defined(SOL_USE_CXX_LUAJIT)
481  #if (SOL_USE_CXX_LUA != 0)
482  #define SOL_USE_CXX_LUAJIT_I_ SOL_ON
483  #else
484  #define SOL_USE_CXX_LUAJIT_I_ SOL_OFF
485  #endif
486 #else
487  #define SOL_USE_CXX_LUAJIT_I_ SOL_OFF
488 #endif
489 
490 #if defined(SOL_NO_LUA_HPP)
491  #if (SOL_NO_LUA_HPP != 0)
492  #define SOL_USE_LUA_HPP_I_ SOL_OFF
493  #else
494  #define SOL_USE_LUA_HPP_I_ SOL_ON
495  #endif
496 #elif defined(SOL_USING_CXX_LUA)
497  #define SOL_USE_LUA_HPP_I_ SOL_OFF
498 #elif defined(__has_include)
499  #if __has_include(<lua.hpp>)
500  #define SOL_USE_LUA_HPP_I_ SOL_ON
501  #else
502  #define SOL_USE_LUA_HPP_I_ SOL_OFF
503  #endif
504 #else
505  #define SOL_USE_LUA_HPP_I_ SOL_DEFAULT_ON
506 #endif
507 
508 #if defined(SOL_CONTAINERS_START)
509  #define SOL_CONTAINER_START_INDEX_I_ SOL_CONTAINERS_START
510 #elif defined(SOL_CONTAINERS_START_INDEX)
511  #define SOL_CONTAINER_START_INDEX_I_ SOL_CONTAINERS_START_INDEX
512 #elif defined(SOL_CONTAINER_START_INDEX)
513  #define SOL_CONTAINER_START_INDEX_I_ SOL_CONTAINER_START_INDEX
514 #else
515  #define SOL_CONTAINER_START_INDEX_I_ 1
516 #endif
517 
518 #if defined (SOL_NO_MEMORY_ALIGNMENT)
519  #if (SOL_NO_MEMORY_ALIGNMENT != 0)
520  #define SOL_ALIGN_MEMORY_I_ SOL_OFF
521  #else
522  #define SOL_ALIGN_MEMORY_I_ SOL_ON
523  #endif
524 #else
525  #define SOL_ALIGN_MEMORY_I_ SOL_DEFAULT_ON
526 #endif
527 
528 #if defined(SOL_USE_BOOST)
529  #if (SOL_USE_BOOST != 0)
530  #define SOL_USE_BOOST_I_ SOL_ON
531  #else
532  #define SOL_USE_BOOST_I_ SOL_OFF
533  #endif
534 #else
535  #define SOL_USE_BOOST_I_ SOL_OFF
536 #endif
537 
538 #if defined(SOL_USE_UNSAFE_BASE_LOOKUP)
539  #if (SOL_USE_UNSAFE_BASE_LOOKUP != 0)
540  #define SOL_USE_UNSAFE_BASE_LOOKUP_I_ SOL_ON
541  #else
542  #define SOL_USE_UNSAFE_BASE_LOOKUP_I_ SOL_OFF
543  #endif
544 #else
545  #define SOL_USE_UNSAFE_BASE_LOOKUP_I_ SOL_OFF
546 #endif
547 
548 #if defined(SOL_INSIDE_UNREAL)
549  #if (SOL_INSIDE_UNREAL != 0)
550  #define SOL_INSIDE_UNREAL_ENGINE_I_ SOL_ON
551  #else
552  #define SOL_INSIDE_UNREAL_ENGINE_I_ SOL_OFF
553  #endif
554 #else
555  #if defined(UE_BUILD_DEBUG) || defined(UE_BUILD_DEVELOPMENT) || defined(UE_BUILD_TEST) || defined(UE_BUILD_SHIPPING) || defined(UE_SERVER)
556  #define SOL_INSIDE_UNREAL_ENGINE_I_ SOL_ON
557  #else
558  #define SOL_INSIDE_UNREAL_ENGINE_I_ SOL_DEFAULT_OFF
559  #endif
560 #endif
561 
562 #if defined(SOL_NO_COMPAT)
563  #if (SOL_NO_COMPAT != 0)
564  #define SOL_USE_COMPATIBILITY_LAYER_I_ SOL_OFF
565  #else
566  #define SOL_USE_COMPATIBILITY_LAYER_I_ SOL_ON
567  #endif
568 #else
569  #define SOL_USE_COMPATIBILITY_LAYER_I_ SOL_DEFAULT_ON
570 #endif
571 
572 #if defined(SOL_GET_FUNCTION_POINTER_UNSAFE)
573  #if (SOL_GET_FUNCTION_POINTER_UNSAFE != 0)
574  #define SOL_GET_FUNCTION_POINTER_UNSAFE_I_ SOL_ON
575  #else
576  #define SOL_GET_FUNCTION_POINTER_UNSAFE_I_ SOL_OFF
577  #endif
578 #else
579  #define SOL_GET_FUNCTION_POINTER_UNSAFE_I_ SOL_DEFAULT_OFF
580 #endif
581 
582 #if SOL_IS_ON(SOL_COMPILER_FRONTEND_MINGW_I_) && defined(__GNUC__) && (__GNUC__ < 6)
583  // MinGW is off its rocker in some places...
584  #define SOL_MINGW_CCTYPE_IS_POISONED_I_ SOL_ON
585 #else
586  #define SOL_MINGW_CCTYPE_IS_POISONED_I_ SOL_DEFAULT_OFF
587 #endif
588 
589 // end of sol/version.hpp
590 
591 #include <utility>
592 #include <type_traits>
593 #include <string_view>
594 
595 #if SOL_IS_ON(SOL_USE_CXX_LUA_I_) || SOL_IS_ON(SOL_USE_CXX_LUAJIT_I_)
596 struct lua_State;
597 #else
598 extern "C" {
599 struct lua_State;
600 }
601 #endif // C++ Mangling for Lua vs. Not
602 
603 namespace sol {
604 
605  enum class type;
606 
607  class stateless_reference;
608  template <bool b>
613  class stack_reference;
614 
615  template <typename A>
617 
618  struct lua_value;
619 
620  struct proxy_base_tag;
621  template <typename>
622  struct proxy_base;
623  template <typename, typename>
624  struct table_proxy;
625 
626  template <bool, typename>
628  template <bool b>
630  template <bool b>
632  template <bool b>
634  template <typename base_type>
642 
643  template <typename>
647 
648  template <typename T, typename base_type>
650  template <typename T>
652  template <typename T>
654 
655  template <typename base_type>
659 
660  template <typename base_t>
665 
666  template <typename T, bool>
668  template <typename T, bool, typename H>
682 #if SOL_IS_ON(SOL_SAFE_FUNCTION_OBJECTS_I_)
683  using function = protected_function;
687 #else
688  using function = unsafe_function;
692 #endif
694 
695  struct unsafe_function_result;
698 #if SOL_IS_ON(SOL_SAFE_FUNCTION_OBJECTS_I_)
700 #else
702 #endif
703 
704  template <typename base_t>
706  template <typename base_t>
708  template <typename base_t>
710  template <typename base_t>
712  template <typename base_t>
714  template <typename base_t>
716 
717  using object = basic_object<reference>;
731 
732  struct stack_proxy_base;
733  struct stack_proxy;
734  struct variadic_args;
735  struct variadic_results;
736  struct stack_count;
737  struct this_state;
738  struct this_main_state;
739  struct this_environment;
740 
741  class state_view;
742  class state;
743 
744  template <typename T>
745  struct as_table_t;
746  template <typename T>
748  template <typename T>
749  struct nested;
750  template <typename T>
751  struct light;
752  template <typename T>
753  struct user;
754  template <typename T>
755  struct as_args_t;
756  template <typename T>
757  struct protect_t;
758  template <typename F, typename... Policies>
760 
761  template <typename T>
763  template <typename T>
765 
766  template <typename... Args>
767  struct types {
768  typedef std::make_index_sequence<sizeof...(Args)> indices;
769  static constexpr std::size_t size() {
770  return sizeof...(Args);
771  }
772  };
773 
774  template <typename T>
775  struct derive : std::false_type {
776  typedef types<> type;
777  };
778 
779  template <typename T>
780  struct base : std::false_type {
781  typedef types<> type;
782  };
783 
784  template <typename T>
785  struct weak_derive {
786  static bool value;
787  };
788 
789  template <typename T>
790  bool weak_derive<T>::value = false;
791 
792  namespace stack {
793  struct record;
794  }
795 
796 #if SOL_IS_OFF(SOL_USE_BOOST_I_)
797  template <class T>
798  class optional;
799 
800  template <class T>
801  class optional<T&>;
802 #endif
803 
804  using check_handler_type = int(lua_State*, int, type, type, const char*);
805 
806 } // namespace sol
807 
808 #define SOL_BASE_CLASSES(T, ...) \
809  namespace sol { \
810  template <> \
811  struct base<T> : std::true_type { \
812  typedef ::sol::types<__VA_ARGS__> type; \
813  }; \
814  } \
815  void a_sol3_detail_function_decl_please_no_collide()
816 #define SOL_DERIVED_CLASSES(T, ...) \
817  namespace sol { \
818  template <> \
819  struct derive<T> : std::true_type { \
820  typedef ::sol::types<__VA_ARGS__> type; \
821  }; \
822  } \
823  void a_sol3_detail_function_decl_please_no_collide()
824 
825 #endif // SOL_FORWARD_HPP
826 // end of sol/forward.hpp
827 
828 #endif // SOL_SINGLE_INCLUDE_FORWARD_HPP
types type
Definition: forward.hpp:776
type
Definition: sol.hpp:7176
protected_function_result safe_function_result
Definition: forward.hpp:697
basic_function< stack_reference, false > stack_unsafe_function
Definition: forward.hpp:674
int(lua_State *, int, type, type, const char *) check_handler_type
Definition: forward.hpp:804
std::make_index_sequence< sizeof...(Args)> indices
Definition: forward.hpp:768
static bool value
Definition: forward.hpp:786
basic_protected_function< main_reference, false, reference > main_safe_function
Definition: forward.hpp:673
basic_protected_function< stack_reference, true, reference > stack_aligned_safe_function
Definition: forward.hpp:677
main_safe_function main_protected_function
Definition: forward.hpp:679
basic_protected_function< stack_reference, false, reference > stack_safe_function
Definition: forward.hpp:675
safe_function protected_function
Definition: forward.hpp:678
stack_safe_function stack_protected_function
Definition: forward.hpp:680
basic_protected_function< reference, false, reference > safe_function
Definition: forward.hpp:671
types type
Definition: forward.hpp:781
basic_function< stack_reference, true > stack_aligned_unsafe_function
Definition: forward.hpp:676
basic_function< main_reference, false > main_unsafe_function
Definition: forward.hpp:672
basic_function< reference, false > unsafe_function
Definition: forward.hpp:670
static constexpr std::size_t size()
Definition: forward.hpp:769
Definition: forward.hpp:603


plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Dec 6 2020 03:47:34