cereal
v1.3.2
cereal は、ヘッダーのみの C++11 シリアル化ライブラリです。 cereal は、任意のデータ型を受け取り、それらをコンパクトなバイナリ エンコーディング、XML、または JSON などのさまざまな表現に可逆的に変換します。 cereal は、高速、軽量、拡張しやすいように設計されています。外部依存関係がなく、他のコードと簡単にバンドルしたり、スタンドアロンで使用したりできます。
シリアルの仕組みとそのドキュメントに関する詳細情報をお探しですか?最新情報を入手するには、シリアルの Web ページにアクセスしてください。
シリアルのインストールと使用方法はメイン Web ページに完全に文書化されていますが、これは簡単で汚いバージョンです。
# 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 ;
}
メールまたはウェブ上でご連絡ください。
シリアルは BSD ライセンスに基づいてライセンスされています。
Haskell シリアルをお探しですか?ここに行ってください。