我正在使用带有捆绑属性的boost图 . 在我构建第一个参考树之后 . 我想有几个其他树具有相同的结构和层次结构,但具有不同的顶点和边缘属性 . 我发现有一个copy_graph方法,但不知道如何使用它实现我的目的 . 例如,我首先创建一个引用树, VertexProperty1
和 EdgeProperty1
是捆绑属性
typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::bidirectionalS, VertexProperty1, EdgeProperty1> Graph;
Graph g1;
经过一些处理后,g1包含一些顶点和边 . 然后我想要一个具有不同捆绑属性的复制树 .
typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::bidirectionalS, VertexProperty2, EdgeProperty2> Graph2;
copy_graph(g1, g2, ???);
在此先感谢任何帮助 . 示例代码将是首选 .
1 回答
如果查看documentation,您可以看到参数
vertex_copy
和edge_copy
是实际复制属性的参数 . 这些参数的默认值复制每个顶点/边的所有属性,你需要"does nothing"代替:然后像这样调用
copy_graph
:Running on Coliru