Il y a de bons exemples dans la doc.
Il faut juste faire attention, la sérialisation n'est pas terminée après l'appel à archive
, mais uniquement une fois le destructeur de archive
appelé. Serialization Archives Archive du 22/11/2019 le 29/11/2021
int main() { std::ofstream os("out.cereal", std::ios::binary); cereal::BinaryOutputArchive archive( os ); SomeData myData; archive( myData ); return 0; }
Pour donner un nom spécifique aux champs, on peut remplacer :
template <class Archive> void serialize(Archive& ar) { ar(b_); }
par
template <class Archive> void serialize(Archive& ar) { ar(cereal::make_nvp("b", b_)); }