13 Eylül 2017 Çarşamba

serialization make_binary_object metodu

Giriş
Şu satırı dahil edeiz.
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/binary_object.hpp>
POD gibi tipleri yazmak ve okumak için kullanılır.

Örnek
Şöyle yaparız.
namespace boost { namespace serialization {
  template <typename Ar>
    void serialize(Ar& ar, MyPOD& u, unsigned /*version*/) {
      ar & make_binary_object(&u, sizeof(u));
    }
  }
}
Yazmak ve okumak için şöyle yaparız.
#include <iostream>
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>

int main() {
  std::stringstream ss;
  {
    boost::archive::text_oarchive oa(ss);
    MyPOD u = ...;
    oa << u;
  }

  std::cout << ss.str() << "\n";

  {
    boost::archive::text_iarchive ia(ss);
    MyPOD u {};
    ia >> u;

    std::copy(begin(u), end(u),alo
      std::ostream_iterator<int>(std::cout << "roundtripped: ", " "));
  }
}

Hiç yorum yok:

Yorum Gönder