C++ boost序列化忽略包装器的版本
我如何告诉boost,对于特定结构,它不应该写入/读取类“版本”标识符 我正在编写一些包装器类,用于以较小的方式序列化某些类型(如可变长度整数)。如果包装器编写了一个类版本,那么整个大小缩减点就丢失了(在大多数情况下,它最终会变得更大) 例如,给定C++ boost序列化忽略包装器的版本,c++,boost,boost-serialization,C++,Boost,Boost Serialization,我如何告诉boost,对于特定结构,它不应该写入/读取类“版本”标识符 我正在编写一些包装器类,用于以较小的方式序列化某些类型(如可变长度整数)。如果包装器编写了一个类版本,那么整个大小缩减点就丢失了(在大多数情况下,它最终会变得更大) 例如,给定整数a,我将替换此代码: ar & a; 为此: ar & wrapper(a); 我看到是包装的特性,但我真的找不到任何关于它的作用的文档,或者它是否有帮助的文档。添加 BOOST_CLASS_IMPLEMENTATION(wra
整数a
,我将替换此代码:
ar & a;
为此:
ar & wrapper(a);
我看到是包装的
特性,但我真的找不到任何关于它的作用的文档,或者它是否有帮助的文档。添加
BOOST_CLASS_IMPLEMENTATION(wrapper, boost::serialization::object_serializable)
它是。您不知道它的底层结构代码,是吗?我有一个模板类型,因此宏不起作用。@edA-qamort-ora-y:如果是其他库,我会建议您只将宏挖出来,但在boost中。。。brrr一想到它我就不寒而栗。是的,我只是在看了宏之后才问。。。虽然我认为我有一个语法,但是从
wrapper\u traits
派生似乎会自动忽略版本,所以我不知道我是否正确。