Преглед на файлове

registry: minor changes

Michele Caini преди 6 години
родител
ревизия
23069d76eb
променени са 2 файла, в които са добавени 5 реда и са изтрити 6 реда
  1. 0 1
      TODO
  2. 5 5
      src/entt/entity/registry.hpp

+ 0 - 1
TODO

@@ -23,5 +23,4 @@
 * review and suppress warnings, if any
 * review and suppress warnings, if any
 * extract only the type within type_info, hash its name (more portable)
 * extract only the type within type_info, hash its name (more portable)
 * registry
 * registry
-  - ::get -> use std::forward/forward_as_tuple and remove one of them (also try_get and the others)
   - ::group improve, reduce code
   - ::group improve, reduce code

+ 5 - 5
src/entt/entity/registry.hpp

@@ -513,7 +513,7 @@ public:
             return generate();
             return generate();
         } else {
         } else {
             const entity_type entt = generate();
             const entity_type entt = generate();
-            return std::tuple<entity_type, decltype(assign<Component>({}))...>{entt, assign<Component>(entt)...};
+            return std::tuple_cat(std::make_tuple(entt), std::forward_as_tuple(assign<Component>(entt)...));
         }
         }
     }
     }
 
 
@@ -714,7 +714,7 @@ public:
         if constexpr(sizeof...(Component) == 1) {
         if constexpr(sizeof...(Component) == 1) {
             return (assure<Component>().get(entity), ...);
             return (assure<Component>().get(entity), ...);
         } else {
         } else {
-            return std::tuple<decltype(get<Component>({}))...>{get<Component>(entity)...};
+            return std::forward_as_tuple(get<Component>(entity)...);
         }
         }
     }
     }
 
 
@@ -726,7 +726,7 @@ public:
         if constexpr(sizeof...(Component) == 1) {
         if constexpr(sizeof...(Component) == 1) {
             return (assure<Component>().get(entity), ...);
             return (assure<Component>().get(entity), ...);
         } else {
         } else {
-            return std::tuple<decltype(get<Component>({}))...>{get<Component>(entity)...};
+            return std::forward_as_tuple(get<Component>(entity)...);
         }
         }
     }
     }
 
 
@@ -780,7 +780,7 @@ public:
         if constexpr(sizeof...(Component) == 1) {
         if constexpr(sizeof...(Component) == 1) {
             return (assure<Component>().try_get(entity), ...);
             return (assure<Component>().try_get(entity), ...);
         } else {
         } else {
-            return std::tuple<decltype(try_get<Component>({}))...>{try_get<Component>(entity)...};
+            return std::make_tuple(try_get<Component>(entity)...);
         }
         }
     }
     }
 
 
@@ -790,7 +790,7 @@ public:
         if constexpr(sizeof...(Component) == 1) {
         if constexpr(sizeof...(Component) == 1) {
             return (assure<Component>().try_get(entity), ...);
             return (assure<Component>().try_get(entity), ...);
         } else {
         } else {
-            return std::tuple<decltype(try_get<Component>({}))...>{try_get<Component>(entity)...};
+            return std::make_tuple(try_get<Component>(entity)...);
         }
         }
     }
     }