如何序列化类型boost :: labeled_graph

时间:2012-01-15 10:53:12

标签: c++ serialization boost-graph

我得到了一个提升:labeled_graph对象类型似乎没有必要的序列化功能。

    error: ‘class boost::labeled_graph<boost::adjacency_list<boost::listS, boost::listS,
 boost::undirectedS, Space, spaceEdge, graphProperties, boost::listS>, std::basic_string<char,
 std::char_traits<char>, std::allocator<char> >, boost::defaultS>’ has no member named
 ‘serialize’

将labeled_graphs序列化为文件的方法是什么?

1 个答案:

答案 0 :(得分:3)

我之前没有见过,但labeled_graph looks like a thin wrapper围绕您选择的另一个图表,在这种情况下,您根据该错误的外观选择了adjacency_list。通过<graph/adj_list_serialize.hpp>对序列化邻接列表提供了强大的支持,所以看起来你可以非常合理地使用free function serializing,例如:

template<class Archive>
inline void serialize(
    Archive & ar, 
    my_grap_typedef & g, 
    const unsigned int /*file_version*/
){
  ar & g.graph()
}