зерновые — это библиотека сериализации C++11, предназначенная только для заголовков. зерновые принимают произвольные типы данных и обратимо преобразуют их в различные представления, такие как компактные двоичные кодировки, XML или JSON. зерновой был разработан как быстрый, легкий и простой в расширении - он не имеет внешних зависимостей и может быть легко объединен с другим кодом или использоваться автономно.
Ищете дополнительную информацию о том, как работают хлопья, и документацию к ним? Посетите веб-страницу зерновых, чтобы получить самую свежую информацию.
Установка и использование Grain полностью документированы на главной веб-странице, но это быстрая и грязная версия:
# 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? Иди сюда.