diff options
| author | Amlal El Mahrouss <zka-holder@mahrouss-logic.com> | 2024-10-14 05:58:38 +0000 |
|---|---|---|
| committer | Amlal El Mahrouss <zka-holder@mahrouss-logic.com> | 2024-10-14 05:58:38 +0000 |
| commit | 7ad3739afdfaa2466723467f5ef2526f171c87c3 (patch) | |
| tree | 37775f4299281598b0f5121df4c188392daebd04 /dev/zka/NewKit | |
| parent | 7477a0f942c374b652da4f80cdb36d4661aac3c8 (diff) | |
| parent | d9d82713326069478e6dd212763d1fac15e65370 (diff) | |
Merge branch 'port-stage1-hello-world' into 'unstable'
IMP: Basic ARM64 port.
See merge request mahrouss/zka-dev!20
Diffstat (limited to 'dev/zka/NewKit')
| -rw-r--r-- | dev/zka/NewKit/ErrorOr.hxx | 2 | ||||
| -rw-r--r-- | dev/zka/NewKit/Ref.hxx | 23 | ||||
| -rw-r--r-- | dev/zka/NewKit/String.hxx | 1 |
3 files changed, 12 insertions, 14 deletions
diff --git a/dev/zka/NewKit/ErrorOr.hxx b/dev/zka/NewKit/ErrorOr.hxx index e280cb77..ae475316 100644 --- a/dev/zka/NewKit/ErrorOr.hxx +++ b/dev/zka/NewKit/ErrorOr.hxx @@ -34,7 +34,7 @@ namespace Kernel } explicit ErrorOr(T Class) - : mRef(Class, true) + : mRef(Class) { } diff --git a/dev/zka/NewKit/Ref.hxx b/dev/zka/NewKit/Ref.hxx index 31941d50..b374fe73 100644 --- a/dev/zka/NewKit/Ref.hxx +++ b/dev/zka/NewKit/Ref.hxx @@ -18,12 +18,17 @@ namespace Kernel class Ref final { public: - Ref() = default; - ~Ref() = default; + Ref() = default; + + ~Ref() + { + if (mm_is_valid_heap(fClass)) + delete fClass; + } public: - Ref(T cls, const Bool& strong = false) - : fClass(&cls), fStrong(strong) + Ref(T cls) + : fClass(&cls) { } @@ -59,19 +64,13 @@ namespace Kernel return *fClass; } - bool IsStrong() const - { - return fStrong; - } - operator bool() noexcept { - return fStrong; + return fClass; } private: T* fClass{nullptr}; - Bool fStrong{false}; }; template <typename T> @@ -82,7 +81,7 @@ namespace Kernel NonNullRef(nullPtr) = delete; NonNullRef(T* ref) - : fRef(ref, true) + : fRef(ref) { MUST_PASS(ref); } diff --git a/dev/zka/NewKit/String.hxx b/dev/zka/NewKit/String.hxx index 184ccc42..80f3b279 100644 --- a/dev/zka/NewKit/String.hxx +++ b/dev/zka/NewKit/String.hxx @@ -83,7 +83,6 @@ namespace Kernel struct StringBuilder final { static ErrorOr<StringView> Construct(const Char* data); - static const Char* FromInt(const Char* fmt, int n); static const Char* FromBool(const Char* fmt, bool n); static const Char* Format(const Char* fmt, const Char* from); static bool Equals(const Char* lhs, const Char* rhs); |
