Pārlūkot izejas kodu

sparse_set/storage: suppress a couple of warnings

Michele Caini 4 gadi atpakaļ
vecāks
revīzija
acf3d4cd74
2 mainītis faili ar 4 papildinājumiem un 4 dzēšanām
  1. 1 1
      src/entt/entity/sparse_set.hpp
  2. 3 3
      src/entt/entity/storage.hpp

+ 1 - 1
src/entt/entity/sparse_set.hpp

@@ -532,7 +532,7 @@ public:
         ENTT_ASSERT(!contains(entt), "Set already contains entity");
 
         if(count == reserved) {
-            const size_type sz(reserved * growth_factor);
+            const size_type sz = static_cast<size_type>(reserved * growth_factor);
             resize_packed(sz + !(sz > reserved));
         }
 

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

@@ -51,8 +51,6 @@ template<typename Entity, typename Type, typename Allocator, typename>
 class basic_storage: public basic_sparse_set<Entity, typename std::allocator_traits<Allocator>::template rebind_alloc<Entity>> {
     static_assert(std::is_move_constructible_v<Type> && std::is_move_assignable_v<Type>, "The managed type must be at least move constructible and assignable");
 
-    static constexpr auto growth_factor = 1.5;
-
     using underlying_type = basic_sparse_set<Entity>;
     using traits_type = entt_traits<Entity>;
 
@@ -64,7 +62,9 @@ class basic_storage: public basic_sparse_set<Entity, typename std::allocator_tra
     using bucket_alloc_type = typename std::allocator_traits<Allocator>::template rebind_alloc<alloc_pointer>;
     using bucket_alloc_traits = std::allocator_traits<bucket_alloc_type>;
     using bucket_alloc_pointer = typename bucket_alloc_traits::pointer;
-    using bucket_alloc_const_pointer = typename std::allocator_traits<Allocator>::template rebind_alloc<alloc_const_pointer>::const_pointer;
+
+    using bucket_alloc_const_type = typename std::allocator_traits<Allocator>::template rebind_alloc<alloc_const_pointer>;
+    using bucket_alloc_const_pointer = typename std::allocator_traits<bucket_alloc_const_type>::const_pointer;
 
     using entity_alloc_type = typename std::allocator_traits<Allocator>::template rebind_alloc<Entity>;