id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 12,Can't specify VertexPredicate,nobody,jsiek,"{{{ From boost_1_25_1/boost/graph/filtered_graph.hpp, line 230: template inline filtered_graph make_filtered_graph(Graph& g, EdgePredicate ep, VertexPredicate vp) { return filtered_graph(g, ep, vp); } make_filtered_graph is a template function, one of whose template parameters is VertexPredicate. However, the filtered_graph object returned by the function does not make use of this type. I propose that line 233 should read: return filtered_graph(g, ep, vp); I'm using g++ 2.95.3 on Solaris 2.8 for sparc. For the following test case: #include #include using namespace boost; struct NotMuchOfAFilter { template bool operator()(Vertex key) const { return true; } }; int main() { adjacency_list<> graph; make_filtered_graph(graph, keep_all(), NotMuchOfAFilter()); } g++ test.C -ftemplate-depth-30 -Iboost_1_25_1 yields: boost_1_25_1/boost/graph/filtered_graph.hpp: In function `class boost::filtered_graph,boost::keep_all,NotMuchOfAFilter> boost::make_filtered_graph, boost::keep_all, NotMuchOfAFilter>(boost::adjacency_list &, boost::keep_all, NotMuchOfAFilter)': test.C:14: instantiated from here boost_1_25_1/boost/graph/filtered_graph.hpp:233: no matching function for call to `boost::filtered_graph,boost::keep_all,boost::keep_all>::filtered_graph (boost::adjacency_list &, boost::keep_all &, NotMuchOfAFilter &)' boost_1_25_1/boost/graph/filtered_graph.hpp:156: candidates are: boost::filtered_graph,boost::keep_all,boost::keep_all>::filtered_graph(const boost::adjacency_list &, boost::keep_all) boost_1_25_1/boost/graph/filtered_graph.hpp:159: boost::filtered_graph,boost::keep_all,boost::keep_all>::filtered_graph(const boost::adjacency_list &, boost::keep_all, boost::keep_all) boost_1_25_1/boost/graph/filtered_graph.hpp:219: boost::filtered_graph,boost::keep_all,boost::keep_all>::filtered_graph(const boost::filtered_graph,boost::keep_all,boost::keep_all> &) boost_1_25_1/boost/graph/filtered_graph.hpp:233: warning: control reaches end of non-void function `boost::make_filtered_graph, boost::keep_all, NotMuchOfAFilter>(boost::adjacency_list &, boost::keep_all, NotMuchOfAFilter) Making the change I noted above causes the code to compile and run correctly. Keep up the good work on boost and the boost graph library. Congratulations on the new book! }}}",Bugs,closed,,graph,None,,Fixed,,