AK/Error: Add value_or convenience method

- In the style of Optional::value_or
- Only const& flavor
- WARNING: no unit test (no unit tests for Error), but seems benign
This commit is contained in:
Manuel Zahariev 2025-03-10 14:41:43 -07:00
parent 6f1710121d
commit bfe7d423c6

View file

@ -169,6 +169,12 @@ public:
return m_value_or_error.template get<T>();
}
T const& value() const { return m_value_or_error.template get<T>(); }
[[nodiscard]] ALWAYS_INLINE T const& value_or(T const& fallback) const
{
if (is_error())
return fallback;
return m_value_or_error.template get<T>();
}
ErrorType& error() { return m_value_or_error.template get<ErrorType>(); }
ErrorType const& error() const { return m_value_or_error.template get<ErrorType>(); }