Site web Github

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_));
  }