c++ - 在执行 DFS 时在 Boost::graph 中维护迭代器

标签 c++ boost graph iterator depth-first-search

Boost:graph 库的大多数示例通过调用 boost 的深度优先搜索实用程序来执行深度优先搜索。创建顶点和边后,在图上调用 DFS 以深度优先的方式遍历整个图,如果我们有与之关联的访问者方法,它将调用访问者方法来执行操作,遍历每个节点。

我正在寻找的是一种在图上维护迭代器的方法,而不是一次遍历图,当客户端调用“next()”时,迭代器将移动到下一个顶点遍历到 DFS 并再次调用 next 时,迭代器将移动到 DFS 指示的下一个顶点。

是否有使用 boost:graph 执行上述操作的示例?

谢谢

最佳答案

不幸的是,boost::graph API 基于访问者,即回调。原则上,将其转换为迭代器的唯一方法是协程,而 C++ 没有标准。

关于c++ - 在执行 DFS 时在 Boost::graph 中维护迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12011697/

相关文章:

templates - C++模板静态整数常量: out of class definition

PostgreSQL 将数据从递归 CTE 传递到函数

facebook - 一个关于facebook评论插件的简单问题

c++ - 如何在pugixml中获取节点的内部XML?

c++ - DirectX 项目模板在 Visual Studio 2017 中不可见

C++ 使用同名变量/对象访问命名空间中的全局变量/对象

c++ - boost 线程错误 : undefined reference

c++如何保存临时变量的使用

c++ - boost phoenix::bind 编译时出错

java - 如何在线性时间内从大型 OSM map 构建具有邻接表的无向图