Просмотр исходного кода

*: internal review of some traits usage

Michele Caini 3 лет назад
Родитель
Сommit
2358552c27
5 измененных файлов с 9 добавлено и 10 удалено
  1. 0 1
      TODO
  2. 1 1
      src/entt/core/any.hpp
  3. 2 2
      src/entt/core/type_traits.hpp
  4. 1 1
      src/entt/entity/group.hpp
  5. 5 5
      src/entt/meta/factory.hpp

+ 0 - 1
TODO

@@ -12,7 +12,6 @@ DOC:
 * update entity doc when the storage based model is in place
 * update entity doc when the storage based model is in place
 
 
 TODO (high prio):
 TODO (high prio):
-* remove_const_t vs remove_cv_t
 * remove the static storage from the const assure in the registry
 * remove the static storage from the const assure in the registry
 
 
 WIP:
 WIP:

+ 1 - 1
src/entt/core/any.hpp

@@ -131,7 +131,7 @@ class basic_any {
                 static_assert(sizeof...(Args) == 1u && (std::is_lvalue_reference_v<Args> && ...), "Invalid arguments");
                 static_assert(sizeof...(Args) == 1u && (std::is_lvalue_reference_v<Args> && ...), "Invalid arguments");
                 mode = std::is_const_v<std::remove_reference_t<Type>> ? policy::cref : policy::ref;
                 mode = std::is_const_v<std::remove_reference_t<Type>> ? policy::cref : policy::ref;
                 instance = (std::addressof(args), ...);
                 instance = (std::addressof(args), ...);
-            } else if constexpr(in_situ<std::remove_const_t<std::remove_reference_t<Type>>>) {
+            } else if constexpr(in_situ<std::remove_cv_t<std::remove_reference_t<Type>>>) {
                 if constexpr(sizeof...(Args) != 0u && std::is_aggregate_v<std::remove_cv_t<std::remove_reference_t<Type>>>) {
                 if constexpr(sizeof...(Args) != 0u && std::is_aggregate_v<std::remove_cv_t<std::remove_reference_t<Type>>>) {
                     new(&storage) std::remove_cv_t<std::remove_reference_t<Type>>{std::forward<Args>(args)...};
                     new(&storage) std::remove_cv_t<std::remove_reference_t<Type>>{std::forward<Args>(args)...};
                 } else {
                 } else {

+ 2 - 2
src/entt/core/type_traits.hpp

@@ -551,7 +551,7 @@ struct has_iterator_category<Type, std::void_t<typename std::iterator_traits<Typ
 
 
 /*! @copydoc is_iterator */
 /*! @copydoc is_iterator */
 template<typename Type>
 template<typename Type>
-struct is_iterator<Type, std::enable_if_t<!std::is_same_v<std::remove_const_t<std::remove_pointer_t<Type>>, void>>>
+struct is_iterator<Type, std::enable_if_t<!std::is_same_v<std::remove_cv_t<std::remove_pointer_t<Type>>, void>>>
     : internal::has_iterator_category<Type> {};
     : internal::has_iterator_category<Type> {};
 
 
 /**
 /**
@@ -639,7 +639,7 @@ template<typename Type>
 }
 }
 
 
 template<typename Type>
 template<typename Type>
-[[nodiscard]] constexpr std::enable_if_t<is_complete_v<std::tuple_size<std::remove_const_t<Type>>>, bool> maybe_equality_comparable(choice_t<2>) {
+[[nodiscard]] constexpr std::enable_if_t<is_complete_v<std::tuple_size<std::remove_cv_t<Type>>>, bool> maybe_equality_comparable(choice_t<2>) {
     if constexpr(has_tuple_size_value<Type>::value) {
     if constexpr(has_tuple_size_value<Type>::value) {
         return unpack_maybe_equality_comparable<Type>(std::make_index_sequence<std::tuple_size<Type>::value>{});
         return unpack_maybe_equality_comparable<Type>(std::make_index_sequence<std::tuple_size<Type>::value>{});
     } else {
     } else {

+ 1 - 1
src/entt/entity/group.hpp

@@ -29,7 +29,7 @@ template<typename It, typename... Owned, typename... Get>
 class extended_group_iterator<It, owned_t<Owned...>, get_t<Get...>> {
 class extended_group_iterator<It, owned_t<Owned...>, get_t<Get...>> {
     template<typename Type>
     template<typename Type>
     auto index_to_element(Type &cpool) const {
     auto index_to_element(Type &cpool) const {
-        if constexpr(ignore_as_empty_v<std::remove_const_t<typename Type::value_type>>) {
+        if constexpr(ignore_as_empty_v<typename Type::value_type>) {
             return std::make_tuple();
             return std::make_tuple();
         } else {
         } else {
             return std::forward_as_tuple(cpool.rbegin()[it.index()]);
             return std::forward_as_tuple(cpool.rbegin()[it.index()]);

+ 5 - 5
src/entt/meta/factory.hpp

@@ -339,8 +339,8 @@ public:
                     /* this is never static */
                     /* this is never static */
                     std::is_const_v<data_type> ? internal::meta_traits::is_const : internal::meta_traits::is_none,
                     std::is_const_v<data_type> ? internal::meta_traits::is_const : internal::meta_traits::is_none,
                     1u,
                     1u,
-                    &internal::resolve<std::remove_const_t<data_type>>,
-                    &meta_arg<type_list<std::remove_const_t<data_type>>>,
+                    &internal::resolve<std::remove_cv_t<data_type>>,
+                    &meta_arg<type_list<std::remove_cv_t<data_type>>>,
                     &meta_setter<Type, Data>,
                     &meta_setter<Type, Data>,
                     &meta_getter<Type, Data, Policy>});
                     &meta_getter<Type, Data, Policy>});
 
 
@@ -352,10 +352,10 @@ public:
                 internal::owner(*ctx, *info),
                 internal::owner(*ctx, *info),
                 id,
                 id,
                 internal::meta_data_node{
                 internal::meta_data_node{
-                    ((std::is_same_v<Type, std::remove_const_t<data_type>> || std::is_const_v<data_type>) ? internal::meta_traits::is_const : internal::meta_traits::is_none) | internal::meta_traits::is_static,
+                    ((std::is_same_v<Type, std::remove_cv_t<data_type>> || std::is_const_v<data_type>) ? internal::meta_traits::is_const : internal::meta_traits::is_none) | internal::meta_traits::is_static,
                     1u,
                     1u,
-                    &internal::resolve<std::remove_const_t<data_type>>,
-                    &meta_arg<type_list<std::remove_const_t<data_type>>>,
+                    &internal::resolve<std::remove_cv_t<data_type>>,
+                    &meta_arg<type_list<std::remove_cv_t<data_type>>>,
                     &meta_setter<Type, Data>,
                     &meta_setter<Type, Data>,
                     &meta_getter<Type, Data, Policy>});
                     &meta_getter<Type, Data, Policy>});