diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-29 21:38:33 -0500 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-29 21:38:33 -0500 |
| commit | b456c928fecf78157270b052e441a427f06afdda (patch) | |
| tree | 2dbea485a392789fc67aa590f8a7afb9f263be3c /src/kernel/NeKit/OwnPtr.h | |
| parent | bb303088aa2ed0693e19e93158155dd85783ce76 (diff) | |
feat: kernel: Introduce Vet.h, better Ref.h, and more improved containers for better kernel code.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
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)...); |
