可以/如何使用谷物库序列化数组。
IE
void save(Archive & ar, const unsigned int version) const
{
unsigned int l = g1_size_bin(g,POINT_COMPRESS);
uint8_t data[l];
memset(data, 0, l);
g1_write_bin(data, l, g,POINT_COMPRESS);
ar(l);
ar(data); // what should be here
}
那是行不通的(我也不希望这样做)。也没有
ar(cereal::binary_data(data,l));
(我认为这会起作用,因为它看起来像人们会使用的 boost 代码),这会产生编译错误:
/usr/local/include/cereal/cereal.hpp:79:17:注意:候选模板被忽略:替换失败:可变修改类型'unsigned char(&)[l]'不能用作模板参数 BinaryData binary_data(T && 数据,size_t 大小)
也没有
ar.saveBinaryValue(data,l);
由于该方法似乎只支持 XML/Json 并且我想要一个二进制存档。