Cerealien ist eine C++11-Serialisierungsbibliothek nur für Header. Cerealien nimmt beliebige Datentypen und wandelt sie reversibel in unterschiedliche Darstellungen um, beispielsweise kompakte Binärkodierungen, XML oder JSON. Cerealien wurden so konzipiert, dass es schnell, leicht und einfach zu erweitern ist – es weist keine externen Abhängigkeiten auf und kann problemlos mit anderem Code gebündelt oder eigenständig verwendet werden.
Suchen Sie weitere Informationen zur Funktionsweise und Dokumentation von Cerealien? Besuchen Sie die Website von Cerealien, um die neuesten Informationen zu erhalten.
Die Installation und Verwendung von Müsli ist auf der Hauptwebseite vollständig dokumentiert, dies ist jedoch eine schnelle und schmutzige Version:
# 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 ;
}
Nehmen Sie entweder per E-Mail oder im Internet Kontakt mit uns auf.
Cerealien ist unter der BSD-Lizenz lizenziert.
Haben Sie nach dem Haskell-Müsli gesucht? Gehen Sie hierher.