From da70596895d8135e08f8caac6978117697b4c021 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sun, 18 Aug 2024 21:39:29 +0200 Subject: [REFACTOR] Improved project structure. Signed-off-by: Amlal El Mahrouss --- dev/Kernel/NewKit/OwnPtr.hxx | 94 -------------------------------------------- 1 file changed, 94 deletions(-) delete mode 100644 dev/Kernel/NewKit/OwnPtr.hxx (limited to 'dev/Kernel/NewKit/OwnPtr.hxx') diff --git a/dev/Kernel/NewKit/OwnPtr.hxx b/dev/Kernel/NewKit/OwnPtr.hxx deleted file mode 100644 index 6e42b33f..00000000 --- a/dev/Kernel/NewKit/OwnPtr.hxx +++ /dev/null @@ -1,94 +0,0 @@ - -/* ------------------------------------------- - - Copyright ZKA Technologies. - -------------------------------------------- */ - -#pragma once - -#include -#include -#include - -namespace Kernel -{ - template - class OwnPtr; - - template - class NonNullRefPtr; - - template - class OwnPtr final - { - public: - OwnPtr() - { - } - ~OwnPtr() - { - this->Delete(); - } - - OwnPtr& operator=(const OwnPtr&) = default; - OwnPtr(const OwnPtr&) = default; - - public: - template - bool New(Args&&... arg) - { - if (fCls) - { - return false; - } - - fCls = new T(arg...); - return fCls; - } - - void Delete() - { - if (fCls) - delete fCls; - - fCls = nullptr; - } - - T* operator->() const - { - return fCls; - }; - T* Raw() - { - return fCls; - } - - Ref AsRef() - { - return Ref(fCls); - } - - operator bool() - { - return fCls; - } - bool operator!() - { - return !fCls; - } - - private: - T* fCls; - }; - - template - OwnPtr make_ptr(Args... args) - { - OwnPtr ret; - ret.template New(forward(args)...); - MUST_PASS(ret); - - return ret; - } -} // namespace Kernel -- cgit v1.2.3