Răsfoiți Sursa

view: stable single type view ::begin/::end functions

Michele Caini 2 ani în urmă
părinte
comite
26930633f0
2 a modificat fișierele cu 5 adăugiri și 2 ștergeri
  1. 2 2
      src/entt/entity/view.hpp
  2. 3 0
      test/entt/entity/view.cpp

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

@@ -695,7 +695,7 @@ public:
      * @return An iterator to the first entity of the view.
      */
     [[nodiscard]] iterator begin() const noexcept {
-        return view->begin();
+        return view ? view->begin() : iterator{};
     }
 
     /**
@@ -708,7 +708,7 @@ public:
      * @return An iterator to the entity following the last entity of the view.
      */
     [[nodiscard]] iterator end() const noexcept {
-        return view->end();
+        return view ? view->end() : iterator{};
     }
 
     /**

+ 3 - 0
test/entt/entity/view.cpp

@@ -80,6 +80,9 @@ TEST(SingleComponentView, InvalidView) {
     ASSERT_TRUE(view.empty());
     ASSERT_FALSE(view.contains(entt::null));
 
+    ASSERT_EQ(view.begin(), typename decltype(view)::iterator{});
+    ASSERT_EQ(view.begin(), view.end());
+
     entt::storage<int> storage;
     view.storage(storage);