Сериализация/десериализация идентификатора вместо объекта в хлопьяхC++

Программы на C++. Форум разработчиков
Anonymous
Сериализация/десериализация идентификатора вместо объекта в хлопьях

Сообщение Anonymous »

Я хочу сериализовать структуры, используя зерновые. Один из них выглядит так:

Код: Выделить всё

struct Material {
std::shared_ptr texture1;
std::shared_ptr texture2;
};
В моей программе текстуры управляются TextManager:

Код: Выделить всё

class Texture {
std::string id_; // Guaranteed to be unique
};

class TextureManager {
public:
std::shared_ptr get_texture_by_id(std::string_view id);

private:
std::unordered_map textures_;
};
Мне бы хотелось, чтобы зерновой сериализовал эти текстуры как их идентификаторы и использовал TextManager для их загрузки.

Код: Выделить всё

{
"texture1": "/assets/dog.bmp",
"texture2": "/assets/foo.jpg"
}
Возможно ли это? Если да: как?


Подробнее здесь: https://stackoverflow.com/questions/786 ... -in-cereal

Вернуться в «C++»