diff --git a/AK/Optional.h b/AK/Optional.h index 7399b2ee4b..9dbef306fb 100644 --- a/AK/Optional.h +++ b/AK/Optional.h @@ -96,6 +96,13 @@ public: return released_value; } + T value_or(const T& fallback) const + { + if (has_value()) + return value(); + return fallback; + } + private: char m_storage[sizeof(T)] __attribute__((aligned(sizeof(T)))); bool m_has_value { false };