Можно ли/как сериализовать массив с помощью библиотеки cereal.
I.e.
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 && данные, size_t размер )
И не
ar.saveBinaryValue(data,l);
Поскольку этот метод поддерживается только для XML/Json, и мне нужен двоичный архив.