diff options
author | clyne <clyne@bitgloo.com> | 2022-11-17 07:41:09 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-17 07:41:09 -0500 |
commit | 6663c25633a27fcc14d0648bd1afea7ea12f497f (patch) | |
tree | dcc2ec993db3c4b75c3e7e3df35b0494a9ce1f32 /lib/sol2/examples/source/self_from_lua.cpp | |
parent | da0913771538fd9b1ca538615fd9aa0388608466 (diff) | |
parent | 57013add5b7c524086272be7d395f9ec5109bde2 (diff) |
Lib cleanup
Diffstat (limited to 'lib/sol2/examples/source/self_from_lua.cpp')
-rw-r--r-- | lib/sol2/examples/source/self_from_lua.cpp | 56 |
1 files changed, 0 insertions, 56 deletions
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 <sol/sol.hpp> - -#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<thing>(); - 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<thing>(); - - // definitely the same - c_assert(&self == this); - } - }; - - sol::state lua; - lua.open_libraries(sol::lib::base); - - lua.new_usertype<thing>("thing", - sol::constructors<thing(sol::this_state)>(), - "func", &thing::func - ); - - lua.script(R"( -obj = thing.new() -obj:func() - )"); - - return 0; -} |