使用 boost::serialization 序列化一个包含 boost adjacency_list 作为成员的类
Posted
技术标签:
【中文标题】使用 boost::serialization 序列化一个包含 boost adjacency_list 作为成员的类【英文标题】:Serializing a class containing as a member a boost adjacency_list using boost::serialization 【发布时间】:2013-10-30 15:53:10 【问题描述】:我有一个类,它有一个成员 graph
,它是一个 boost adjacency_list boost::adjacency_list<setS, setS, undirectedS, AINGNodeData, AINGEdgeData> graph;
,它可以直接序列化吗?我怎样才能序列化它?我使用 boost:serialization。
【问题讨论】:
【参考方案1】:这应该不是问题。 boost::adjacency_list<....>
类是可序列化的。查看文件
#include <boost/graph/adj_list_serialize.hpp>
只需确保您的属性AINGNodeData, AINGEdgeData
是可序列化的,库应该负责其余的工作。如果属性是简单类型或容器(例如 std::string),确保包含正确的 serialization 标头就足够了,例如
#include <boost/serialization/string.hpp>
#include <boost/serialization/vector.hpp>
祝你好运。
【讨论】:
以上是关于使用 boost::serialization 序列化一个包含 boost adjacency_list 作为成员的类的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 boost::serialization 序列化 std::vector?
如何为 boost::serialization 指定一个 nvp 包装器?