From 2d470857b42e8ef48b749c57308b1458f424f5db Mon Sep 17 00:00:00 2001 From: ThePhD Date: Tue, 23 Apr 2019 10:29:59 -0400 Subject: [PATCH] something something nice things --- include/sol/stack_get_unqualified.hpp | 20 ++++++++++++++++---- single/include/sol/forward.hpp | 4 ++-- single/include/sol/sol.hpp | 24 ++++++++++++++++++------ 3 files changed, 36 insertions(+), 12 deletions(-) diff --git a/include/sol/stack_get_unqualified.hpp b/include/sol/stack_get_unqualified.hpp index 2197757c..9495bcd5 100644 --- a/include/sol/stack_get_unqualified.hpp +++ b/include/sol/stack_get_unqualified.hpp @@ -153,10 +153,6 @@ namespace sol { namespace stack { Real* mem = static_cast(memory); return *mem; } - else if constexpr(std::is_pointer_v && std::is_void_v>) { - tracking.use(1); - return lua_touserdata(L, index); - } else { return stack_detail::unchecked_unqualified_get>(L, index, tracking); } @@ -839,6 +835,22 @@ namespace sol { namespace stack { } }; + template <> + struct unqualified_getter { + static void* get(lua_State* L, int index, record& tracking) { + tracking.use(1); + return lua_touserdata(L, index); + } + }; + + template <> + struct unqualified_getter { + static const void* get(lua_State* L, int index, record& tracking) { + tracking.use(1); + return lua_touserdata(L, index); + } + }; + template struct unqualified_getter> { static T* get_no_lua_nil(lua_State* L, int index, record& tracking) { diff --git a/single/include/sol/forward.hpp b/single/include/sol/forward.hpp index b21c5843..ccfeadcc 100644 --- a/single/include/sol/forward.hpp +++ b/single/include/sol/forward.hpp @@ -20,8 +20,8 @@ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // This file was generated with a script. -// Generated 2019-04-23 14:18:30.819548 UTC -// This header was generated with sol v3.0.1-beta2 (revision 47bc7f6) +// Generated 2019-04-23 14:29:43.918566 UTC +// This header was generated with sol v3.0.1-beta2 (revision 468ac36) // https://github.com/ThePhD/sol2 #ifndef SOL_SINGLE_INCLUDE_FORWARD_HPP diff --git a/single/include/sol/sol.hpp b/single/include/sol/sol.hpp index e03f2425..b50f195a 100644 --- a/single/include/sol/sol.hpp +++ b/single/include/sol/sol.hpp @@ -20,8 +20,8 @@ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // This file was generated with a script. -// Generated 2019-04-23 14:18:30.519015 UTC -// This header was generated with sol v3.0.1-beta2 (revision 47bc7f6) +// Generated 2019-04-23 14:29:43.637794 UTC +// This header was generated with sol v3.0.1-beta2 (revision 468ac36) // https://github.com/ThePhD/sol2 #ifndef SOL_SINGLE_INCLUDE_HPP @@ -11590,10 +11590,6 @@ namespace sol { namespace stack { Real* mem = static_cast(memory); return *mem; } - else if constexpr(std::is_pointer_v && std::is_void_v>) { - tracking.use(1); - return lua_touserdata(L, index); - } else { return stack_detail::unchecked_unqualified_get>(L, index, tracking); } @@ -12276,6 +12272,22 @@ namespace sol { namespace stack { } }; + template <> + struct unqualified_getter { + static void* get(lua_State* L, int index, record& tracking) { + tracking.use(1); + return lua_touserdata(L, index); + } + }; + + template <> + struct unqualified_getter { + static const void* get(lua_State* L, int index, record& tracking) { + tracking.use(1); + return lua_touserdata(L, index); + } + }; + template struct unqualified_getter> { static T* get_no_lua_nil(lua_State* L, int index, record& tracking) {