I have updated Boost.Graph to use the new iterator adaptors, except for the LEDA and standford graph support stuff: I lack the neccessary headers to test it.
Some of the bugs uncovered by CWPro8 are serious, and some don't even have a resolution that I can see. For example: * vector_as_graph.hpp - ADL problems. This should be fairly obvious if you're familiar with ADL: on a conforming compiler, the unqualified calls used in Boost.Graph (e.g. vertices(g)) won't find the definitions of vertices() in namespace boost when g comes from namespace std::. One solution I can come up with is to have the library call vertices_<G>::get(g) whose default implementation is simply return vertices(g) and then specialize vertices_<std::vector<T,A> > to do what we want. The alternative is to insert using boost::vertices; etc., before each unqualified call. Ick. Probably a better approach is simply to provide a vector adaptor class template: template<class V> struct vector_graph { vector_graph(V const& v) : m_v(v) {} V const& m_v; ... }; template <class V> vector_graph<V> make_vector_graph(V const& v); * Lots of missing std:: qualifications. I added them, but older compilers may break now. Please seek appropriate workarounds. * This one I'd just like someone to check to make sure I've done the right thing: =================================================================== RCS file: /cvsroot/boost/boost/boost/graph/isomorphism.hpp,v retrieving revision 1.26 diff -u -r1.26 isomorphism.hpp --- boost/graph/isomorphism.hpp 14 Aug 2002 21:17:59 -0000 1.26 +++ boost/graph/isomorphism.hpp 11 Jul 2003 21:10:48 -0000 @@ -186,8 +186,14 @@ f[kp1] = u; in_S[u] = true; num_edges_on_k = 0; - if (match(iter, dfs_num_k + 1)); - return true; + + if (match(iter, dfs_num_k + 1)) +#if 0 + // dwa 2003/7/11 -- this *HAS* to be a bug! + ; +#endif + return true; + in_S[u] = false; } } -- Dave Abrahams Boost Consulting www.boost-consulting.com _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost