diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-29 21:40:49 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-29 21:40:49 -0500 |
| commit | e0e8acd3db4ba1d50384f26305c6cc9021652840 (patch) | |
| tree | 2dbea485a392789fc67aa590f8a7afb9f263be3c /src/kernel/NeKit/OwnPtr.h | |
| parent | 44ad26b648a79503303c596bb20a6995255dc630 (diff) | |
| parent | b456c928fecf78157270b052e441a427f06afdda (diff) | |
Merge pull request #94 from nekernel-org/dev
Vet.h and Ref.h
Diffstat (limited to 'src/kernel/NeKit/OwnPtr.h')
| -rw-r--r-- | src/kernel/NeKit/OwnPtr.h | 15 |
1 files changed, 7 insertions, 8 deletions
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 <NeKit/Defines.h> +#include <NeKit/Config.h> #include <NeKit/KernelPanic.h> #include <NeKit/Ref.h> @@ -21,8 +21,8 @@ class NonNullRefPtr; template <typename T> 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<T> AsRef() { return Ref<T>(fCls); } - operator bool() { return fCls; } + explicit operator bool() { return fCls; } bool operator!() { return !fCls; } private: - T* fCls; + T* fCls{nullptr}; }; template <typename T, typename... Args> -inline OwnPtr<T> mm_make_own_ptr(Args... args) { +inline OwnPtr<T> make_ptr(Args... args) { OwnPtr<T> ret; ret.template New<Args...>(forward(args)...); |
