#pragma once #include #include #include #include #include #include namespace kurator { namespace universe { class JsonRepository : public Repository { public: explicit JsonRepository(const std::string& path); ShipType ship_type(const std::string& id) const override; TurretType turret_type(const std::string& id) const override; void for_ship_types(std::function func) const; void for_turret_types(std::function func) const; private: std::map ships; std::map turrets; }; } // namespace universe } // namespace kurator