فهرست منبع

stl: std::is_class_v

skypjack 1 روز پیش
والد
کامیت
d700f800aa
4فایلهای تغییر یافته به همراه4 افزوده شده و 3 حذف شده
  1. 1 1
      src/entt/meta/meta.hpp
  2. 1 1
      src/entt/meta/node.hpp
  3. 1 1
      src/entt/meta/utility.hpp
  4. 1 0
      src/entt/stl/type_traits.hpp

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

@@ -196,7 +196,7 @@ class meta_any {
             }
         } else if constexpr(requires(Type elem) { *elem; }) {
             if(req == internal::meta_traits::is_pointer) {
-                if constexpr(std::is_class_v<Type>) {
+                if constexpr(stl::is_class_v<Type>) {
                     if(const auto &elem = any_cast<const Type &>(value.storage); elem) {
                         return (value.storage.policy() == any_policy::cref) ? static_cast<meta_any *>(other)->emplace<decltype(*elem)>(*elem) : static_cast<meta_any *>(other)->emplace<decltype(*const_cast<Type &>(elem))>(*const_cast<Type &>(elem));
                     }

+ 1 - 1
src/entt/meta/node.hpp

@@ -221,7 +221,7 @@ auto setup_node_for() noexcept {
             | (stl::is_signed_v<Type> ? meta_traits::is_signed : meta_traits::is_none)
             | (stl::is_array_v<Type> ? meta_traits::is_array : meta_traits::is_none)
             | (stl::is_enum_v<Type> ? meta_traits::is_enum : meta_traits::is_none)
-            | (std::is_class_v<Type> ? meta_traits::is_class : meta_traits::is_none)
+            | (stl::is_class_v<Type> ? meta_traits::is_class : meta_traits::is_none)
             | (stl::is_pointer_v<Type> ? meta_traits::is_pointer : meta_traits::is_none)
             | (is_meta_pointer_like_v<Type> ? meta_traits::is_pointer_like : meta_traits::is_none)
             | (is_complete_v<meta_sequence_container_traits<Type>> ? meta_traits::is_sequence_container : meta_traits::is_none)

+ 1 - 1
src/entt/meta/utility.hpp

@@ -419,7 +419,7 @@ 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 || std::is_class_v<stl::remove_cvref_t<Candidate>>) {
+    if constexpr(meta_function_helper_t<Type, Candidate>::is_static || stl::is_class_v<stl::remove_cvref_t<Candidate>>) {
         meta_any placeholder{meta_ctx_arg, ctx};
         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>{});
     } else {

+ 1 - 0
src/entt/stl/type_traits.hpp

@@ -17,6 +17,7 @@ using std::invoke_result_t;
 using std::is_aggregate_v;
 using std::is_arithmetic_v;
 using std::is_array_v;
+using std::is_class_v;
 using std::is_const_v;
 using std::is_constructible_v;
 using std::is_convertible_v;