Boost logo

Boost :

From: Russell Hind (rh_gmane_at_[hidden])
Date: 2005-05-17 05:21:41


Thorsten Ottosen wrote:
>
> Hi Russell,
>
> I think that running out of time, unfortunately.
>
> I will try to add all your patches tonight, but if there are still
> many errors, it seems like we're running out of time.
>
> Thanks for your effort so far
>

FWIW, there was an error in the patch for ptr_sequence_adaptor.hpp
Attached is a fixed version.

If you apply these patches to ptr_container, then assign will pass all
tests bar (the insert change in ptr_sequence_adaptor fixes some errors
in assign tests)

multi_index_container.cpp // multi-index doesn't work with bcc32
tuple_list_of.cpp // not sure how to fix it
list_of.cpp // not sure how to fix it

Which may be worth it. Then I can start to look at the other failures
after 1.33.0

Thanks

Russell

Index: boost/ptr_container/detail/reversible_ptr_container.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/ptr_container/detail/reversible_ptr_container.hpp,v
retrieving revision 1.13
diff -u -r1.13 reversible_ptr_container.hpp
--- boost/ptr_container/detail/reversible_ptr_container.hpp 13 May 2005 15:20:05 -0000 1.13
+++ boost/ptr_container/detail/reversible_ptr_container.hpp 16 May 2005 13:38:50 -0000
@@ -17,6 +17,7 @@
 # pragma once
 #endif
 
+#include <boost/ptr_container/detail/move.hpp>
 #include <boost/ptr_container/detail/scoped_deleter.hpp>
 #include <boost/ptr_container/detail/static_move_ptr.hpp>
 #include <boost/ptr_container/exception.hpp>
@@ -335,8 +336,13 @@
                                   const allocator_type& a = allocator_type() ) // basic, strong
         : c_( a )
         {
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+ constructor_impl( first, last,
+ iterator_category<InputIterator>::type() );
+#else
             constructor_impl( first, last, BOOST_DEDUCED_TYPENAME
                               iterator_category<InputIterator>::type() );
+#endif
         }
 
         template< class Compare >
Index: boost/ptr_container/ptr_array.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/ptr_container/ptr_array.hpp,v
retrieving revision 1.3
diff -u -r1.3 ptr_array.hpp
--- boost/ptr_container/ptr_array.hpp 1 May 2005 22:27:36 -0000 1.3
+++ boost/ptr_container/ptr_array.hpp 17 May 2005 07:26:01 -0000
@@ -82,10 +82,18 @@
         ptr_array() : base_class()
         { }
         
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+ ptr_array( std::auto_ptr<ptr_array<T,N,CloneAllocator> > r )
+#else
         ptr_array( std::auto_ptr<ptr_array> r )
+#endif
         : base_class( r ) { }
 
- void operator=( std::auto_ptr<ptr_array> r )
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+ void operator=( std::auto_ptr<ptr_array<T,N,CloneAllocator> > r )
+#else
+ void operator=( std::auto_ptr<ptr_array> r )
+#endif
         {
             base_class::operator=(r);
         }
Index: boost/ptr_container/ptr_sequence_adapter.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/ptr_container/ptr_sequence_adapter.hpp,v
retrieving revision 1.21
diff -u -r1.21 ptr_sequence_adapter.hpp
--- boost/ptr_container/ptr_sequence_adapter.hpp 14 May 2005 21:41:24 -0000 1.21
+++ boost/ptr_container/ptr_sequence_adapter.hpp 17 May 2005 10:13:53 -0000
@@ -96,7 +96,11 @@
         template< class Iter >
         static const U* get_const_pointer( Iter i )
         {
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+ return static_cast<const U*>( &*i );
+#else
             return static_cast<const U*>( *i.base() );
+#endif
         }
         
 #else // BOOST_NO_SFINAE
@@ -340,13 +344,25 @@
 
     public:
 
- using base_type::insert;
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+ iterator insert(iterator before, T* x)
+ {
+ return base_type::insert(before, x);
+ }
+#else
+ using base_type::insert;
+#endif
         
         template< class InputIterator >
         void insert( iterator before, InputIterator first, InputIterator last ) // strong
         {
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+ insert_impl( before, first, last,
+ iterator_category<InputIterator>::type() );
+#else
             insert_impl( before, first, last, BOOST_DEDUCED_TYPENAME
                          iterator_category<InputIterator>::type() );
+#endif
         }
 
 #ifdef BOOST_NO_SFINAE


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