Selaa lähdekoodia

meta: drop meta_func_node::watermark, compare pointers to invoke instead

Michele Caini 3 vuotta sitten
vanhempi
commit
560a3f664e
2 muutettua tiedostoa jossa 1 lisäystä ja 3 poistoa
  1. 1 2
      src/entt/meta/factory.hpp
  2. 0 1
      src/entt/meta/node.hpp

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

@@ -393,7 +393,6 @@ public:
         static_assert(Policy::template value<typename descriptor::return_type>, "Invalid return type for the given policy");
 
         internal::meta_func_node node{
-            type_id<type_list_cat_t<type_list<typename descriptor::return_type>, typename descriptor::args_type>>().hash(),
             (descriptor::is_const ? internal::meta_traits::is_const : internal::meta_traits::is_none) | (descriptor::is_static ? internal::meta_traits::is_static : internal::meta_traits::is_none),
             descriptor::args_type::size,
             &internal::resolve<std::conditional_t<std::is_same_v<Policy, as_void_t>, void, std::remove_cv_t<std::remove_reference_t<typename descriptor::return_type>>>>,
@@ -402,7 +401,7 @@ public:
 
         if(auto it = owner->func.find(id); it != owner->func.end()) {
             for(auto *curr = &it->second; curr; curr = curr->next.get()) {
-                if(curr->watermark == node.watermark && curr->traits == node.traits) {
+                if(curr->invoke == node.invoke) {
                     node.next = std::move(curr->next);
                     *curr = std::move(node);
 

+ 0 - 1
src/entt/meta/node.hpp

@@ -88,7 +88,6 @@ struct meta_data_node {
 struct meta_func_node {
     using size_type = std::size_t;
 
-    id_type watermark;
     meta_traits traits;
     size_type arity;
     meta_type_node *(*ret)() noexcept;