|
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