Просмотр исходного кода

storage: more about uses-allocator construction

Michele Caini 4 лет назад
Родитель
Сommit
ff0983cc42
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      src/entt/entity/storage.hpp

+ 2 - 2
src/entt/entity/storage.hpp

@@ -274,7 +274,7 @@ class basic_storage: public basic_sparse_set<Entity, typename std::allocator_tra
 
         ENTT_TRY {
             auto elem = assure_at_least(static_cast<size_type>(it.index()));
-            alloc_traits::construct(packed.second(), to_address(elem), std::forward<Args>(args)...);
+            entt::uninitialized_construct_using_allocator(to_address(elem), packed.second(), std::forward<Args>(args)...);
         }
         ENTT_CATCH {
             if constexpr(comp_traits::in_place_delete) {
@@ -323,7 +323,7 @@ private:
 
     void move_element(const std::size_t from, const std::size_t to) final {
         auto &elem = element_at(from);
-        alloc_traits::construct(packed.second(), to_address(assure_at_least(to)), std::move(elem));
+        entt::uninitialized_construct_using_allocator(to_address(assure_at_least(to)), packed.second(), std::move(elem));
         std::destroy_at(std::addressof(elem));
     }