From b456c928fecf78157270b052e441a427f06afdda Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sat, 29 Nov 2025 21:38:33 -0500 Subject: feat: kernel: Introduce Vet.h, better Ref.h, and more improved containers for better kernel code. Signed-off-by: Amlal El Mahrouss --- src/kernel/NeKit/OwnPtr.h | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'src/kernel/NeKit/OwnPtr.h') diff --git a/src/kernel/NeKit/OwnPtr.h b/src/kernel/NeKit/OwnPtr.h index bec2813b..30c8f9eb 100644 --- a/src/kernel/NeKit/OwnPtr.h +++ b/src/kernel/NeKit/OwnPtr.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include #include @@ -21,8 +21,8 @@ class NonNullRefPtr; template class OwnPtr final { public: - OwnPtr() {} - ~OwnPtr() { this->Delete(); } + OwnPtr() = default; + ~OwnPtr() { this->Reset(); } OwnPtr& operator=(const OwnPtr&) = default; OwnPtr(const OwnPtr&) = default; @@ -38,9 +38,8 @@ class OwnPtr final { return fCls; } - void Delete() { + void Reset() { if (fCls) delete fCls; - fCls = nullptr; } @@ -50,15 +49,15 @@ class OwnPtr final { Ref AsRef() { return Ref(fCls); } - operator bool() { return fCls; } + explicit operator bool() { return fCls; } bool operator!() { return !fCls; } private: - T* fCls; + T* fCls{nullptr}; }; template -inline OwnPtr mm_make_own_ptr(Args... args) { +inline OwnPtr make_ptr(Args... args) { OwnPtr ret; ret.template New(forward(args)...); -- cgit v1.2.3