diff options
Diffstat (limited to 'dev/Kernel/NewKit/ErrorOr.hxx')
| -rw-r--r-- | dev/Kernel/NewKit/ErrorOr.hxx | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/dev/Kernel/NewKit/ErrorOr.hxx b/dev/Kernel/NewKit/ErrorOr.hxx deleted file mode 100644 index ae2763b2..00000000 --- a/dev/Kernel/NewKit/ErrorOr.hxx +++ /dev/null @@ -1,72 +0,0 @@ -/* - * ======================================================== - * - * Kernel - * Copyright ZKA Technologies., all rights reserved. - * - * ======================================================== - */ - -#pragma once - -#include <NewKit/Defines.hxx> -#include <NewKit/Ref.hxx> - -namespace Kernel -{ - using ErrorT = UInt; - - template <typename T> - class ErrorOr final - { - public: - ErrorOr() = default; - ~ErrorOr() = default; - - public: - explicit ErrorOr(Int32 err) - : mId(err) - { - } - - explicit ErrorOr(nullPtr Null) - { - } - - explicit ErrorOr(T Class) - : mRef(Class, true) - { - } - - ErrorOr& operator=(const ErrorOr&) = default; - ErrorOr(const ErrorOr&) = default; - - ErrorOr& operator=(const Ref<T>& refErr) - { - mRef = refErr; - return *this; - } - - Ref<T>& Leak() - { - return mRef; - } - - Int32 Error() - { - return mId; - } - - operator bool() - { - return mRef; - } - - private: - Ref<T> mRef; - Int32 mId{0}; - }; - - using ErrorOrAny = ErrorOr<voidPtr>; - -} // namespace Kernel |
