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