diff options
Diffstat (limited to 'Runtime/Scripting/LuaBindWatchDog.h')
| -rw-r--r-- | Runtime/Scripting/LuaBindWatchDog.h | 33 | 
1 files changed, 33 insertions, 0 deletions
diff --git a/Runtime/Scripting/LuaBindWatchDog.h b/Runtime/Scripting/LuaBindWatchDog.h new file mode 100644 index 0000000..f8b32cb --- /dev/null +++ b/Runtime/Scripting/LuaBindWatchDog.h @@ -0,0 +1,33 @@ +#ifndef __LUA_BIND_DOG_H__ +#define __LUA_BIND_DOG_H__ + +#include "LuaBindConfig.h" + +namespace LuaBind +{ + +	/// +	/// LuaBindNativeClass实例的引用计数额watch dog,只有在watch dog通过时才可以delete。 +	/// +	class LuaBindWatchDog +	{ +	public:  +		LuaBindWatchDog() +			: mVMRef(0) +			, mNativeRef(0) +		{ +		} + +		inline operator bool() +		{ +			return mVMRef == 0 && mNativeRef == 0; +		} + +		uint mVMRef;     // 托管给的虚拟机数 +		uint mNativeRef; // 本地引用数 + +	}; + +} + +#endif
\ No newline at end of file  | 
