|
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