skypjack 7 месяцев назад
Родитель
Сommit
add999d105
1 измененных файлов с 17 добавлено и 17 удалено
  1. 17 17
      src/entt/meta/meta.hpp

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

@@ -845,7 +845,7 @@ struct meta_data {
      * @return True if the data member is constant, false otherwise.
      */
     [[nodiscard]] bool is_const() const noexcept {
-        return static_cast<bool>(node.traits & internal::meta_traits::is_const);
+        return !!(node.traits & internal::meta_traits::is_const);
     }
 
     /**
@@ -853,7 +853,7 @@ struct meta_data {
      * @return True if the data member is static, false otherwise.
      */
     [[nodiscard]] bool is_static() const noexcept {
-        return static_cast<bool>(node.traits & internal::meta_traits::is_static);
+        return !!(node.traits & internal::meta_traits::is_static);
     }
 
     /*! @copydoc meta_any::type */
@@ -976,7 +976,7 @@ struct meta_func {
      * @return True if the member function is constant, false otherwise.
      */
     [[nodiscard]] bool is_const() const noexcept {
-        return static_cast<bool>(node.traits & internal::meta_traits::is_const);
+        return !!(node.traits & internal::meta_traits::is_const);
     }
 
     /**
@@ -984,7 +984,7 @@ struct meta_func {
      * @return True if the member function is static, false otherwise.
      */
     [[nodiscard]] bool is_static() const noexcept {
-        return static_cast<bool>(node.traits & internal::meta_traits::is_static);
+        return !!(node.traits & internal::meta_traits::is_static);
     }
 
     /**
@@ -1081,7 +1081,7 @@ class meta_type {
 
         for(auto curr = next(); curr; curr = next()) {
             if constexpr(std::is_same_v<std::decay_t<decltype(*curr)>, internal::meta_func_node>) {
-                if(constness && !static_cast<bool>(curr->traits & internal::meta_traits::is_const)) {
+                if(constness && !(curr->traits & internal::meta_traits::is_const)) {
                     continue;
                 }
             }
@@ -1110,8 +1110,8 @@ class meta_type {
                         ambiguous = false;
                     } else if(match == same) {
                         if constexpr(std::is_same_v<std::decay_t<decltype(*curr)>, internal::meta_func_node>) {
-                            if(static_cast<bool>(curr->traits & internal::meta_traits::is_const) != static_cast<bool>(candidate->traits & internal::meta_traits::is_const)) {
-                                candidate = static_cast<bool>(candidate->traits & internal::meta_traits::is_const) ? curr : candidate;
+                            if(!!(curr->traits & internal::meta_traits::is_const) != !!(candidate->traits & internal::meta_traits::is_const)) {
+                                candidate = !!(candidate->traits & internal::meta_traits::is_const) ? curr : candidate;
                                 ambiguous = false;
                                 continue;
                             }
@@ -1188,7 +1188,7 @@ public:
      * otherwise.
      */
     [[nodiscard]] bool is_arithmetic() const noexcept {
-        return static_cast<bool>(node.traits & internal::meta_traits::is_arithmetic);
+        return !!(node.traits & internal::meta_traits::is_arithmetic);
     }
 
     /**
@@ -1196,7 +1196,7 @@ public:
      * @return True if the underlying type is an integral type, false otherwise.
      */
     [[nodiscard]] bool is_integral() const noexcept {
-        return static_cast<bool>(node.traits & internal::meta_traits::is_integral);
+        return !!(node.traits & internal::meta_traits::is_integral);
     }
 
     /**
@@ -1204,7 +1204,7 @@ public:
      * @return True if the underlying type is a signed type, false otherwise.
      */
     [[nodiscard]] bool is_signed() const noexcept {
-        return static_cast<bool>(node.traits & internal::meta_traits::is_signed);
+        return !!(node.traits & internal::meta_traits::is_signed);
     }
 
     /**
@@ -1212,7 +1212,7 @@ public:
      * @return True if the underlying type is an array type, false otherwise.
      */
     [[nodiscard]] bool is_array() const noexcept {
-        return static_cast<bool>(node.traits & internal::meta_traits::is_array);
+        return !!(node.traits & internal::meta_traits::is_array);
     }
 
     /**
@@ -1220,7 +1220,7 @@ public:
      * @return True if the underlying type is an enum, false otherwise.
      */
     [[nodiscard]] bool is_enum() const noexcept {
-        return static_cast<bool>(node.traits & internal::meta_traits::is_enum);
+        return !!(node.traits & internal::meta_traits::is_enum);
     }
 
     /**
@@ -1228,7 +1228,7 @@ public:
      * @return True if the underlying type is a class, false otherwise.
      */
     [[nodiscard]] bool is_class() const noexcept {
-        return static_cast<bool>(node.traits & internal::meta_traits::is_class);
+        return !!(node.traits & internal::meta_traits::is_class);
     }
 
     /**
@@ -1236,7 +1236,7 @@ public:
      * @return True if the underlying type is a pointer, false otherwise.
      */
     [[nodiscard]] bool is_pointer() const noexcept {
-        return static_cast<bool>(node.traits & internal::meta_traits::is_pointer);
+        return !!(node.traits & internal::meta_traits::is_pointer);
     }
 
     /**
@@ -1253,7 +1253,7 @@ public:
      * @return True if the underlying type is pointer-like, false otherwise.
      */
     [[nodiscard]] bool is_pointer_like() const noexcept {
-        return static_cast<bool>(node.traits & internal::meta_traits::is_pointer_like);
+        return !!(node.traits & internal::meta_traits::is_pointer_like);
     }
 
     /**
@@ -1261,7 +1261,7 @@ public:
      * @return True if the type is a sequence container, false otherwise.
      */
     [[nodiscard]] bool is_sequence_container() const noexcept {
-        return static_cast<bool>(node.traits & internal::meta_traits::is_sequence_container);
+        return !!(node.traits & internal::meta_traits::is_sequence_container);
     }
 
     /**
@@ -1269,7 +1269,7 @@ public:
      * @return True if the type is an associative container, false otherwise.
      */
     [[nodiscard]] bool is_associative_container() const noexcept {
-        return static_cast<bool>(node.traits & internal::meta_traits::is_associative_container);
+        return !!(node.traits & internal::meta_traits::is_associative_container);
     }
 
     /**