summaryrefslogtreecommitdiff
path: root/source/3rd-party/Luax/luax_state.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/3rd-party/Luax/luax_state.h')
-rw-r--r--source/3rd-party/Luax/luax_state.h17
1 files changed, 8 insertions, 9 deletions
diff --git a/source/3rd-party/Luax/luax_state.h b/source/3rd-party/Luax/luax_state.h
index b6d1ff0..dc3b79f 100644
--- a/source/3rd-party/Luax/luax_state.h
+++ b/source/3rd-party/Luax/luax_state.h
@@ -27,6 +27,10 @@ namespace Luax
{
public:
+ LuaxState(lua_State* state);
+ LuaxState(const LuaxState& state);
+ virtual ~LuaxState();
+
inline lua_State* operator ->() { return mState; };
inline lua_State& operator *() { return *mState; };
inline operator lua_State*() { return mState; }
@@ -192,22 +196,18 @@ namespace Luax
void RegisterPlainEnumRegistry(cc8* name);
#endif
- //------------------------------------------------------------------------------//
-
protected:
friend class LuaxVM;
- LuaxState(lua_State* state);
- LuaxState(const LuaxState& state);
- virtual ~LuaxState();
-
///
/// ζLuaxStateĵַز
///
void* operator &();
void* operator new(size_t size);
+ //------------------------------------------------------------------------------//
+
lua_State* const mState;
};
@@ -252,12 +252,11 @@ namespace Luax
/// ڳԱﴴLuaxStateԲм顣
///
#define LUAX_SETUP(L, params) \
- LuaxRuntime& runtime = LuaxRuntime::Get(); \
- LuaxState& state = runtime[L].state; \
+ Luax::LuaxState state(L); \
if(!state.CheckParams(1, params)) return 0
#define LUAX_STATE(L) \
- Luax::LuaxState& state = Luax::LuaxRuntime::Get().GetLuaxState(L)
+ Luax::LuaxState state(L)
//--------------------------------------------------------------------------------//