Squashed 'deps/nostalgia/' changes from c90a8449..050339ba

050339ba [nostalgia] Update developer-handbook
45ec39f7 [ox/std] Add Result::orVal
319fbb26 [nostalgia] Add .lldbinit
f43d97a1 [nostalgia] Add missing type descriptors
a0974637 [nostalgia] Add missing test tilesheets

git-subtree-dir: deps/nostalgia
git-subtree-split: 050339ba09966cb9fa04747ee7bad3258bd42e55
This commit is contained in:
2023-12-23 19:12:16 -06:00
parent 2036ec55cb
commit b7278c3d04
10 changed files with 298 additions and 8 deletions

View File

@ -264,6 +264,54 @@ struct [[nodiscard]] Result {
return f(std::move(value));
}
/**
* Returns parameter alt if Result contains an error.
* @param alt
* @return value of Result or alt
*/
constexpr T orVal(T &&alt) & noexcept {
if (error) {
return std::move(alt);
}
return value;
}
/**
* Returns parameter alt if Result contains an error.
* @param alt
* @return value of Result or alt
*/
constexpr T orVal(T &&alt) && noexcept {
if (error) {
return std::move(alt);
}
return std::move(value);
}
/**
* Returns parameter alt if Result contains an error.
* @param alt
* @return value of Result or alt
*/
constexpr T orVal(T const&alt) & noexcept {
if (error) {
return alt;
}
return value;
}
/**
* Returns parameter alt if Result contains an error.
* @param alt
* @return value of Result or alt
*/
constexpr T orVal(T const&alt) && noexcept {
if (error) {
return alt;
}
return std::move(value);
}
};
namespace detail {