シリアルライブラリを使用して配列をシリアル化できますか、またはどのようにシリアル化しますか。
いえ
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));
(使用するブーストコードのように見えるので、これはうまくいくと思います)、コンパイルエラーが発生します:
/usr/local/include/cereal/cereal.hpp:79:17: 注: 候補テンプレートは無視されました: 置換エラー: 可変的に変更された型 'unsigned char (&)[l]' はテンプレート引数として使用できません BinaryData binary_data( T && data, size_t size )
そうでもない
ar.saveBinaryValue(data,l);
そのメソッドは XML/Json でのみサポートされているように見えるため、バイナリ アーカイブが必要です。