céréales est une bibliothèque de sérialisation C++11 uniquement en-tête. céréales prend des types de données arbitraires et les transforme de manière réversible en différentes représentations, telles que des encodages binaires compacts, XML ou JSON. céréales a été conçu pour être rapide, léger et facile à étendre - il n'a pas de dépendances externes et peut être facilement regroupé avec d'autres codes ou utilisé de manière autonome.
Vous recherchez plus d’informations sur le fonctionnement des céréales et leur documentation ? Visitez la page Web des céréales pour obtenir les dernières informations.
L'installation et l'utilisation de céréales sont entièrement documentées sur la page Web principale, mais il s'agit d'une version rapide et sale :
# 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 ;
}
Soit contactez-nous par e-mail, soit sur le Web.
les céréales sont autorisées sous la licence BSD.
Vous cherchiez les céréales Haskell ? Allez ici.