C++ 边上有映射列表的BGL图
我试图用Boost图形库创建一些特定的结构。 我需要有带有输入和输出端口的节点(顶点)。每个输出端口都可以连接到其他节点的任何输入端口。我希望能够检查特定的输出或输入端口是否连接到任何其他端口 其思想是使用std::map作为邻近列表内部的OutEdgeList 根据: 我只能选择std::vector、std::list、std::slist、std::set、std::multiset和std::hash_set中的一个。 (您可以选择mapS作为类型,但它是作为std::set实现的,我无法通过键获取值) 我有几个问题:C++ 边上有映射列表的BGL图,c++,boost,map,boost-graph,C++,Boost,Map,Boost Graph,我试图用Boost图形库创建一些特定的结构。 我需要有带有输入和输出端口的节点(顶点)。每个输出端口都可以连接到其他节点的任何输入端口。我希望能够检查特定的输出或输入端口是否连接到任何其他端口 其思想是使用std::map作为邻近列表内部的OutEdgeList 根据: 我只能选择std::vector、std::list、std::slist、std::set、std::multiset和std::hash_set中的一个。 (您可以选择mapS作为类型,但它是作为std::set实现的,我无
谢谢大家! 我不明白为什么map不能用作存储输出边的数据结构。Map有迭代器,其工作方式类似于说
std::vector
,等等。要处理传入边,每个顶点上需要2个贴图。AFAIK BGL支持顶点上的两个列表
我建议你修改(破解)BGL,看看会发生什么。变化可能不小。您必须为新类型的容器提供邻接列表专门化。最有可能的是,这会起作用。我最终切换到了没有BGL那么粗糙的地方。BGL的缺点是没有太多的使用,因为在代码编写过程中人们面临的许多问题是,没有太多的示例。