27 #ifndef SOL_SINGLE_INCLUDE_FORWARD_HPP 28 #define SOL_SINGLE_INCLUDE_FORWARD_HPP 32 #ifndef SOL_FORWARD_HPP 33 #define SOL_FORWARD_HPP 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)) 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) 54 #define SOL_DEFAULT_ON + 55 #define SOL_DEFAULT_OFF - 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 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 79 #if defined(__MINGW32__) 80 #define SOL_COMPILER_FRONTEND_MINGW_I_ SOL_ON 82 #define SOL_COMPILER_FRONTEND_MINGW_I_ SOL_OFF 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 94 #define SOL_PLATFORM_X16_I_ SOL_OFF 95 #define SOL_PLATFORM_X86_I_ SOL_OFF 96 #define SOL_PLATFORM_X64_I_ SOL_ON 99 #define SOL_PLATFORM_ARM32_I_ SOL_OFF 100 #define SOL_PLATFORM_ARM64_I_ SOL_OFF 103 #define SOL_PLATFORM_WINDOWS_I_ SOL_ON 105 #define SOL_PLATFORM_WINDOWS_I_ SOL_OFF 107 #if defined(__APPLE__) 108 #define SOL_PLATFORM_APPLE_I_ SOL_ON 110 #define SOL_PLATFORM_APPLE_I_ SOL_OFF 112 #if defined(__unix__) 113 #define SOL_PLATFORM_UNIXLIKE_I_ SOL_ON 115 #define SOL_PLATFORM_UNIXLIKE_I_ SOL_OFF 117 #if defined(__linux__) 118 #define SOL_PLATFORM_LINUXLIKE_I_ SOL_ON 120 #define SOL_PLATFORM_LINUXLIKE_I_ SOL_OFF 123 #define SOL_PLATFORM_APPLE_IPHONE_I_ SOL_OFF 124 #define SOL_PLATFORM_BSDLIKE_I_ SOL_OFF 126 #if defined(SOL_IN_DEBUG_DETECTED) 127 #if SOL_IN_DEBUG_DETECTED != 0 128 #define SOL_DEBUG_BUILD_I_ SOL_ON 130 #define SOL_DEBUG_BUILD_I_ SOL_OFF 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 138 #define SOL_DEBUG_BUILD_I_ SOL_OFF 141 #define SOL_DEBUG_BUILD_I_ SOL_DEFAULT_OFF 142 #endif // We are in a debug mode of some sort 144 #if defined(SOL_NO_EXCEPTIONS) 145 #if (SOL_NO_EXCEPTIONS != 0) 146 #define SOL_EXCEPTIONS_I_ SOL_OFF 148 #define SOL_EXCEPTIONS_I_ SOL_ON 150 #elif SOL_IS_ON(SOL_COMPILER_VCXX_I_) 151 #if !defined(_CPPUNWIND) 152 #define SOL_EXCEPTIONS_I_ SOL_OFF 154 #define SOL_EXCEPTIONS_I_ SOL_ON 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 160 #define SOL_EXCEPTIONS_I_ SOL_ON 163 #define SOL_EXCEPTIONS_I_ SOL_DEFAULT_ON 166 #if defined(SOL_NO_RTTI) 167 #if (SOL_NO_RTTI != 0) 168 #define SOL_RTTI_I_ SOL_OFF 170 #define SOL_RTTI_I_ SOL_ON 172 #elif SOL_IS_ON(SOL_COMPILER_VCXX_I_) 173 #if !defined(_CPPRTTI) 174 #define SOL_RTTI_I_ SOL_OFF 176 #define SOL_RTTI_I_ SOL_ON 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 182 #define SOL_RTTI_I_ SOL_ON 185 #define SOL_RTTI_I_ SOL_DEFAULT_ON 188 #if defined(SOL_NO_THREAD_LOCAL) && (SOL_NO_THREAD_LOCAL != 0) 189 #define SOL_USE_THREAD_LOCAL_I_ SOL_OFF 191 #define SOL_USE_THREAD_LOCAL_I_ SOL_DEFAULT_ON 192 #endif // thread_local keyword is bjorked on some platforms 194 #if defined(SOL_ALL_SAFETIES_ON) && (SOL_ALL_SAFETIES_ON != 0) 195 #define SOL_ALL_SAFETIES_ON_I_ SOL_ON 197 #define SOL_ALL_SAFETIES_ON_I_ SOL_DEFAULT_OFF 200 #if defined(SOL_SAFE_GETTER) && (SOL_SAFE_GETTER != 0) 201 #define SOL_SAFE_GETTER_I_ SOL_ON 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 208 #define SOL_SAFE_GETTER_I_ SOL_DEFAULT_OFF 212 #if defined(SOL_SAFE_USERTYPE) && (SOL_SAFE_USERTYPE != 0) 213 #define SOL_SAFE_USERTYPE_I_ SOL_ON 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 220 #define SOL_SAFE_USERTYPE_I_ SOL_DEFAULT_OFF 224 #if defined(SOL_SAFE_REFERENCES) && (SOL_SAFE_REFERENCES != 0) 225 #define SOL_SAFE_REFERENCES_I_ SOL_ON 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 232 #define SOL_SAFE_REFERENCES_I_ SOL_DEFAULT_OFF 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 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 245 #define SOL_SAFE_FUNCTION_OBJECTS_I_ SOL_DEFAULT_OFF 249 #if defined(SOL_SAFE_FUNCTION_CALLS) && (SOL_SAFE_FUNCTION_CALLS != 0) 250 #define SOL_SAFE_FUNCTION_CALLS_I_ SOL_ON 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 257 #define SOL_SAFE_FUNCTION_CALLS_I_ SOL_DEFAULT_OFF 261 #if defined(SOL_SAFE_PROXIES) && (SOL_SAFE_PROXIES != 0) 262 #define SOL_SAFE_PROXIES_I_ SOL_ON 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 269 #define SOL_SAFE_PROXIES_I_ SOL_DEFAULT_OFF 273 #if defined(SOL_SAFE_NUMERICS) && (SOL_SAFE_NUMERICS != 0) 274 #define SOL_SAFE_NUMERICS_I_ SOL_ON 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 281 #define SOL_SAFE_NUMERICS_I_ SOL_DEFAULT_OFF 285 #if defined(SOL_SAFE_STACK_CHECK) && (SOL_SAFE_STACK_CHECK != 0) 286 #define SOL_SAFE_STACK_CHECK_I_ SOL_ON 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 293 #define SOL_SAFE_STACK_CHECK_I_ SOL_DEFAULT_OFF 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 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 308 #define SOL_NUMBER_PRECISION_CHECKS_I_ SOL_DEFAULT_OFF 312 #if defined(SOL_STRINGS_ARE_NUMBERS) 313 #if (SOL_STRINGS_ARE_NUMBERS != 0) 314 #define SOL_STRINGS_ARE_NUMBERS_I_ SOL_ON 316 #define SOL_STRINGS_ARE_NUMBERS_I_ SOL_OFF 319 #define SOL_STRINGS_ARE_NUMBERS_I_ SOL_DEFAULT_OFF 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 326 #define SOL_USE_INTEROP_I_ SOL_DEFAULT_OFF 329 #if defined(SOL_NO_NIL) 330 #if (SOL_NO_NIL != 0) 331 #define SOL_NIL_I_ SOL_OFF 333 #define SOL_NIL_I_ SOL_ON 335 #elif defined(__MAC_OS_X_VERSION_MAX_ALLOWED) || defined(__OBJC__) || defined(nil) 336 #define SOL_NIL_I_ SOL_DEFAULT_OFF 338 #define SOL_NIL_I_ SOL_DEFAULT_ON 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 345 #define SOL_USERTYPE_TYPE_BINDING_INFO_I_ SOL_OFF 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 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 355 #define SOL_DEFAULT_AUTOMAGICAL_USERTYPES_I_ SOL_OFF 357 #elif defined(SOL_DEFAULT_AUTOMAGICAL_USERTYPES) 358 #if (SOL_DEFAULT_AUTOMAGICAL_USERTYPES != 0) 359 #define SOL_DEFAULT_AUTOMAGICAL_USERTYPES_I_ SOL_ON 361 #define SOL_DEFAULT_AUTOMAGICAL_USERTYPES_I_ SOL_OFF 364 #define SOL_DEFAULT_AUTOMAGICAL_USERTYPES_I_ SOL_DEFAULT_ON 365 #endif // make is_automagical on/off by default 367 #if defined(SOL_STD_VARIANT) 368 #if (SOL_STD_VARIANT != 0) 369 #define SOL_STD_VARIANT_I_ SOL_ON 371 #define SOL_STD_VARIANT_I_ SOL_OFF 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 379 #define SOL_STD_VARIANT_I_ SOL_OFF 382 #define SOL_STD_VARIANT_I_ SOL_OFF 385 #define SOL_STD_VARIANT_I_ SOL_DEFAULT_ON 387 #endif // make is_automagical on/off by default 389 #if defined(SOL_NOEXCEPT_FUNCTION_TYPE) 390 #if (SOL_NOEXCEPT_FUNCTION_TYPE != 0) 391 #define SOL_USE_NOEXCEPT_FUNCTION_TYPE_I_ SOL_ON 393 #define SOL_USE_NOEXCEPT_FUNCTION_TYPE_I_ SOL_OFF 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)) 404 #define SOL_USE_NOEXCEPT_FUNCTION_TYPE_I_ SOL_OFF 406 #define SOL_USE_NOEXCEPT_FUNCTION_TYPE_I_ SOL_DEFAULT_ON 408 #endif // noexcept is part of a function's type 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 413 #define SOL_OPTIMIZATION_STRING_CONVERSION_STACK_SIZE_I_ 1024 416 #if defined(SOL_ID_SIZE) && SOL_ID_SIZE > 0 417 #define SOL_ID_SIZE_I_ SOL_ID_SIZE 419 #define SOL_ID_SIZE_I_ 512 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 427 #define SOL_FILE_ID_SIZE_I_ 2048 430 #if defined(SOL_PRINT_ERRORS) 431 #if (SOL_PRINT_ERRORS != 0) 432 #define SOL_PRINT_ERRORS_I_ SOL_ON 434 #define SOL_PRINT_ERRORS_I_ SOL_OFF 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 442 #define SOL_PRINT_ERRORS_I_ SOL_OFF 446 #if defined(SOL_DEFAULT_PASS_ON_ERROR) && (SOL_DEFAULT_PASS_ON_ERROR != 0) 447 #define SOL_DEFAULT_PASS_ON_ERROR_I_ SOL_ON 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 454 #define SOL_DEFAULT_PASS_ON_ERROR_I_ SOL_OFF 458 #if defined(SOL_USING_CXX_LUA) 459 #if (SOL_USING_CXX_LUA != 0) 460 #define SOL_USE_CXX_LUA_I_ SOL_ON 462 #define SOL_USE_CXX_LUA_I_ SOL_OFF 464 #elif defined(SOL_USE_CXX_LUA) 465 #if (SOL_USE_CXX_LUA != 0) 466 #define SOL_USE_CXX_LUA_I_ SOL_ON 468 #define SOL_USE_CXX_LUA_I_ SOL_OFF 471 #define SOL_USE_CXX_LUA_I_ SOL_OFF 474 #if defined(SOL_USING_CXX_LUAJIT) 475 #if (SOL_USING_CXX_LUA != 0) 476 #define SOL_USE_CXX_LUAJIT_I_ SOL_ON 478 #define SOL_USE_CXX_LUAJIT_I_ SOL_OFF 480 #elif defined(SOL_USE_CXX_LUAJIT) 481 #if (SOL_USE_CXX_LUA != 0) 482 #define SOL_USE_CXX_LUAJIT_I_ SOL_ON 484 #define SOL_USE_CXX_LUAJIT_I_ SOL_OFF 487 #define SOL_USE_CXX_LUAJIT_I_ SOL_OFF 490 #if defined(SOL_NO_LUA_HPP) 491 #if (SOL_NO_LUA_HPP != 0) 492 #define SOL_USE_LUA_HPP_I_ SOL_OFF 494 #define SOL_USE_LUA_HPP_I_ SOL_ON 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 502 #define SOL_USE_LUA_HPP_I_ SOL_OFF 505 #define SOL_USE_LUA_HPP_I_ SOL_DEFAULT_ON 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 515 #define SOL_CONTAINER_START_INDEX_I_ 1 518 #if defined (SOL_NO_MEMORY_ALIGNMENT) 519 #if (SOL_NO_MEMORY_ALIGNMENT != 0) 520 #define SOL_ALIGN_MEMORY_I_ SOL_OFF 522 #define SOL_ALIGN_MEMORY_I_ SOL_ON 525 #define SOL_ALIGN_MEMORY_I_ SOL_DEFAULT_ON 528 #if defined(SOL_USE_BOOST) 529 #if (SOL_USE_BOOST != 0) 530 #define SOL_USE_BOOST_I_ SOL_ON 532 #define SOL_USE_BOOST_I_ SOL_OFF 535 #define SOL_USE_BOOST_I_ SOL_OFF 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 542 #define SOL_USE_UNSAFE_BASE_LOOKUP_I_ SOL_OFF 545 #define SOL_USE_UNSAFE_BASE_LOOKUP_I_ SOL_OFF 548 #if defined(SOL_INSIDE_UNREAL) 549 #if (SOL_INSIDE_UNREAL != 0) 550 #define SOL_INSIDE_UNREAL_ENGINE_I_ SOL_ON 552 #define SOL_INSIDE_UNREAL_ENGINE_I_ SOL_OFF 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 558 #define SOL_INSIDE_UNREAL_ENGINE_I_ SOL_DEFAULT_OFF 562 #if defined(SOL_NO_COMPAT) 563 #if (SOL_NO_COMPAT != 0) 564 #define SOL_USE_COMPATIBILITY_LAYER_I_ SOL_OFF 566 #define SOL_USE_COMPATIBILITY_LAYER_I_ SOL_ON 569 #define SOL_USE_COMPATIBILITY_LAYER_I_ SOL_DEFAULT_ON 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 576 #define SOL_GET_FUNCTION_POINTER_UNSAFE_I_ SOL_OFF 579 #define SOL_GET_FUNCTION_POINTER_UNSAFE_I_ SOL_DEFAULT_OFF 582 #if SOL_IS_ON(SOL_COMPILER_FRONTEND_MINGW_I_) && defined(__GNUC__) && (__GNUC__ < 6) 584 #define SOL_MINGW_CCTYPE_IS_POISONED_I_ SOL_ON 586 #define SOL_MINGW_CCTYPE_IS_POISONED_I_ SOL_DEFAULT_OFF 592 #include <type_traits> 593 #include <string_view> 595 #if SOL_IS_ON(SOL_USE_CXX_LUA_I_) || SOL_IS_ON(SOL_USE_CXX_LUAJIT_I_) 601 #endif // C++ Mangling for Lua vs. Not 615 template <
typename A>
623 template <
typename,
typename>
626 template <
bool,
typename>
634 template <
typename base_type>
648 template <
typename T,
typename base_type>
650 template <
typename T>
652 template <
typename T>
655 template <
typename base_type>
660 template <
typename base_t>
666 template <
typename T,
bool>
668 template <
typename T,
bool,
typename H>
682 #if SOL_IS_ON(SOL_SAFE_FUNCTION_OBJECTS_I_) 698 #if SOL_IS_ON(SOL_SAFE_FUNCTION_OBJECTS_I_) 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>
744 template <
typename T>
746 template <
typename T>
748 template <
typename T>
750 template <
typename T>
752 template <
typename T>
754 template <
typename T>
756 template <
typename T>
758 template <
typename F,
typename... Policies>
761 template <
typename T>
763 template <
typename T>
766 template <
typename... Args>
768 typedef std::make_index_sequence<
sizeof...(Args)>
indices;
769 static constexpr std::size_t
size() {
770 return sizeof...(Args);
774 template <
typename T>
779 template <
typename T>
780 struct base : std::false_type {
784 template <
typename T>
789 template <
typename T>
796 #if SOL_IS_OFF(SOL_USE_BOOST_I_) 808 #define SOL_BASE_CLASSES(T, ...) \ 811 struct base<T> : std::true_type { \ 812 typedef ::sol::types<__VA_ARGS__> type; \ 815 void a_sol3_detail_function_decl_please_no_collide() 816 #define SOL_DERIVED_CLASSES(T, ...) \ 819 struct derive<T> : std::true_type { \ 820 typedef ::sol::types<__VA_ARGS__> type; \ 823 void a_sol3_detail_function_decl_please_no_collide() 825 #endif // SOL_FORWARD_HPP 828 #endif // SOL_SINGLE_INCLUDE_FORWARD_HPP
protected_function_result safe_function_result
basic_function< stack_reference, false > stack_unsafe_function
int(lua_State *, int, type, type, const char *) check_handler_type
std::make_index_sequence< sizeof...(Args)> indices
basic_protected_function< main_reference, false, reference > main_safe_function
basic_protected_function< stack_reference, true, reference > stack_aligned_safe_function
main_safe_function main_protected_function
basic_protected_function< stack_reference, false, reference > stack_safe_function
safe_function protected_function
stack_safe_function stack_protected_function
basic_protected_function< reference, false, reference > safe_function
basic_function< stack_reference, true > stack_aligned_unsafe_function
basic_function< main_reference, false > main_unsafe_function
basic_function< reference, false > unsafe_function
static constexpr std::size_t size()