sereal adalah pustaka serialisasi C++11 khusus header. sereal mengambil tipe data arbitrer dan mengubahnya secara reversibel menjadi representasi berbeda, seperti pengkodean biner kompak, XML, atau JSON. sereal dirancang agar cepat, ringan, dan mudah diperluas - tidak memiliki ketergantungan eksternal dan dapat dengan mudah digabungkan dengan kode lain atau digunakan secara mandiri.
Mencari informasi lebih lanjut tentang cara kerja sereal dan dokumentasinya? Kunjungi halaman web sereal untuk mendapatkan informasi terbaru.
Pemasangan dan penggunaan sereal didokumentasikan sepenuhnya di halaman web utama, tetapi ini adalah versi cepat dan kotor:
# include < cereal/types/unordered_map.hpp >
# include < cereal/types/memory.hpp >
# include < cereal/archives/binary.hpp >
# include < fstream >
struct MyRecord
{
uint8_t x, y;
float z;
template < class Archive >
void serialize ( Archive & ar )
{
ar ( x, y, z );
}
};
struct SomeData
{
int32_t id;
std::shared_ptr<std::unordered_map< uint32_t , MyRecord>> data;
template < class Archive >
void save ( Archive & ar ) const
{
ar ( data );
}
template < class Archive >
void load ( Archive & ar )
{
static int32_t idGen = 0 ;
id = idGen++;
ar ( data );
}
};
int main ()
{
std::ofstream os ( " out.cereal " , std::ios::binary);
cereal::BinaryOutputArchive archive ( os );
SomeData myData;
archive ( myData );
return 0 ;
}
Baik menghubungi melalui email atau di web.
sereal dilisensikan di bawah lisensi BSD.
Apakah Anda mencari sereal Haskell? Buka di sini.