有什么办法可以vertex_descriptor
序列boost::graph
化吗?Boost 确实定义<boost/graph/adj_list_serialize.hpp>
了序列化整个图形结构,但不是单独定义。
我有一个邻接列表图,其中包含 3dvector(顺便说一下,它代表 X、Y、Z 坐标中的 3d 世界)顶点
typedef boost::adjacency_list<
boost::listS,
boost::listS,
boost::undirectedS,
3dvector>
Graph;
typedef Graph::vertex_descriptor VertexId;
typedef Graph::edge_descriptor EdgeId;
但是,我还需要为查找保留单独的映射信息,这就是问题所在:boost 不知道如何序列化VertexId
。它们以这样的方式存储在 STL 映射中:std::map<string, VertexId>
以便字符串查找可以返回图中的正确顶点,因为 avertex_descriptor
本质上是指向图中特定顶点的引用。
我的意图是将图形和地图序列化到一个文件中,但我找不到序列化vertex_descriptor
.