Fwd: [graph,python] 1.31.0 failures on MSVC6 [fix]

Begin forwarded message:
From: Jeremy Siek <jsiek@osl.iu.edu> Date: February 6, 2004 4:42:48 PM EST To: Raoul Gough <RaoulGough@yahoo.co.uk> Subject: Re: [graph,python] 1.31.0 failures on MSVC6 [fix]
Hi Raoul,
Thanks! I've applied your patch.
Cheers, Jeremy
On Feb 6, 2004, at 3:45 PM, Raoul Gough wrote:
Raoul Gough <RaoulGough@yahoo.co.uk> writes:
I note from the current regression test results at http://boost.sourceforge.net/regression-logs/cs-win32.html that adjacency_matrix_test is a "Fail" on MSVC++6, along with all but one of the other graph library tests. This seems to have the knock-on effect of breaking one of the Boost.Python modules, inheritance.cpp.
Compile errors have been confirmed by various people. The fix to make inheritance.cpp work turns out to be very simple (patch below). Looks like the problem was introduced in revision 1.112.2.1 (21 Jan 2004).
----8<---- Patch for 1.112.2.3 (Version_1_31_0) -----8<----
Index: adjacency_list.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/graph/detail/adjacency_list.hpp,v retrieving revision 1.112.2.3 diff -w -d -u -r1.112.2.3 adjacency_list.hpp --- adjacency_list.hpp 2 Feb 2004 14:25:51 -0000 1.112.2.3 +++ adjacency_list.hpp 6 Feb 2004 20:29:13 -0000 @@ -1019,8 +1019,14 @@ // Placement of these overloaded remove_edge() functions // inside the class avoids a VC++ bug.
+ // O(E/V) or O(log(E/V)) void - remove_edge(typename Config::edge_descriptor e); + remove_edge(typename Config::edge_descriptor e) + { + typedef typename Config::graph_type graph_type; + graph_type& g = static_cast<graph_type&>(*this); + boost::remove_edge(source(e, g), target(e, g), *this); + }
inline void remove_edge(typename Config::out_edge_iterator iter) @@ -1045,15 +1051,6 @@ }
// O(E/V) or O(log(E/V)) - template <class Config> - inline void - bidirectional_graph_helper_with_property<Config>:: remove_edge(typename Config::edge_descriptor e) - { - typedef typename Config::graph_type graph_type; - graph_type& g = static_cast<graph_type&>(*this); - boost::remove_edge(source(e, g), target(e, g), *this); - } - // O(E/V) or O(log(E/V)) template <class EdgeOrIter, class Config> inline void remove_edge(EdgeOrIter e,
-- Raoul Gough. export LESS='-X'
_______________________________________________ Jeremy Siek <jsiek@osl.iu.edu> http://www.osl.iu.edu.edu/~jsiek Ph.D. Student, Indiana University Bloomington C++ Booster (http://www.boost.org) Office phone: (812) 856-1820 _______________________________________________
_______________________________________________ Jeremy Siek <jsiek@osl.iu.edu> http://www.osl.iu.edu.edu/~jsiek Ph.D. Student, Indiana University Bloomington C++ Booster (http://www.boost.org) Office phone: (812) 856-1820 _______________________________________________

Jeremy Siek <jsiek@osl.iu.edu> writes:
Begin forwarded message:
From: Jeremy Siek <jsiek@osl.iu.edu> Date: February 6, 2004 4:42:48 PM EST To: Raoul Gough <RaoulGough@yahoo.co.uk> Subject: Re: [graph,python] 1.31.0 failures on MSVC6 [fix]
Hi Raoul,
Thanks! I've applied your patch.
Cool - glad to be of some help. -- Raoul Gough. export LESS='-X'
participants (2)
-
Jeremy Siek
-
Raoul Gough