Я хочу написать сериализованную функцию для класса, который может дополнительно сжимать данные. Я хотел бы использовать средства сжатия, предоставляемые в boost :: iostreams. Кто-нибудь знает, как это сделать?
struct X
{
X() {}
template<class Archive>
void serialize(Archive & ar, const unsigned int version)
{
ar & compression;
if(compression == 0)
{
ar & data;
}
else if(compression == 1)
{
// use boost::iostream compression
// facilities to serialize data
}
}
int compression;
std::vector<int> data;
};