在开发一种缓存类型、统计信息等关于文件和目录的新型搜索引擎的道路上,我目前正在尝试使用以下方法实现内部目录树的持久缓存msgpack-d
:
为什么不msgpack-d
,而且,从我也可以看到,std.serialization
(橙色)支持通过像 Boost.Serialization 那样的一个通用模板(成员)函数重载来实现打包和解包?例如容器可以使用这个简洁优雅的模板成员函数进行序列化
friend class boost::serialization::access;
template<class Ar> void serialize(Ar& ar, const uint version) {
for (const auto& e : *this) { ar & e; }
}
这将代码大小减半,并消除了使pack
和unpack
不同步的风险。我是否错过了使用这种方法的任何重大缺点,或者这种方法没有被优先考虑?