c++ - 边缘列表上带有 map 的 BGL 图

标签 c++ boost dictionary boost-graph

我正在尝试使用 Boost Graph Library 创建一些特定的结构。 我需要有带有输入和输出端口的节点(顶点)。每个输出端口可以连接到其他节点的任何输入端口。我希望能够检查特定输出或输入端口是否连接到任何其他端口。

这个想法是使用 std::map 作为 adjacency_list 内的 OutEdgeList。

根据:http://www.boost.org/doc/libs/1_52_0/libs/graph/doc/using_adjacency_list.html#sec:choosing-graph-type 我只能选择 std::vector、std::list、std::slist、std::set、std::multiset 和 std::hash_set 之一。 (你可以选择mapS作为类型,但它是作为std::set实现的,我无法通过键获取值)

我有几个问题:

  1. 可以使用 std::map 吗?如果是的话怎么办?
  2. 使用 std::map 时如何迭代顶点的输入?
  3. 如果上述不可能,我怎样才能实现这样的结构 适合这个问题吗?

谢谢!

最佳答案

我终于切换到了Lemon graph library这不像 BGL 那样 hacky

关于c++ - 边缘列表上带有 map 的 BGL 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13375368/

相关文章:

dictionary - go1.10.3中add key/value与mapassign方法的关系

c++ - 将属性树 boost 为字符串

c++ - C++ 中的类型转换迭代器

c++ - 如何只读取最后一行的开头?

c++ - Boost ptree 顶级数组

python - 在 Windows 8.1 上安装 Boost Python,正确设置工具链

python - 使用 Tkinter 在未知长度的可迭代中为每个项目创建一个条目

swift - 如何将此效用函数转换为扩展函数?

c++ - 了解曲线全局逼近算法

c++ - 如何删除 vector 的多个添加指针?