view: stable single type view ::begin/::end functions
This commit is contained in:
@@ -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{};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user