1

我有一个 boost: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序列化为文件的方法?

4

1 回答 1

3

我以前从未见过,但看起来像是您选择的另一个图表周围labeled_graph的薄包装adjacency_list,在这种情况下,您是根据该错误的外观选择的。对通过 序列化邻接列表有增强支持<graph/adj_list_serialize.hpp>,所以看起来你可以使用自由函数序列化非常明智,比如:

template<class Archive>
inline void serialize(
    Archive & ar, 
    my_grap_typedef & g, 
    const unsigned int /*file_version*/
){
  ar & g.graph()
}
于 2012-01-15T11:46:43.950 回答