summaryrefslogtreecommitdiff
path: root/Runner/Scripting/luax_reftable.h
diff options
context:
space:
mode:
Diffstat (limited to 'Runner/Scripting/luax_reftable.h')
-rw-r--r--Runner/Scripting/luax_reftable.h67
1 files changed, 0 insertions, 67 deletions
diff --git a/Runner/Scripting/luax_reftable.h b/Runner/Scripting/luax_reftable.h
deleted file mode 100644
index 58e4b9c..0000000
--- a/Runner/Scripting/luax_reftable.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef __LUAX_REFTABLE_H__
-#define __LUAX_REFTABLE_H__
-
-#include "luax_config.h"
-
-namespace Luax
-{
-
- class LuaxState;
-
- ///
- /// ref table 管理,对strong ref table和weak ref table两个table的代理。
- ///
- class LuaxRefTable
- {
- public:
-
- enum
- {
- WEAK_KEY = 1,
- WEAK_VALUE = 1 << 1
- };
-
- LuaxRefTable();
- ~LuaxRefTable();
-
- inline operator bool() { return mState; };
-
- void Init(LuaxState& state, cc8* name, cc8* mode = nullptr);
-
- bool IsKeyWeak();
- bool IsValueWeak();
-
- ///
- /// 对stack[idx]的实体在此ref table中增加一个引用,并返回refID
- ///
- int Ref(LuaxState& state, int idx);
- void Unref(LuaxState& state, int refID);
-
- ///
- /// 将此 ref table 放在栈顶
- ///
- void PushRefTable(LuaxState& state);
-
- ///
- /// 将 reftable[refID] 放在栈顶
- ///
- void PushRef(LuaxState& state, int refID);
-
- ///
- /// 清空 ref table,表还留在LUA_REGISTRYINDEX[mName]
- ///
- void Clear(LuaxState& state);
-
- private:
-
- friend class LuaxState;
-
- lua_State* mState; // 用来做一些确认工作
- cc8* mName; // ref table的名称
- int mMode; // ref table的类型
-
- };
-
-}
-
-#endif \ No newline at end of file