c++ - 如何序列化类型 boost::labeled_graph

标签 c++ serialization boost-graph

我有一个 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 序列化到文件中?

最佳答案

我以前没见过,但是 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()
}

关于c++ - 如何序列化类型 boost::labeled_graph,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8869143/

相关文章:

c++ - 如何获取数组元素的地址?

c++ - NULL 保证为 0 吗?

c++ - boost::property_map在boost中是怎么实现的,怎么改

c++ - 使用 C++ boost 库从图中删除顶点及其所有邻居

c++ - 如何从另一个类调用函数,其中函数使用局部变量

c++ - 如何在 C 中限制套接字连接的带宽?

c++ - 在 OpenCV c++ 中为相机创建透明覆盖

java - 从 Callable 返回的本地类的序列化

python - 编码转储更快,cPickle 加载更快

java - 在java中覆盖类签名