Răsfoiți Sursa

meta: reduce symbol size of meta seq traits ::size function

Michele Caini 2 ani în urmă
părinte
comite
de376a0b25
2 a modificat fișierele cu 4 adăugiri și 4 ștergeri
  1. 2 2
      src/entt/meta/container.hpp
  2. 2 2
      src/entt/meta/meta.hpp

+ 2 - 2
src/entt/meta/container.hpp

@@ -45,8 +45,8 @@ struct basic_meta_sequence_container_traits {
     using iterator = meta_sequence_container::iterator;
     using size_type = std::size_t;
 
-    [[nodiscard]] static size_type size(const any &container) noexcept {
-        return any_cast<const Type &>(container).size();
+    [[nodiscard]] static size_type size(const void *container) noexcept {
+        return static_cast<const Type *>(container)->size();
     }
 
     [[nodiscard]] static bool resize([[maybe_unused]] void *container, [[maybe_unused]] size_type sz) {

+ 2 - 2
src/entt/meta/meta.hpp

@@ -73,7 +73,7 @@ public:
 private:
     const meta_ctx *ctx{};
     internal::meta_type_node (*value_type_node)(const internal::meta_context &){};
-    size_type (*size_fn)(const any &) noexcept {};
+    size_type (*size_fn)(const void *) noexcept {};
     bool (*resize_fn)(void *, size_type){};
     iterator (*iter_fn)(const meta_ctx &, any &, const bool){};
     iterator (*insert_or_erase_fn)(const meta_ctx &, any &, const any &, meta_any &){};
@@ -1831,7 +1831,7 @@ private:
  * @return The size of the container.
  */
 [[nodiscard]] inline meta_sequence_container::size_type meta_sequence_container::size() const noexcept {
-    return size_fn(storage);
+    return size_fn(storage.data());
 }
 
 /**