Makes TryGetVariant use an std::optional
All checks were successful
continuous-integration/drone/push Build is passing

Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
This commit is contained in:
2020-12-12 14:12:50 +01:00
parent 4367d1f5cf
commit 29d6632472
3 changed files with 25 additions and 23 deletions

View File

@@ -31,17 +31,19 @@ export bool CreatureLib_CreatureSpecies_HasVariantWithHash(const CreatureSpecies
}
export bool CreatureLib_CreatureSpecies_TryGetVariant(const CreatureSpecies* p, const char* name,
const SpeciesVariant*& out) {
ArbUt::BorrowedPtr<const SpeciesVariant> o;
auto res = p->TryGetVariant(ArbUt::StringView::CalculateHash(name), o);
out = o.GetRaw();
return res;
auto res = p->TryGetVariant(ArbUt::StringView::CalculateHash(name));
if (!res.has_value())
return false;
out = res.value();
return true;
}
export bool CreatureLib_CreatureSpecies_TryGetVariantWithHash(const CreatureSpecies* p, uint32_t hash,
const SpeciesVariant*& out) {
ArbUt::BorrowedPtr<const SpeciesVariant> o;
auto res = p->TryGetVariant(hash, o);
out = o.GetRaw();
return res;
auto res = p->TryGetVariant(hash);
if (!res.has_value())
return false;
out = res.value();
return true;
}
export uint8_t CreatureLib_CreatureSpecies_GetVariant(const SpeciesVariant*& out, const CreatureSpecies* p,