#pragma once #include "copium/ecs/Config.h" #include #include namespace Copium { class EntitySet { private: std::vector entitiesList; std::unordered_map entitiesMap; // Maps the entity id to a component index public: bool Emplace(EntityId entity); bool Erase(EntityId entity); bool Pop(); size_t Find(EntityId entity); size_t Size() const; std::vector& GetList(); const std::vector& GetList() const; std::vector::iterator begin(); std::vector::iterator end(); }; }