C++11 谷物序列化 - 版本控制
C++11 Cereal Serialization - versioning
我已经成功地序列化了我的类的两个成员。
archive(
cereal::make_nvp("width", m_width),
cereal::make_nvp("height", m_height),
);
现在,在更高版本中,我的代码包含更多成员,我也想存档它们:
archive(
cereal::make_nvp("width", m_width),
cereal::make_nvp("height", m_height),
cereal::make_nvp("lambda0", m_lambda0),
cereal::make_nvp("phi1", m_phi1)
);
但是,由于新成员不在旧存档中,因此会崩溃。据我所知,没有办法在make_nvp
中为这些变量定义默认值。
但是肯定必须有某种版本控制才能解决这种默认情况?有人可以指出我的文档,甚至更好的是一些示例代码吗?我在官方网站上找不到任何东西。(但很可能我只是瞎了..
供将来参考 - 这里记录了如何进行版本控制:
https://uscilab.github.io/cereal/serialization_functions.html#versioning
相关文章:
- 如何在C++中序列化结构数据
- 序列化,没有库的整数,得到奇怪的结果
- 如何知道QDataStream不能反序列化某些内容
- 如何使用Python从C++中读取谷物序列化数据
- 如何使用boost::具有嵌套结构和最小代码更改的序列化
- 带有Protobuf序列化的C++Hazelcast:字符串不是UTF-8格式的
- 自定义对象的dlib序列化在gcc中失败
- C++boost序列化多态性问题
- 增强基于 XML class_id的反序列化
- 提升反序列化对象具有 nan 或 -nan 值
- 在 cpp 中的平面缓冲区中序列化对象
- 每次进行继承时都需要提升::序列化::base_object吗?
- 如何在 c++ 非托管代码中反序列化 byte[] 的 json 字符串?
- 提升序列化 1:73 的向后兼容性问题
- 将 boost 序列化对象的 asio::streambuf 表示转换为 Beast 的 DynamicBody req.body()
- C++11 谷物序列化 - 版本控制
- 从模板化类版本控制序列化派生类
- boost::v1.59 和 v1.60 之间的序列化存档版本
- 提升不同版本的序列化作用域
- Boost序列化:如何在运行时选择版本