瀏覽代碼

meta: minor changes for consistency

Michele Caini 3 年之前
父節點
當前提交
e31b81294d
共有 2 個文件被更改,包括 15 次插入14 次删除
  1. 2 1
      src/entt/meta/factory.hpp
  2. 13 13
      src/entt/meta/meta.hpp

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

@@ -492,8 +492,9 @@ public:
  */
 template<typename Type>
 [[nodiscard]] auto meta() noexcept {
+    auto res = internal::meta_context::from(locator<meta_ctx>::value_or()).value.try_emplace(type_id<Type>().hash(), internal::resolve<Type>());
     // extended meta factory to allow assigning properties to opaque meta types
-    return meta_factory<Type, internal::meta_type_node>{internal::meta_context::from(locator<meta_ctx>::value_or()).value.try_emplace(type_id<Type>().hash(), internal::resolve<Type>()).first->second};
+    return meta_factory<Type, internal::meta_type_node>{res.first->second};
 }
 
 /**

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

@@ -64,11 +64,11 @@ public:
     [[nodiscard]] inline explicit operator bool() const noexcept;
 
 private:
-    internal::meta_type_node value_type_node = {};
-    size_type (*size_fn)(const any &) noexcept = nullptr;
-    bool (*resize_fn)(any &, size_type) = nullptr;
-    iterator (*iter_fn)(any &, const bool) = nullptr;
-    iterator (*insert_or_erase_fn)(any &, const any &, meta_any &) = nullptr;
+    internal::meta_type_node value_type_node{};
+    size_type (*size_fn)(const any &) noexcept {};
+    bool (*resize_fn)(any &, size_type){};
+    iterator (*iter_fn)(any &, const bool){};
+    iterator (*insert_or_erase_fn)(any &, const any &, meta_any &){};
     any storage{};
 };
 
@@ -122,14 +122,14 @@ public:
 
 private:
     bool key_only_container{};
-    internal::meta_type_node key_type_node = {};
-    internal::meta_type_node mapped_type_node = {};
-    internal::meta_type_node value_type_node = {};
-    size_type (*size_fn)(const any &) noexcept = nullptr;
-    bool (*clear_fn)(any &) = nullptr;
-    iterator (*iter_fn)(any &, const bool) = nullptr;
-    size_type (*insert_or_erase_fn)(any &, meta_any &, meta_any &) = nullptr;
-    iterator (*find_fn)(any &, meta_any &) = nullptr;
+    internal::meta_type_node key_type_node{};
+    internal::meta_type_node mapped_type_node{};
+    internal::meta_type_node value_type_node{};
+    size_type (*size_fn)(const any &) noexcept {};
+    bool (*clear_fn)(any &){};
+    iterator (*iter_fn)(any &, const bool){};
+    size_type (*insert_or_erase_fn)(any &, meta_any &, meta_any &){};
+    iterator (*find_fn)(any &, meta_any &){};
     any storage{};
 };