在boost中将过滤后的图转换为正则图(邻接列表)

在boost中将过滤后的图转换为正则图(邻接列表),boost,graph,Boost,Graph,我正在使用boost图形库来解决一个网络图问题。我需要将过滤后的图形转换回常规(邻接列表)。我不知道如何将过滤后的图复制到常规图中。有人能告诉我如何将过滤后的图转换回常规图吗 我想转换回去的原因是,我需要使用已经生成的过滤图再生成一个过滤图,这样编译器在编译时会抛出一些错误。因此,我想将过滤后的图形转换为常规图形,并检查其行为。有一个boost::copy\u graph函数,您可以传递过滤后的图形和新的邻接列表,并让它进行复制。你好,耶利米,谢谢,我试过了。我正在使用绑定的边缘属性,似乎它与绑

我正在使用boost图形库来解决一个网络图问题。我需要将过滤后的图形转换回常规(邻接列表)。我不知道如何将过滤后的图复制到常规图中。有人能告诉我如何将过滤后的图转换回常规图吗


我想转换回去的原因是,我需要使用已经生成的过滤图再生成一个过滤图,这样编译器在编译时会抛出一些错误。因此,我想将过滤后的图形转换为常规图形,并检查其行为。

有一个
boost::copy\u graph
函数,您可以传递过滤后的图形和新的
邻接列表
,并让它进行复制。

你好,耶利米,谢谢,我试过了。我正在使用绑定的边缘属性,似乎它与绑定的属性有一些问题。我得到运行时错误,表示顶点超出范围。你有什么建议吗?@user1088211:你有一个小程序有这个问题吗?你好,耶利米!!我无法直接将过滤后的图形复制到原始图形。因此,我尝试使用一个临时图,它是相同的图类型,对于这个副本,图工作得很好,后来将这个临时图分配给我所需的图。所以,问题解决了,一切似乎都很顺利。但我不知道为什么它不是直接复制的。不过,问题已经解决,copy_graph()确实非常有用。谢谢你的建议。:)你好,Jeremiah,我不知道为什么在使用过滤图时无法访问图子项。例如:FilteredGraph fg(g1,er,keep_all())//g1是我的原始图,wr是我的谓词。图形测试;复制图(fg,测试);图:子迭代器c1,c2;tie(c1,c2)=test.children();图温度图1=*c1;//正在向我抛出运行时错误。请给我一些帮助。@user1088211:
过滤图
没有子图所具有的子图树等基础结构;这要简单得多。如果需要该功能,则需要使用
子图