Add copy and move constructors for SaveMap

This commit is contained in:
Jiga228
2025-09-15 12:45:25 +07:00
parent 4c2f1e9000
commit 9bf9d678f7
2 changed files with 55 additions and 10 deletions
+7 -3
View File
@@ -11,7 +11,7 @@
class SaveMap final
{
std::string class_name;
std::shared_ptr<SaveMap> parent;
std::shared_ptr<SaveMap> parent_;
// Индивидуальные значения
std::map<std::string, long long> save_long;
@@ -38,6 +38,10 @@ public:
SaveMap(const char* class_name);
// Токенезирут JSON строку
SaveMap(const std::string& json_data);
// Коприрование
SaveMap(SaveMap& save_map);
// Перемещение
SaveMap(SaveMap&& save_map) noexcept;
// Методы созранения значений
std::shared_ptr<SaveMap> SaveInteger(const char* name, int value) noexcept;
@@ -67,11 +71,11 @@ public:
std::list<std::string>& GetListString(const char* name);
std::list<ISave*>& GetListObject(const char* name);
std::shared_ptr<SaveMap> getParent() const { return parent; }
std::shared_ptr<SaveMap> getParent() const { return parent_; }
const std::string& getClassName() const { return class_name; }
// Собирает все токены в JSON объект
std::string serialize() noexcept;
SaveMap* connect_to(std::shared_ptr<SaveMap> parent);
SaveMap* connect_to(const std::shared_ptr<SaveMap>& parent);
};