Boost logo

Boost :

From: Russell Hind (rh_gmane_at_[hidden])
Date: 2005-05-17 02:30:39


Hi Thorsten,

Attached is another patch for ptr_container. It resolves more errors,
but still leaves plenty. Would you like a copy of the bjam.log output
to see the compile errors? (I didn't want to post it to the list as its
29k).

I'm not really sure where to start fixing them.

Cheers

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 16 May 2005 13:30:12 -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,21 @@
 
     public:
 
- using base_type::insert;
+ iterator insert(iterator before, T* x)
+ {
+ return ba se_type::insert(before, x);
+ }
         
         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