Пользовательская сериализация классов, C ++ и msgpack


Я совсем недавно пробовал msgpack. Мне нужно сериализовать объект (экземпляр определенного пользователем класса), который содержит указатели (внутреннее дерево, хэши и т. Д.) И некоторые атрибуты базовых типов.

До сих пор я могу делать то, что сделано в быстром примере msgpack .org wiki, просто сериализуйте класс в msgpack :: sbuffer , а затем прочтите буфер для десериализации.

Но теперь я хочу отправить этот буфер в файл или результат сериализации в файл, а затем десериализовать его.
Может ли кто-нибудь дать мне совет, как это сделать? Я просматриваю и читаю достаточно, чтобы это мне надоело :)

Мой код выглядит так:

msgpack::sbuffer sbuf;
msgpack::pack(sbuf, cluster); //cluster is the instance of my class clustering

//HERE I SHOULD SEND THE BUFFER TO A STREAM FILE, AND THEN LOAD IT IN THE UNPACK;

msgpack::unpacked msg;
msgpack::unpack(&msg, sbuf.data(), sbuf.size()); 
msgpack::object obj = msg.get();
clustering clustUnser
obj.convert(&clustUnser);

всем спасибо!
лучшие,
Luchux.

5
задан ildjarn 1 June 2011 в 16:05
поделиться