@@ -1212,6 +1212,36 @@ namespace geode {
12121212 return !(*this == other);
12131213 }
12141214
1215+ // / @brief Unwraps the Ok value from the Result
1216+ // / @throw UnwrapException if the Result is Err
1217+ // / @return the Ok value
1218+ // / @note Same behavior as Result::unwrap()
1219+ constexpr decltype (auto ) operator *() && noexcept
1220+ requires (!std::same_as<OkType, void >)
1221+ {
1222+ return std::move (*this ).unwrap ();
1223+ }
1224+
1225+ // / @brief Unwraps the Ok value from the Result
1226+ // / @throw UnwrapException if the Result is Err
1227+ // / @return the Ok value
1228+ // / @note Same behavior as Result::unwrap()
1229+ constexpr decltype (auto ) operator *() & noexcept
1230+ requires (!std::same_as<OkType, void >)
1231+ {
1232+ return this ->unwrap ();
1233+ }
1234+
1235+ // / @brief Unwraps the Ok value from the Result
1236+ // / @throw UnwrapException if the Result is Err
1237+ // / @return the Ok value
1238+ // / @note Same behavior as Result::unwrap()
1239+ constexpr decltype (auto ) operator *() const & noexcept
1240+ requires (!std::same_as<OkType, void >)
1241+ {
1242+ return this ->unwrap ();
1243+ }
1244+
12151245 // / @brief Returns true if the Result is Ok and the Ok value satisfies the predicate
12161246 // / @param predicate the predicate to check the Ok value against
12171247 // / @return true if the Result is Ok and the Ok value satisfies the predicate
0 commit comments