diff --git a/include/boost/graph/filtered_graph.hpp b/include/boost/graph/filtered_graph.hpp index 684d939e..10335f83 100644 --- a/include/boost/graph/filtered_graph.hpp +++ b/include/boost/graph/filtered_graph.hpp @@ -143,6 +143,9 @@ namespace boost { // pairs in graph_traits.hpp. I feel dirty. -JGS template struct filtered_graph_base { + typedef graph_traits Traits; + typedef typename Traits::vertex_descriptor vertex_descriptor; + typedef typename Traits::edge_descriptor edge_descriptor; filtered_graph_base(const G& g) : m_g(g) { } //protected: const G& m_g; @@ -281,17 +284,17 @@ namespace boost { return num_edges(g.m_g); } - template - typename filtered_graph::vertex_descriptor - source(typename filtered_graph::edge_descriptor e, + template + typename filtered_graph_base::vertex_descriptor + source(typename filtered_graph_base::edge_descriptor e, const filtered_graph_base& g) { return source(e, g.m_g); } - template - typename filtered_graph::vertex_descriptor - target(typename filtered_graph::edge_descriptor e, + template + typename filtered_graph_base::vertex_descriptor + target(typename filtered_graph_base::edge_descriptor e, const filtered_graph_base& g) { return target(e, g.m_g);