cereal
v1.3.2
الحبوب هي مكتبة تسلسل C++ 11 للرأس فقط. تأخذ الحبوب أنواعًا عشوائية من البيانات وتحولها بشكل عكسي إلى تمثيلات مختلفة، مثل الترميزات الثنائية المدمجة، أو XML، أو JSON. تم تصميم الحبوب لتكون سريعة وخفيفة الوزن وسهلة التوسيع - ولا تحتوي على تبعيات خارجية ويمكن تجميعها بسهولة مع كود آخر أو استخدامها بشكل مستقل.
هل تبحث عن مزيد من المعلومات حول كيفية عمل الحبوب وتوثيقها؟ قم بزيارة صفحة ويب الحبوب للحصول على أحدث المعلومات.
تم توثيق تركيب واستخدام الحبوب بشكل كامل على صفحة الويب الرئيسية، ولكن هذه نسخة سريعة وقذرة:
# 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.
هل كنت تبحث عن حبوب هاسكل؟ اذهب هنا.