stack_reference(lua_State* L, const stack_reference& r) noexcept : luastate(L) { if (!r.valid()) { index = 0; return; } int i = r.stack_index(); if (detail::xmovable(lua_state(), r.lua_state())) { lua_pushvalue(r.lua_state(), r.index); lua_xmove(r.lua_state(), luastate, 1); i = absolute_index(luastate, -1); } index = i; }
inline bool operator!=(const lua_nil_t&, const stack_reference& rhs) { return rhs.valid(); }
inline bool operator!=(const stack_reference& lhs, const lua_nil_t&) { return lhs.valid(); }