From c467671ae8b6ec161c17e86f3383fd0625f755b8 Mon Sep 17 00:00:00 2001 From: Clyne Sullivan Date: Fri, 19 Aug 2022 19:48:10 -0400 Subject: remove sol2 (will re-add as submodule) --- lib/sol2/examples/source/self_from_lua.cpp | 56 ------------------------------ 1 file changed, 56 deletions(-) delete mode 100644 lib/sol2/examples/source/self_from_lua.cpp (limited to 'lib/sol2/examples/source/self_from_lua.cpp') diff --git a/lib/sol2/examples/source/self_from_lua.cpp b/lib/sol2/examples/source/self_from_lua.cpp deleted file mode 100644 index f3af69d..0000000 --- a/lib/sol2/examples/source/self_from_lua.cpp +++ /dev/null @@ -1,56 +0,0 @@ -#define SOL_ALL_SAFETIES_ON 1 -#include - -#include "assert.hpp" - -// NOTE: -// There are TWO ways to retrieve the "this" -// object from calls, when it comes to constructors and regular member functions -// please pay attention to both: this is a low-level operation! - -int main() { - struct thing { - - thing(sol::this_state ts) { - lua_State* L = ts; - // references the object that called this function - // in constructors: - sol::stack_object selfobj(L, -1); - // the -1 (NEGATIVE one) above - // means "off the top fo the stack" - // (-1 is the top, -2 is one below, etc...) - - // definitely the same - thing& self = selfobj.as(); - c_assert(&self == this); - } - - void func(sol::this_state ts) const { - lua_State* L = ts; - // references the object that called this function - // in regular member functions: - sol::stack_object selfobj(L, 1); - // "1" is the bottom of the Lua stack - // 2 is one up, so on and so forth... - thing& self = selfobj.as(); - - // definitely the same - c_assert(&self == this); - } - }; - - sol::state lua; - lua.open_libraries(sol::lib::base); - - lua.new_usertype("thing", - sol::constructors(), - "func", &thing::func - ); - - lua.script(R"( -obj = thing.new() -obj:func() - )"); - - return 0; -} -- cgit v1.2.3