Boost logo

Boost :

From: Jeremy Siek (jsiek_at_[hidden])
Date: 2004-02-06 17:49:20


Begin forwarded message:

> From: Jeremy Siek <jsiek_at_[hidden]>
> Date: February 6, 2004 4:42:48 PM EST
> To: Raoul Gough <RaoulGough_at_[hidden]>
> 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_at_[hidden]> 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_at_[hidden]>
> 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_at_[hidden]>
http://www.osl.iu.edu.edu/~jsiek
Ph.D. Student, Indiana University Bloomington
C++ Booster (http://www.boost.org)
Office phone: (812) 856-1820
_______________________________________________


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk