Procházet zdrojové kódy

meta: avoid multiple lookups

Michele Caini před 1 rokem
rodič
revize
eb6e29167d
1 změnil soubory, kde provedl 3 přidání a 1 odebrání
  1. 3 1
      src/entt/meta/factory.hpp

+ 3 - 1
src/entt/meta/factory.hpp

@@ -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;