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 라이센스에 따라 라이센스가 부여됩니다.
하스켈 시리얼을 찾고 계셨나요? 여기로 가세요.