C++ boost序列化忽略包装器的版本

C++ boost序列化忽略包装器的版本,c++,boost,boost-serialization,C++,Boost,Boost Serialization,我如何告诉boost,对于特定结构,它不应该写入/读取类“版本”标识符 我正在编写一些包装器类,用于以较小的方式序列化某些类型(如可变长度整数)。如果包装器编写了一个类版本,那么整个大小缩减点就丢失了(在大多数情况下,它最终会变得更大) 例如,给定整数a,我将替换此代码: ar & a; 为此: ar & wrapper(a); 我看到是包装的特性,但我真的找不到任何关于它的作用的文档,或者它是否有帮助的文档。添加 BOOST_CLASS_IMPLEMENTATION(wra

我如何告诉boost,对于特定结构,它不应该写入/读取类“版本”标识符

我正在编写一些包装器类,用于以较小的方式序列化某些类型(如可变长度整数)。如果包装器编写了一个类版本,那么整个大小缩减点就丢失了(在大多数情况下,它最终会变得更大)

例如,给定
整数a
,我将替换此代码:

ar & a;
为此:

ar & wrapper(a);
我看到
是包装的
特性,但我真的找不到任何关于它的作用的文档,或者它是否有帮助的文档。

添加

BOOST_CLASS_IMPLEMENTATION(wrapper, boost::serialization::object_serializable)

它是。

您不知道它的底层结构代码,是吗?我有一个模板类型,因此宏不起作用。@edA-qamort-ora-y:如果是其他库,我会建议您只将宏挖出来,但在boost中。。。brrr一想到它我就不寒而栗。是的,我只是在看了宏之后才问。。。虽然我认为我有一个语法,但是从
wrapper\u traits
派生似乎会自动忽略版本,所以我不知道我是否正确。