From b9a10e2861e3d9533cf3d21e430b7a7333499317 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Wed, 8 Jun 2005 05:59:57 +0000 Subject: [PATCH] Support root_vertex in depth_first_search [SVN r29473] --- src/python/depth_first_search.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/python/depth_first_search.cpp b/src/python/depth_first_search.cpp index ae3b7a5f..a9b6c34c 100644 --- a/src/python/depth_first_search.cpp +++ b/src/python/depth_first_search.cpp @@ -24,6 +24,7 @@ template void depth_first_search (const Graph& g, + typename Graph::Vertex s, const dfs_visitor& visitor, const vector_property_map* in_color) @@ -37,11 +38,15 @@ depth_first_search bool has_default_visitor = dynamic_cast::default_arg const*>(&visitor); + if (s == graph_traits::null_vertex() && g.num_vertices() > 0) + s = *g.vertices().first; + + if (has_default_visitor) { - boost::depth_first_search(g, boost::dfs_visitor<>(), color); + boost::depth_first_search(g, boost::dfs_visitor<>(), color, s); } else { boost::depth_first_search(g, typename dfs_visitor::ref(visitor), - color); + color, s); } } @@ -111,6 +116,7 @@ void export_depth_first_search() def("depth_first_search", &depth_first_search, (arg("graph"), + arg("root_vertex") = graph_traits::null_vertex(), arg("visitor") = dfs_visitor::default_arg(), arg("color_map") = (vector_property_map*)0)); @@ -132,6 +138,7 @@ void export_depth_first_search() def("depth_first_search", &depth_first_search, (arg("graph"), + arg("root_vertex") = graph_traits::null_vertex(), arg("visitor") = dfs_visitor::default_arg(), arg("color_map") = (vector_property_map*)0));