From 405604179de7f54e9a2a9bc86a4d46d5ab1579c0 Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Sun, 17 Sep 2017 15:23:44 +0200 Subject: [PATCH] [DEBUG] continue removing STL --- ememory/UniquePtr.hpp | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/ememory/UniquePtr.hpp b/ememory/UniquePtr.hpp index e2c5d7d..39cfe4e 100644 --- a/ememory/UniquePtr.hpp +++ b/ememory/UniquePtr.hpp @@ -41,24 +41,33 @@ namespace ememory { reset(); return *this; } - UniquePtr& operator=(UniquePtr _obj) { + UniquePtr& operator=(UniquePtr&& _obj) { reset(); - m_pointer = etk::move(_obj.release()); + m_pointer = _obj.m_pointer; + _obj.m_pointer = nullptr; return *this; } + /* template - UniquePtr& operator=(UniquePtr _obj){ + UniquePtr& operator=(UniquePtr& _obj){ reset(); - m_pointer = etk::move(_obj.m_pointer); + m_pointer = _obj.m_pointer; + _obj.m_pointer = nullptr; return *this; - } - EMEM_UPTR_TYPE operator*() const{ + }*/ + const EMEM_UPTR_TYPE& operator*() const { return *m_pointer; } - EMEM_UPTR_TYPE *operator->() const{ + EMEM_UPTR_TYPE& operator*() { + return *m_pointer; + } + const EMEM_UPTR_TYPE* operator->() const { return m_pointer; } - EMEM_UPTR_TYPE *get() const{ + EMEM_UPTR_TYPE* operator->() { + return m_pointer; + } + EMEM_UPTR_TYPE* get() const{ return m_pointer; } EMEM_UPTR_TYPE *release(){