summaryrefslogtreecommitdiff
path: root/Runtime/LuaBind/LuaBindRef.h
diff options
context:
space:
mode:
Diffstat (limited to 'Runtime/LuaBind/LuaBindRef.h')
-rw-r--r--Runtime/LuaBind/LuaBindRef.h62
1 files changed, 0 insertions, 62 deletions
diff --git a/Runtime/LuaBind/LuaBindRef.h b/Runtime/LuaBind/LuaBindRef.h
deleted file mode 100644
index 93b30be..0000000
--- a/Runtime/LuaBind/LuaBindRef.h
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef __LUA_BIND_REF_H__
-#define __LUA_BIND_REF_H__
-
-#include "LuaBindConfig.h"
-#include "LuaBindState.h"
-
-namespace LuaBind
-{
-
- //
- // 引用,存在LUA_REGISTRYINDEX下面的两个表里
- //
- class Ref
- {
- public:
-
- enum RefMode
- {
- STRONG_REF,
- WEAK_REF
- };
-
- Ref(int mode = STRONG_REF);
- virtual ~Ref();
-
- operator bool();
-
- void SetRef(State& state, int idx);
- bool PushRef(State& state);
-
- int GetRefID();
-
- private:
-
- int mRefID; // luaL_ref
- int mMode; // strong or weak
-
- };
-
- //
- // 强引用,在LUA_REGISTRYINDEX["_LUA_BIND_STRONGREF_TABLE"]里,保证lua object不会被回收。
- //
- class StrongRef: public Ref
- {
- public:
- StrongRef();
-
- };
-
- //
- // 弱引用,在LUA_REGISTRYINDEX["_LUA_BIND_WEAKREF_TABLE"]里,不影响lua object的回收,只是作为一个方便取lua object的映射。
- //
- class WeakRef : public Ref
- {
- public:
- WeakRef();
-
- };
-
-}
-
-#endif \ No newline at end of file