[BGL] A bug in the edge_range() function.

2 Apr
2009
2 Apr
'09
10:36 p.m.
In boost 1.37.0 there is a "metaprogramming bug" in the edge_range() function: it fails to compile when the Directed Selector template argument to adjacency_list is set to directedS, but does work if the argument is either undirectedS, or bidirectionalS. Attached below is a short program illustrating the problem. The problem is that edge_range() instantiates a StoredEdge via a constructor taking 3 arguments, but when the Directed Selector is directedS StoredEdge is typedef'ed to stored_edge_property<vertex_descriptor, EdgeProperty>, which has no such constructor. One solution might be to create overloaded edge_range_dispatch() functions, and dispatch on Config::on_edge_storage. -- Michael
5911
Age (days ago)
5911
Last active (days ago)
0 comments
1 participants
participants (1)
-
Michael Olea