Explorar o código

meta: minor changes

skypjack hai 1 mes
pai
achega
5d65dc9e40
Modificáronse 1 ficheiros con 5 adicións e 3 borrados
  1. 5 3
      src/entt/meta/utility.hpp

+ 5 - 3
src/entt/meta/utility.hpp

@@ -440,13 +440,15 @@ template<typename Type, typename... Args>
  */
 template<typename Type, typename Policy = as_value_t, typename Candidate>
 [[nodiscard]] meta_any meta_construct(const meta_ctx &ctx, Candidate &&candidate, meta_any *const args) {
-    if constexpr(meta_function_helper_t<Type, Candidate>::is_static || stl::is_class_v<stl::remove_cvref_t<Candidate>>) {
+    using descriptor = meta_function_helper_t<Type, stl::remove_reference_t<Candidate>>;
+
+    if constexpr(descriptor::is_static || stl::is_class_v<stl::remove_cvref_t<Candidate>>) {
         meta_handle placeholder{};
-        return internal::meta_invoke<Type, Policy>(placeholder, stl::forward<Candidate>(candidate), args, stl::make_index_sequence<meta_function_helper_t<Type, stl::remove_reference_t<Candidate>>::args_type::size>{});
+        return internal::meta_invoke<Type, Policy>(placeholder, stl::forward<Candidate>(candidate), args, stl::make_index_sequence<descriptor::args_type::size>{});
     } else {
         meta_handle instance{ctx, *args};
         // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic) - waiting for C++20 (and stl::span)
-        return internal::meta_invoke<Type, Policy>(instance, stl::forward<Candidate>(candidate), args + 1u, stl::make_index_sequence<meta_function_helper_t<Type, stl::remove_reference_t<Candidate>>::args_type::size>{});
+        return internal::meta_invoke<Type, Policy>(instance, stl::forward<Candidate>(candidate), args + 1u, stl::make_index_sequence<descriptor::args_type::size>{});
     }
 }