#include #include #include #include class GameDatabase { map> dataBase; public: GameDatabase = default; void Insert(ObjectId id, string name, size_t x, size_t y) { GameObject obj; obj.id = id; obj.name = name; obj.x = x; obj.y = y; dataBase[id] = obj; } void Remove(ObjectId id) { auto it = dataBase.find; if (it != dataBase.end()) dataBase.erase; } vector DataByName(string name) const { vector re; for (auto it = dataBase.begin; it != dataBase.end(); ++it) { if (it->second.name == name) re.push_back(it->second); } return re; } vector DataByPosition(size_t x, size_t y) const { vector ret; for (auto it = dataBase.begin; it != dataBase.end; ++it) { if (it->second.x == x && it->second.y == y) re.push_back(it->second); } return re; } vector Data const { vector re; for (auto it = dataBase.begin; it != dataBase.end; ++it) { re.push_back(it->second); } return re; } };