فهرست منبع

registry: also adjust construction and swap orders

Michele Caini 3 سال پیش
والد
کامیت
28692fc142
1فایلهای تغییر یافته به همراه12 افزوده شده و 12 حذف شده
  1. 12 12
      src/entt/entity/registry.hpp

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

@@ -388,11 +388,11 @@ public:
      * @param allocator The allocator to use.
      */
     basic_registry(const size_type count, const allocator_type &allocator = allocator_type{})
-        : free_list{tombstone},
-          pools{},
-          groups{},
+        : vars{},
+          free_list{tombstone},
           epool{allocator},
-          vars{} {
+          pools{},
+          groups{} {
         pools.reserve(count);
     }
 
@@ -401,11 +401,11 @@ public:
      * @param other The instance to move from.
      */
     basic_registry(basic_registry &&other) noexcept
-        : free_list{std::move(other.free_list)},
-          pools{std::move(other.pools)},
-          groups{std::move(other.groups)},
+        : vars{std::move(other.vars)},
+          free_list{std::move(other.free_list)},
           epool{std::move(other.epool)},
-          vars{std::move(other.vars)} {
+          pools{std::move(other.pools)},
+          groups{std::move(other.groups)} {
         rebind();
     }
 
@@ -415,11 +415,11 @@ public:
      * @return This registry.
      */
     basic_registry &operator=(basic_registry &&other) noexcept {
+        vars = std::move(other.vars);
         free_list = std::move(other.free_list);
+        epool = std::move(other.epool);
         pools = std::move(other.pools);
         groups = std::move(other.groups);
-        epool = std::move(other.epool);
-        vars = std::move(other.vars);
 
         rebind();
 
@@ -432,11 +432,11 @@ public:
      */
     void swap(basic_registry &other) {
         using std::swap;
+        swap(vars, other.vars);
         swap(free_list, other.free_list);
+        swap(epool, other.epool);
         swap(pools, other.pools);
         swap(groups, other.groups);
-        swap(epool, other.epool);
-        swap(vars, other.vars);
 
         rebind();
         other.rebind();