#include #include void test1() { DirFileInfo info; DirFileInfo info2; info.fullPath = "C:\\Users\\Administrator\\Desktop\\test.txt"; info.name.resize(1024); info.name[0] = 'a'; info.name[10] = 'd'; info.name[11] = '\0'; info.name[12] = 'c'; info.lastModifyTime = 1610995200; info.size = 1024; info.permission = 0777; info.type = FileType::File; std::stringstream ss; { cereal::BinaryOutputArchive archive(ss); archive(info); } std::string ret = ss.str(); std::cout << "Serialized size: " << ret.size() << " bytes\n"; { std::stringstream inputSs(ret); cereal::BinaryInputArchive inputArchive(inputSs); inputArchive(info2); } } void test2() { DirFileInfoVec v; DirFileInfoVec v2; DirFileInfo d1; d1.fullPath = "Java"; DirFileInfo d2; d2.fullPath = "CPP"; v.vec.push_back(d1); v.vec.push_back(d2); std::stringstream ss; { cereal::BinaryOutputArchive archive(ss); archive(v); } std::string ret = ss.str(); std::cout << "Serialized size: " << ret.size() << " bytes\n"; { std::stringstream inputSs(ret); cereal::BinaryInputArchive inputArchive(inputSs); inputArchive(v2); } } int main() { test2(); return 0; }