33 std::vector<Easys::Entity> entities;
42 explicit View(std::vector<Easys::Entity> ents) noexcept : entities(std::move(ents)) {}
53 auto end() noexcept {
return entities.end(); }
55 auto begin() const noexcept {
return entities.begin(); }
56 auto end() const noexcept {
return entities.end(); }
62 const auto&
data() const noexcept {
return entities; }
68 size_t size() const noexcept {
return entities.size(); }
74 bool empty() const noexcept {
return entities.empty(); }
81 auto find(
Entity e)
const noexcept {
return std::find(entities.begin(), entities.end(), e); }
A lightweight, read-only snapshot of a set of entities.
Definition view.hpp:30
size_t size() const noexcept
Number of entities in the view.
Definition view.hpp:68
View(std::vector< Easys::Entity > ents) noexcept
Constructs a View by taking ownership of a vector of entities.
Definition view.hpp:42
auto begin() const noexcept
Definition view.hpp:55
bool empty() const noexcept
Checks if the view is empty.
Definition view.hpp:74
auto end() const noexcept
Definition view.hpp:56
auto find(Entity e) const noexcept
Finds an entity in the view.
Definition view.hpp:81
View(View &&) noexcept=default
auto begin() noexcept
Definition view.hpp:52
bool contains(Entity e) const noexcept
Checks if the view contains the given entity.
Definition view.hpp:88
auto end() noexcept
Definition view.hpp:53
const auto & data() const noexcept
Access the internal vector of entities.
Definition view.hpp:62
EASYS_ENTITY_TYPE Entity
Definition entity.hpp:11