瀏覽代碼

view: use iterator traits as needed

Michele Caini 2 年之前
父節點
當前提交
65da029ff9
共有 1 個文件被更改,包括 6 次插入5 次删除
  1. 6 5
      src/entt/entity/view.hpp

+ 6 - 5
src/entt/entity/view.hpp

@@ -54,18 +54,19 @@ class view_iterator final {
     friend struct extended_view_iterator;
     friend struct extended_view_iterator;
 
 
     using iterator_type = typename Type::const_iterator;
     using iterator_type = typename Type::const_iterator;
+    using iterator_traits = std::iterator_traits<iterator_type>;
 
 
-    [[nodiscard]] bool valid(const typename iterator_type::value_type entt) const noexcept {
+    [[nodiscard]] bool valid(const typename iterator_traits::value_type entt) const noexcept {
         return ((Get != 1u) || (entt != tombstone))
         return ((Get != 1u) || (entt != tombstone))
                && internal::all_of(pools.begin(), pools.begin() + index, entt) && internal::all_of(pools.begin() + index + 1, pools.end(), entt)
                && internal::all_of(pools.begin(), pools.begin() + index, entt) && internal::all_of(pools.begin() + index + 1, pools.end(), entt)
                && internal::none_of(filter.begin(), filter.end(), entt);
                && internal::none_of(filter.begin(), filter.end(), entt);
     }
     }
 
 
 public:
 public:
-    using value_type = typename iterator_type::value_type;
-    using pointer = typename iterator_type::pointer;
-    using reference = typename iterator_type::reference;
-    using difference_type = typename iterator_type::difference_type;
+    using value_type = typename iterator_traits::value_type;
+    using pointer = typename iterator_traits::pointer;
+    using reference = typename iterator_traits::reference;
+    using difference_type = typename iterator_traits::difference_type;
     using iterator_category = std::forward_iterator_tag;
     using iterator_category = std::forward_iterator_tag;
 
 
     constexpr view_iterator() noexcept
     constexpr view_iterator() noexcept