From 22bb9b537caff927ef8c83bde82d58253ffbb1e4 Mon Sep 17 00:00:00 2001 From: chai Date: Sat, 18 Aug 2018 22:15:27 +0800 Subject: *update --- src/lua/common/Reference.hpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'src/lua/common/Reference.hpp') diff --git a/src/lua/common/Reference.hpp b/src/lua/common/Reference.hpp index 7647a3f..feb96bb 100644 --- a/src/lua/common/Reference.hpp +++ b/src/lua/common/Reference.hpp @@ -6,7 +6,7 @@ namespace jin namespace lua { - /*abstract*/class Reference + /*abstract*/class RefBase { public: void retain() @@ -20,29 +20,34 @@ namespace lua delete this; } + // object type string + const char* const type; + protected: - Reference(void* obj) + RefBase(void* obj, const char* t) : count(1) , object(obj) + , type(t) { } - Reference(const Reference&); - virtual ~Reference() + RefBase(const RefBase&); + + virtual ~RefBase() { } void* object; - int count; + int count; }; template - class Ref : public Reference + class Ref : public RefBase { public: - Ref(T* obj) - : Reference(obj) + Ref(T* obj, const char* type) + : RefBase(obj, type) { } -- cgit v1.1-26-g67d0