sol.hpp 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. // The MIT License (MIT)
  2. // Copyright (c) 2013-2022 Rapptz, ThePhD and contributors
  3. // Permission is hereby granted, free of charge, to any person obtaining a copy of
  4. // this software and associated documentation files (the "Software"), to deal in
  5. // the Software without restriction, including without limitation the rights to
  6. // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
  7. // the Software, and to permit persons to whom the Software is furnished to do so,
  8. // subject to the following conditions:
  9. // The above copyright notice and this permission notice shall be included in all
  10. // copies or substantial portions of the Software.
  11. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  12. // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
  13. // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
  14. // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
  15. // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  16. // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  17. #ifndef SOL_HPP
  18. #define SOL_HPP
  19. #include <sol/version.hpp>
  20. #if SOL_IS_ON(SOL_INSIDE_UNREAL_ENGINE)
  21. #ifdef check
  22. #pragma push_macro("check")
  23. #undef check
  24. #endif
  25. #endif // Unreal Engine 4 Bullshit
  26. #if SOL_IS_ON(SOL_COMPILER_GCC)
  27. #pragma GCC diagnostic push
  28. #pragma GCC diagnostic ignored "-Wshadow"
  29. #pragma GCC diagnostic ignored "-Wconversion"
  30. #if __GNUC__ > 6
  31. #pragma GCC diagnostic ignored "-Wnoexcept-type"
  32. #endif
  33. #elif SOL_IS_ON(SOL_COMPILER_CLANG)
  34. // we'll just let this alone for now
  35. #elif SOL_IS_ON(SOL_COMPILER_VCXX)
  36. #pragma warning(push)
  37. #pragma warning(disable : 4505) // unreferenced local function has been removed GEE THANKS
  38. #endif // clang++ vs. g++ vs. VC++
  39. #include <sol/forward.hpp>
  40. #include <sol/forward_detail.hpp>
  41. #include <sol/assert.hpp>
  42. #include <sol/bytecode.hpp>
  43. #include <sol/stack.hpp>
  44. #include <sol/object.hpp>
  45. #include <sol/function.hpp>
  46. #include <sol/protected_function.hpp>
  47. #include <sol/usertype.hpp>
  48. #include <sol/table.hpp>
  49. #include <sol/state.hpp>
  50. #include <sol/coroutine.hpp>
  51. #include <sol/thread.hpp>
  52. #include <sol/userdata.hpp>
  53. #include <sol/metatable.hpp>
  54. #include <sol/as_args.hpp>
  55. #include <sol/variadic_args.hpp>
  56. #include <sol/variadic_results.hpp>
  57. #include <sol/lua_value.hpp>
  58. #if SOL_IS_ON(SOL_COMPILER_GCC)
  59. #pragma GCC diagnostic pop
  60. #elif SOL_IS_ON(SOL_COMPILER_CLANG)
  61. // we'll just let this alone for now
  62. #elif SOL_IS_ON(SOL_COMPILER_VCXX)
  63. #pragma warning(pop)
  64. #endif // g++
  65. #if SOL_IS_ON(SOL_INSIDE_UNREAL_ENGINE)
  66. #undef check
  67. #pragma pop_macro("check")
  68. #endif // Unreal Engine 4 Bullshit
  69. #endif // SOL_HPP