1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 00:57:45 +00:00

AK: Let ErrorOr<T, E> expose its result/error types

`ErrorOr<T, E>::ResultType` can now refer to `T`.
This commit is contained in:
Ali Mohammad Pur 2022-12-10 15:29:20 +03:30 committed by Ali Mohammad Pur
parent c3b4b0e88b
commit 537924a8d0

View file

@ -72,9 +72,12 @@ private:
bool m_syscall { false }; bool m_syscall { false };
}; };
template<typename T, typename ErrorType> template<typename T, typename E>
class [[nodiscard]] ErrorOr { class [[nodiscard]] ErrorOr {
public: public:
using ResultType = T;
using ErrorType = E;
ErrorOr() ErrorOr()
requires(IsSame<T, Empty>) requires(IsSame<T, Empty>)
: m_value_or_error(Empty {}) : m_value_or_error(Empty {})
@ -146,6 +149,7 @@ private:
template<typename ErrorType> template<typename ErrorType>
class [[nodiscard]] ErrorOr<void, ErrorType> : public ErrorOr<Empty, ErrorType> { class [[nodiscard]] ErrorOr<void, ErrorType> : public ErrorOr<Empty, ErrorType> {
public: public:
using ResultType = void;
using ErrorOr<Empty, ErrorType>::ErrorOr; using ErrorOr<Empty, ErrorType>::ErrorOr;
}; };