diff options
Diffstat (limited to 'src/lua/luaopen_types.h')
-rw-r--r-- | src/lua/luaopen_types.h | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/lua/luaopen_types.h b/src/lua/luaopen_types.h index be59157..78083c6 100644 --- a/src/lua/luaopen_types.h +++ b/src/lua/luaopen_types.h @@ -64,11 +64,14 @@ namespace lua T* obj = (T*)object; delete obj; } - T& operator *() - { - T* obj = (T*)object; - return *obj; - } + T* operator->() + { + return (T*)object; + } + T* getObject() + { + return (T*)object; + } private: Ref(const Ref<T>& ref); }; @@ -97,12 +100,12 @@ namespace lua template<class T> Ref<T>& getRef() { - Ref<T>* ref = (Ref<T>*) reference; - return *ref; + return *(Ref<T>*) reference; } - Reference* reference; // acctual object binded const char* type; // type name and metatable name + Reference* reference; // acctual object binded + }; } // lua |