meta: avoid multiple lookups

This commit is contained in:
Michele Caini
2024-07-31 08:32:28 +02:00
parent ebd077f71c
commit eb6e29167d

View File

@@ -74,8 +74,10 @@ protected:
}
void data(const id_type id, meta_data_node node) {
if(auto it = details->data.find(id); it == details->data.end() || it->second.set != node.set || it->second.get != node.get) {
if(auto it = details->data.find(id); it == details->data.end()) {
details->data.insert_or_assign(id, std::move(node));
} else if(it->second.set != node.set || it->second.get != node.get) {
it->second = std::move(node);
}
invoke = nullptr;