|
|
|
@ -146,6 +146,14 @@ constexpr bool operator!=(const ResultCode& a, const ResultCode& b) {
|
|
|
|
|
/// The default success `ResultCode`.
|
|
|
|
|
constexpr ResultCode RESULT_SUCCESS(0);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Placeholder result code used for unknown error codes.
|
|
|
|
|
*
|
|
|
|
|
* @note This should only be used when a particular error code
|
|
|
|
|
* is not known yet.
|
|
|
|
|
*/
|
|
|
|
|
constexpr ResultCode RESULT_UNKNOWN(UINT32_MAX);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* This is an optional value type. It holds a `ResultCode` and, if that code is a success code,
|
|
|
|
|
* also holds a result of type `T`. If the code is an error code then trying to access the inner
|
|
|
|
@ -183,7 +191,7 @@ class ResultVal {
|
|
|
|
|
public:
|
|
|
|
|
/// Constructs an empty `ResultVal` with the given error code. The code must not be a success
|
|
|
|
|
/// code.
|
|
|
|
|
ResultVal(ResultCode error_code = ResultCode(UINT32_MAX)) : result_code(error_code) {
|
|
|
|
|
ResultVal(ResultCode error_code = RESULT_UNKNOWN) : result_code(error_code) {
|
|
|
|
|
ASSERT(error_code.IsError());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|