summaryrefslogtreecommitdiffhomepage
path: root/src/kernel/NeKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-11-30 09:51:43 -0500
committerAmlal El Mahrouss <amlal@nekernel.org>2025-11-30 09:54:07 -0500
commitd3892e80f787f86062733bd8ad3e725fb548d6fe (patch)
tree25029f4e491e3da39b6ce66760f8742ad73f16d2 /src/kernel/NeKit
parentba3cd2194412914936c1c00efe87391d0615cd17 (diff)
chore: added new aliases for OwnPtr and ErrorOr (OwnOr)
chore: use STATIC_PASS instead of static_assert in /src/kernel. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/kernel/NeKit')
-rw-r--r--src/kernel/NeKit/KernelPanic.h8
-rw-r--r--src/kernel/NeKit/OwnPtr.h6
2 files changed, 8 insertions, 6 deletions
diff --git a/src/kernel/NeKit/KernelPanic.h b/src/kernel/NeKit/KernelPanic.h
index cba8897c..a12ff73c 100644
--- a/src/kernel/NeKit/KernelPanic.h
+++ b/src/kernel/NeKit/KernelPanic.h
@@ -9,11 +9,8 @@
#include <NeKit/Config.h>
-namespace Kernel {
-void ke_runtime_check(bool expr, const Char* file, const Char* line);
-}
-
-#define MUST_PASS_COMPILER(EXPR, MSG) static_assert(EXPR, MSG)
+/// @brief Checks during compile time whether a condition passes.
+#define STATIC_PASS(EXPR, MSG) static_assert(EXPR, MSG)
#ifdef TRY
#undef TRY
@@ -65,5 +62,6 @@ enum RUNTIME_CHECK {
typedef enum RUNTIME_CHECK RTL_RUNTIME_CHECK;
namespace Kernel {
+void ke_runtime_check(bool expr, const Char* file, const Char* line);
void ke_panic(const Int32& id, const Char* message = nullptr);
} // namespace Kernel
diff --git a/src/kernel/NeKit/OwnPtr.h b/src/kernel/NeKit/OwnPtr.h
index 2c493b1b..18a31bd1 100644
--- a/src/kernel/NeKit/OwnPtr.h
+++ b/src/kernel/NeKit/OwnPtr.h
@@ -10,6 +10,7 @@
#include <NeKit/Config.h>
#include <NeKit/KernelPanic.h>
#include <NeKit/Ref.h>
+#include <NeKit/ErrorOr.h>
namespace Kernel {
template <typename T>
@@ -56,8 +57,11 @@ class OwnPtr final {
T* fCls{nullptr};
};
+template <typename T>
+using OwnOr = ErrorOr<OwnPtr<T>>;
+
template <typename T, typename... Args>
-inline OwnPtr<T> make_ptr(Args... args) {
+inline OwnPtr<T> make_ptr(Args&&... args) {
OwnPtr<T> ret;
ret.template New<Args...>(forward(args)...);