/********************\ | Copyright 2024, | | Ulysse Cura | \********************/ ///////////////////////////////////////////////////////////////////// // // // Declaration de la classe MapManager, elle sert a charger des // // map dans la memoire pour eviter de les recharger tout le temps. // // // ///////////////////////////////////////////////////////////////////// #ifndef MAPMANAGER_HPP #define MAPMANAGER_HPP #include <memory> // unique_ptr #include <string> // string #include <unordered_map> // unordered_map #include "externLibs/nlohmann/json.hpp" // json:: using std::string, std::unordered_map, std::unique_ptr; using json = nlohmann::json; class MapManager { public: json *LoadMap(const string &); // Renvoie une map depuis l'unordered_map ou charge depuis le disque puis renvoie la map void Erase(const string &); // Efface dans l'unordered_map la map correspondante void Clear(); // Clear tout l'unordered_map private: using json_ptr = unique_ptr<json>; unordered_map<string, json_ptr> m_maps; }; #endif