summaryrefslogtreecommitdiff
path: root/Runtime/Lua/LuaBind/LuaBindMemberRef.h
blob: 37fe413b45e1c03bee56b634c526022a8c07ac41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef __LUA_BIND_MEMBER_REF_H__
#define __LUA_BIND_MEMBER_REF_H__

#include "LuaBindConfig.h"

namespace LuaBind
{

	// 实例的ref table保存的member ref。由luax class做具体的管理。实例的ref table是强引用,用来管理里面member的生命周期。
	// 用来在lua和native之间进行数据沟通。
	// 不会由于循环引用而内存泄露,因为lua的GC是tracing GC
	class MemberRef
	{
	public:
		MemberRef();
		~MemberRef();

		inline operator bool() { return refID != LUA_NOREF; };

		int refID;

	};

}

#endif