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

view: conditional in-place iterator for single type views

Michele Caini 1 год назад
Родитель
Сommit
185dfaa08a
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      src/entt/entity/view.hpp

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

@@ -646,7 +646,7 @@ public:
     /*! @brief Unsigned integer type. */
     /*! @brief Unsigned integer type. */
     using size_type = std::size_t;
     using size_type = std::size_t;
     /*! @brief Random access iterator type. */
     /*! @brief Random access iterator type. */
-    using iterator = typename common_type::iterator;
+    using iterator = std::conditional_t<Policy == deletion_policy::in_place, internal::view_iterator<common_type, 1u, 0u>, typename common_type::iterator>;
     /*! @brief Reverse iterator type. */
     /*! @brief Reverse iterator type. */
     using reverse_iterator = std::conditional_t<Policy == deletion_policy::in_place, void, typename common_type::reverse_iterator>;
     using reverse_iterator = std::conditional_t<Policy == deletion_policy::in_place, void, typename common_type::reverse_iterator>;