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
คุณกำลังมองหาซีเรียล Haskell อยู่ใช่ไหม? ไปที่นี่.