C++ Boost图库无向图无平行边强制

C++ Boost图库无向图无平行边强制,c++,boost,C++,Boost,我正在使用Boost图形库来处理一个无向图,并声明我的图 typedef property<vertex_index_t, int, property<vertex_name_t, string> > VertexProperty; typedef adjacency_list<vecS, setS, undirectedS, VertexProperty > UndirectedGraph; 注意到Boost最后添加了两条边。out_degree对它们都

我正在使用Boost图形库来处理一个无向图,并声明我的图

typedef property<vertex_index_t, int, property<vertex_name_t, string> > VertexProperty;
typedef adjacency_list<vecS, setS, undirectedS, VertexProperty > UndirectedGraph; 
注意到Boost最后添加了两条边。out_degree对它们都返回2

现在,问题是:我做错什么了吗?对于集合作为OutEdgeList类型的无向图,add_边(a,b)不应该与add_边(b,a)相同吗


谢谢

问题是OutEdgeList是第一个模板参数,而不是第二个,所以我实际上使用的是vecS而不是set。

你真的解决了这个问题吗?即使OutEdgeList设置为
,我仍然有这个问题,因为
仍然处理边
(A,B)
不等于
(B,A)
,即使在无向图中也是如此。@xuhdev它对我有效:
add_edge(A,B)
add_edge(B,A)