如何使用boost :: unordered_map的boost std :: vector序列化/反序列化

时间:2014-05-29 00:57:25

标签: c++ boost boost-serialization

如何使用boost :: unordered_map的boost std :: vector序列化/反序列化

vector<boost::unordered_map<uint64_t, Person* > *> town;

代表城镇。所有指针都是使用new创建的堆上的行。是否可以在不重构代码的情况下轻松反序列化以使用shared_ptr? 人也有功能

template<class Archive>
void serialize(Archive & archive, const unsigned int version){
...
}

2 个答案:

答案 0 :(得分:1)

Boost序列化中尚不支持

unordered_ *。

添加支持或使用(不推荐使用的)GCC hash_ *容器

如何添加支持的示例在我的答案中:C++ Boost.Serialization error for hash_map with custom objects as key

答案 1 :(得分:0)

Boost自1.5.6版以来已经支持unordered_setunordered_map。您可以只包含头文件。

#include <boost/serialization/unordered_map.hpp>
#include <boost/serialization/unordered_set.hpp>