registry: remove useless check when invoking patch

This commit is contained in:
Michele Caini
2022-07-21 10:19:36 +02:00
parent f882158387
commit d6edc64d65

View File

@@ -806,12 +806,12 @@ public:
*/
template<typename Type, typename... Args>
decltype(auto) emplace_or_replace(const entity_type entt, Args &&...args) {
ENTT_ASSERT(valid(entt), "Invalid entity");
auto &cpool = assure<Type>();
return cpool.contains(entt)
? cpool.patch(entt, [&args...](auto &...curr) { ((curr = Type{std::forward<Args>(args)...}), ...); })
: cpool.emplace(entt, std::forward<Args>(args)...);
if (auto& cpool = assure<Type>(); cpool.contains(entt)) {
return cpool.patch(entt, [&args...](auto &...curr) { ((curr = Type{std::forward<Args>(args)...}), ...); });
} else {
ENTT_ASSERT(valid(entt), "Invalid entity");
return cpool.emplace(entt, std::forward<Args>(args)...);
}
}
/**