summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-08-22 04:28:21 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-08-22 04:28:21 +0200
commitc194049e5b39c2c249f3c290dc365f502dc156ac (patch)
treef93a1bcb86c8b0cbb3834f6cc6730255de725e8f
parentb6ce3d25357b4e01daf212a955a6093133bc2fe4 (diff)
feat: Add `KStringOr` alias, and `mm_make_own_ptr` doesn't use `MUST_PASS`
anymore. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
-rw-r--r--dev/kernel/NeKit/KString.h3
-rw-r--r--dev/kernel/NeKit/MutableArray.h20
-rw-r--r--dev/kernel/NeKit/OwnPtr.h1
3 files changed, 12 insertions, 12 deletions
diff --git a/dev/kernel/NeKit/KString.h b/dev/kernel/NeKit/KString.h
index 35bdce97..bbe49f8e 100644
--- a/dev/kernel/NeKit/KString.h
+++ b/dev/kernel/NeKit/KString.h
@@ -73,7 +73,8 @@ class BasicKString final {
friend class KStringBuilder;
};
-using KString = BasicKString<>;
+using KString = BasicKString<>;
+using KStringOr = ErrorOr<KString>;
class KStringBuilder final {
public:
diff --git a/dev/kernel/NeKit/MutableArray.h b/dev/kernel/NeKit/MutableArray.h
index 8dee6e03..02c8dc2d 100644
--- a/dev/kernel/NeKit/MutableArray.h
+++ b/dev/kernel/NeKit/MutableArray.h
@@ -9,21 +9,21 @@
#include <NeKit/Array.h>
#include <NeKit/Defines.h>
-#define TRY_FIND_NODE(NAME, NODE) \
+#define RTL_TRY_FIND_NODE(NAME, NODE) \
auto* NAME = NODE; \
while (NAME) { \
if (NAME->fIndex == Index) return NAME->fVal; \
NAME = NAME->fNext; \
}
-#define TRY_FIND_NODE2(NAME, NODE) \
+#define RTL_TRY_FIND_NODE2(NAME, NODE) \
auto* NAME = NODE; \
while (NAME) { \
if (NAME->fIndex == Index) return Ref<T>{NAME->fVal}; \
NAME = NAME->fNext; \
}
-#define TRY_REMOVE_NODE(NODE) \
+#define RTL_TRY_REMOVE_NODE(NODE) \
if (NODE && NODE->fIndex == Index) { \
NODE->fUsed = false; \
NODE->fIndex = 0; \
@@ -31,7 +31,7 @@
return true; \
}
-// FIXME: this is a shitty algorithm, which is consumer hungry.
+// FIXME: this is a shitty algorithm, because it is memory heavy.
// Remove and occurences of that, and remove that class.
namespace Kernel {
template <typename T>
@@ -81,8 +81,8 @@ class NullableMutableArray {
public:
T operator[](SizeT Index) const {
- TRY_FIND_NODE(first, fFirstNode);
- TRY_FIND_NODE(last, fLastNode);
+ RTL_TRY_FIND_NODE(first, fFirstNode);
+ RTL_TRY_FIND_NODE(last, fLastNode);
return _PlaceHolderValue;
}
@@ -91,8 +91,8 @@ class NullableMutableArray {
public:
Boolean Remove(SizeT Index) {
- TRY_REMOVE_NODE(fFirstNode);
- TRY_REMOVE_NODE(fLastNode);
+ RTL_TRY_REMOVE_NODE(fFirstNode);
+ RTL_TRY_REMOVE_NODE(fLastNode);
return false;
}
@@ -172,8 +172,8 @@ class MutableArray : public NullableMutableArray<voidPtr, nullptr> {
public:
Ref<T> operator[](SizeT Index) const {
- TRY_FIND_NODE2(first, fFirstNode);
- TRY_FIND_NODE2(last, fLastNode);
+ RTL_TRY_FIND_NODE2(first, fFirstNode);
+ RTL_TRY_FIND_NODE2(last, fLastNode);
return {};
}
diff --git a/dev/kernel/NeKit/OwnPtr.h b/dev/kernel/NeKit/OwnPtr.h
index 674f9ff3..22435118 100644
--- a/dev/kernel/NeKit/OwnPtr.h
+++ b/dev/kernel/NeKit/OwnPtr.h
@@ -61,7 +61,6 @@ template <typename T, typename... Args>
inline OwnPtr<T> mm_make_own_ptr(Args... args) {
OwnPtr<T> ret;
ret.template New<Args...>(forward(args)...);
- MUST_PASS(ret);
return ret;
}