Kaynağa Gözat

dense_map: add max_size

Michele Caini 3 yıl önce
ebeveyn
işleme
abe185c003

+ 8 - 0
src/entt/container/dense_map.hpp

@@ -523,6 +523,14 @@ public:
         return packed.first().size();
     }
 
+    /**
+     * @brief Returns the maximum possible number of elements.
+     * @return Maximum possible number of elements.
+     */
+    [[nodiscard]] size_type max_size() const noexcept {
+        return packed.first().max_size();
+    }
+
     /*! @brief Clears the container. */
     void clear() noexcept {
         sparse.first().clear();

+ 1 - 0
test/entt/container/dense_map.cpp

@@ -34,6 +34,7 @@ TEST(DenseMap, Functionalities) {
     ASSERT_EQ(map.size(), 0u);
     ASSERT_EQ(map.load_factor(), 0.f);
     ASSERT_EQ(map.max_load_factor(), .875f);
+    ASSERT_EQ(map.max_size(), (std::vector<entt::internal::dense_map_node<std::size_t, std::size_t>>{}.max_size()));
 
     map.max_load_factor(.9f);