From dc2493e7525bb7633f697ef10f72b72b46222249 Mon Sep 17 00:00:00 2001 From: Andy Belle-Isle Date: Fri, 30 Aug 2019 00:45:36 -0400 Subject: Forget what I said, I just need to change git attributes to mark for vendor --- .../source/customization_convert_on_get.cpp | 54 ---------------------- 1 file changed, 54 deletions(-) delete mode 100644 deps/sol2/examples/source/customization_convert_on_get.cpp (limited to 'deps/sol2/examples/source/customization_convert_on_get.cpp') diff --git a/deps/sol2/examples/source/customization_convert_on_get.cpp b/deps/sol2/examples/source/customization_convert_on_get.cpp deleted file mode 100644 index da2b5da..0000000 --- a/deps/sol2/examples/source/customization_convert_on_get.cpp +++ /dev/null @@ -1,54 +0,0 @@ -#define SOL_ALL_SAFETIES_ON 1 -#include - -#include -#include -#include "assert.hpp" - -struct number_shim { - double num = 0; -}; - -template -bool sol_lua_check(sol::types, lua_State* L, int index, Handler&& handler, sol::stack::record& tracking) { - // check_usertype is a backdoor for directly checking sol3 usertypes - if (!sol::stack::check_usertype(L, index) - && !sol::stack::check(L, index)) { - handler(L, index, sol::type_of(L, index), sol::type::userdata, "expected a number_shim or a number"); - return false; - } - tracking.use(1); - return true; -} - -number_shim sol_lua_get(sol::types, lua_State* L, int index, sol::stack::record& tracking) { - if (sol::stack::check_usertype(L, index)) { - number_shim& ns = sol::stack::get_usertype(L, index, tracking); - return ns; - } - number_shim ns{}; - ns.num = sol::stack::get(L, index, tracking); - return ns; -} - -int main() { - sol::state lua; - - // Create a pass-through style of function - lua.safe_script("function f ( a ) return a end"); - lua.set_function("g", [](double a) { - number_shim ns; - ns.num = a; - return ns; - }); - - lua.script("vf = f(25) vg = g(35)"); - - number_shim thingsf = lua["vf"]; - number_shim thingsg = lua["vg"]; - - c_assert(thingsf.num == 25); - c_assert(thingsg.num == 35); - - return 0; -} -- cgit v1.2.3