summaryrefslogtreecommitdiffhomepage
path: root/src/kernel/NeKit/Ref.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-12-22 07:38:52 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-12-22 07:42:26 +0100
commit36dee4f0d8ea806b2f061ed66a89e812ab007ed2 (patch)
tree8fe0f6895abb96eb40ee390d6411099b4decf489 /src/kernel/NeKit/Ref.h
parentf7023f6a08e117d483b5928fd4301062a3384abf (diff)
feat: test: Add `kout` test and rename DeviceInterface to IDevice in KernelKit.
introduce UserPtr and unburden vettable by removing the IVettable helper. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/kernel/NeKit/Ref.h')
-rw-r--r--src/kernel/NeKit/Ref.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/kernel/NeKit/Ref.h b/src/kernel/NeKit/Ref.h
index b4d6cb5e..2010f3e9 100644
--- a/src/kernel/NeKit/Ref.h
+++ b/src/kernel/NeKit/Ref.h
@@ -26,7 +26,9 @@ class Ref final {
~Ref() = default;
public:
- using Type = T;
+ using Type = T;
+ using ConstType = const T&;
+ using RefType = T&;
Ref(Type* cls) : fClass(*cls) {}
Ref(Type cls) : fClass(cls) {}
@@ -50,7 +52,10 @@ class Ref final {
Type& Leak() { return fClass; }
- Type& TryLeak() { return fClass; }
+ Type& TryLeak() {
+ MUST_PASS(fClass);
+ return fClass;
+ }
Type operator*() { return fClass; }