Boost序列化版本控制如何工作?

时间:2017-02-05 20:07:11

标签: serialization boost version versioning boost-serialization

有人可以向我解释Boost Serialization中的版本控制是如何工作的。归档版本始终为10,类版本为0.我认为当归档版本与上一版本不同时,版本会自动递增。如果我改变了什么,我是否必须自己定义版本号?

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE boost_serialization>
<boost_serialization signature="serialization::archive" version="10">
    <EventSet class_id="0" tracking_level="0" version="0">
        <Size>1</Size>
        <Event>
        ...
        </Event>
    </EventSet>
</boost_serialization>

1 个答案:

答案 0 :(得分:3)

Boost文档中没有描述它,但是行boost_serialization signature="serialization::archive" version="10"对应于Boost.Archive库的版本,它有时会在新版本的Boost可用时发生变化。

正如文档所解释的那样,行EventSet class_id="0" tracking_level="0" version="0"对应于类版本。您可以使用宏'BOOST_CLASS_VERSION(EventSet,1)'在代码中更改它。