$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Russell Hind (rh_gmane_at_[hidden])
Date: 2005-05-11 04:11:49
Thorsten Ottosen wrote:
> Thanks. I have applied them and comitted.
> 
I've had to make some mods as Borland doesn't appear to like template 
statements in macros.  See attached but don't apply this without reading 
my comments below
> | The next error I'm not so sure on is in tutl.cpp line 233:
> |
> | tut1.cpp:
> | Error E2227 tut1.cpp 233: Extra parameter in call to
> 
> I don't get this error. Do you know what the fix is?
> 
I think the problem is the 'using base_type::release' in the macros at 
the end of reversible_ptr_container.hpp  I don't think Borland is 
picking these up.  I've tried to implement a release instead of the 
using, which just passes it on to base_type.  This works for ptr_vector, 
but gives more compile errors in ptr_deque due to auto_type.  Maybe you 
can help with this?
The other common error is on ptr_sequence_adaptor.hpp line 99.  Perhaps 
you understand what is happening here to?  I've attached my test output 
also.
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.12
diff -u -r1.12 reversible_ptr_container.hpp
--- boost/ptr_container/detail/reversible_ptr_container.hpp	10 May 2005 21:22:23 -0000	1.12
+++ boost/ptr_container/detail/reversible_ptr_container.hpp	11 May 2005 09:05:49 -0000
@@ -40,7 +40,7 @@
 
 namespace boost
 {
-    
+
 namespace ptr_container_detail
 {
 
@@ -63,18 +63,18 @@
     struct is_pointer_or_integral_tag {};
     struct is_range_tag {};
 
-    
-    
+
+
     template
-    < 
-        class Config, 
+    <
+        class Config,
         class CloneAllocator
     >
-    class reversible_ptr_container 
+    class reversible_ptr_container
     {
     private:
         BOOST_STATIC_CONSTANT( bool, allow_null = Config::allow_null );
-        
+
         typedef BOOST_DEDUCED_TYPENAME Config::value_type Ty_;
 
         template< bool allow_null_values >
@@ -82,10 +82,10 @@
         {
             template< class Iter >
             static Ty_* allocate_clone_from_iterator( Iter i )
-            { 
+            {
                 return allocate_clone( Config::get_const_pointer( i ) );
             }
-            
+
             static Ty_* allocate_clone( const Ty_* x )
             {
                 if( allow_null_values )
@@ -100,7 +100,7 @@
 
                 return CloneAllocator::allocate_clone( *x );
             }
-            
+
             static void deallocate_clone( const Ty_* x )
             {
                 if( allow_null_values )
@@ -114,12 +114,12 @@
         };
 
         typedef BOOST_DEDUCED_TYPENAME Config::void_container_type  Cont;
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))    
-        typedef  null_clone_allocator<reversible_ptr_container::allow_null> 
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+        typedef  null_clone_allocator<reversible_ptr_container::allow_null>
                                                                     null_cloner_type;
 #else
         typedef null_clone_allocator<allow_null>                    null_cloner_type;
-#endif        
+#endif
         typedef clone_deleter<null_cloner_type>                     Deleter;
 
         Cont      c_;
@@ -129,59 +129,59 @@
         const Cont& c_private() const    { return c_; }
 
     public: // typedefs
-        typedef  BOOST_DEDUCED_TYPENAME Config::object_type  
+        typedef  BOOST_DEDUCED_TYPENAME Config::object_type
                                object_type;
         typedef  Ty_*          value_type;
         typedef  Ty_*          pointer;
         typedef  Ty_&          reference;
         typedef  const Ty_&    const_reference;
-        
-        typedef  BOOST_DEDUCED_TYPENAME Config::iterator 
+
+        typedef  BOOST_DEDUCED_TYPENAME Config::iterator
                                    iterator;
         typedef  BOOST_DEDUCED_TYPENAME Config::const_iterator
                                    const_iterator;
         typedef  BOOST_DEDUCED_TYPENAME Config::reverse_iterator
                                    reverse_iterator;
-        typedef  BOOST_DEDUCED_TYPENAME Config::const_reverse_iterator     
+        typedef  BOOST_DEDUCED_TYPENAME Config::const_reverse_iterator
                                    const_reverse_iterator;
         typedef  BOOST_DEDUCED_TYPENAME Cont::difference_type
-                                   difference_type; 
+                                   difference_type;
         typedef  BOOST_DEDUCED_TYPENAME Cont::size_type
                                    size_type;
         typedef  BOOST_DEDUCED_TYPENAME Config::allocator_type
                                    allocator_type;
 
-        typedef ptr_container_detail::static_move_ptr<Ty_,Deleter> 
+        typedef ptr_container_detail::static_move_ptr<Ty_,Deleter>
                                    auto_type;
-            
-    protected: 
-            
+
+    protected:
+
         typedef ptr_container_detail::scoped_deleter<Ty_,null_cloner_type>
                                    scoped_deleter;
         typedef BOOST_DEDUCED_TYPENAME Cont::iterator
-                                   ptr_iterator; 
+                                   ptr_iterator;
         typedef BOOST_DEDUCED_TYPENAME Cont::const_iterator
-                                   ptr_const_iterator; 
+                                   ptr_const_iterator;
     private:
 
-        template< class InputIterator >  
-        void copy( InputIterator first, InputIterator last ) 
+        template< class InputIterator >
+        void copy( InputIterator first, InputIterator last )
         {
             std::copy( first, last, begin() );
         }
-        
+
         void copy( const reversible_ptr_container& r )
-        { 
+        {
             copy( r.begin(), r.end() );
         }
-        
+
         void copy_clones_and_release( scoped_deleter& sd ) // nothrow
         {
             BOOST_ASSERT( size_type( std::distance( sd.begin(), sd.end() ) ) == c_.size() );
             std::copy( sd.begin(), sd.end(), c_.begin() );
-            sd.release(); 
+            sd.release();
         }
-        
+
         void insert_clones_and_release( scoped_deleter& sd ) // strong
         {
             c_.insert( sd.begin(), sd.end() );
@@ -189,8 +189,8 @@
         }
 
         template< class ForwardIterator >
-        void clone_assign( ForwardIterator first, 
-                           ForwardIterator last ) // strong 
+        void clone_assign( ForwardIterator first,
+                           ForwardIterator last ) // strong
         {
             BOOST_ASSERT( first != last );
             scoped_deleter sd( first, last );      // strong
@@ -205,34 +205,34 @@
             scoped_deleter sd( first, last );
             insert_clones_and_release( sd, end() );
         }
-        
-        void remove_all() 
+
+        void remove_all()
         {
-            remove( begin(), end() ); 
+            remove( begin(), end() );
         }
 
     protected:
 
-        void insert_clones_and_release( scoped_deleter& sd, 
+        void insert_clones_and_release( scoped_deleter& sd,
                                         iterator where ) // strong
         {
             //
             // 'c_.insert' always provides the strong guarantee for T* elements
             // since a copy constructor of a pointer cannot throw
             //
-            c_.insert( where.base(), 
-                       sd.begin(), sd.end() ); 
+            c_.insert( where.base(),
+                       sd.begin(), sd.end() );
             sd.release();
         }
 
         template< class I >
         void remove( I i )
-        { 
+        {
             null_policy_deallocate_clone( Config::get_const_pointer(i) );
         }
 
         template< class I >
-        void remove( I first, I last ) 
+        void remove( I first, I last )
         {
             for( ; first != last; ++first )
                 remove( first );
@@ -242,7 +242,7 @@
         BOOST_DEDUCED_TYPENAME range_result_iterator<Range>::type
         adl_begin( Range& r )
         {
-            #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))  
+            #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
             return begin( r );
             #else
             using boost::begin;
@@ -254,14 +254,14 @@
         BOOST_DEDUCED_TYPENAME range_result_iterator<Range>::type
         adl_end( Range& r )
         {
-            #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))  
+            #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
             return end( r );
             #else
             using boost::end;
             return end( r );
             #endif
         }
-        
+
         static void enforce_null_policy( Ty_* x, const char* msg )
         {
             if( !allow_null )
@@ -283,27 +283,27 @@
 
     private:
         template< class ForwardIterator >
-        ForwardIterator advance( ForwardIterator begin, size_type n ) 
+        ForwardIterator advance( ForwardIterator begin, size_type n )
         {
             ForwardIterator iter = begin;
             std::advance( iter, n );
             return iter;
         }
-        
+
     private:
         reversible_ptr_container( const reversible_ptr_container& );
         void operator=( const reversible_ptr_container& );
-        
+
     public: // foundation! should be protected!
-        explicit reversible_ptr_container( const allocator_type& a = allocator_type() ) 
+        explicit reversible_ptr_container( const allocator_type& a = allocator_type() )
          : c_( a )
         {}
-        
+
         template< class PtrContainer >
         explicit reversible_ptr_container( std::auto_ptr<PtrContainer> clone )
-          : c_( allocator_type() )                
-        { 
-            swap( *clone ); 
+          : c_( allocator_type() )
+        {
+            swap( *clone );
         }
 
     private:
@@ -330,13 +330,18 @@
         // overhead: null-initilization of container pointer (very cheap compared to cloning)
         // overhead: 1 heap allocation (very cheap compared to cloning)
         template< class InputIterator >
-        reversible_ptr_container( InputIterator first, 
+        reversible_ptr_container( InputIterator first,
                                   InputIterator last,
                                   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 >
@@ -344,40 +349,40 @@
                                   const allocator_type& a )
         : c_( comp, a ) {}
 
-    public:        
+    public:
         ~reversible_ptr_container()
-        { 
+        {
             remove_all();
         }
-        
+
         template< class PtrContainer >
-        void operator=( std::auto_ptr<PtrContainer> clone )     
+        void operator=( std::auto_ptr<PtrContainer> clone )
         {
             swap( *clone );
         }
 
     public:
-        
-        allocator_type get_allocator() const                   
+
+        allocator_type get_allocator() const
         {
-            return c_.get_allocator(); 
+            return c_.get_allocator();
         }
- 
+
     public: // container requirements
         iterator                   begin()            { return iterator( c_.begin() ); }
         const_iterator             begin() const      { return const_iterator( c_.begin() ); }
         iterator                   end()              { return iterator( c_.end() ); }
         const_iterator             end() const        { return const_iterator( c_.end() ); }
-        reverse_iterator           rbegin()           { return reverse_iterator( c_.rbegin() ); } 
-        const_reverse_iterator     rbegin() const     { return const_reverse_iterator( c_.rbegin() ); } 
-        reverse_iterator           rend()             { return reverse_iterator( c_.rend() ); } 
-        const_reverse_iterator     rend() const       { return const_reverse_iterator( c_.rend() ); } 
- 
+        reverse_iterator           rbegin()           { return reverse_iterator( c_.rbegin() ); }
+        const_reverse_iterator     rbegin() const     { return const_reverse_iterator( c_.rbegin() ); }
+        reverse_iterator           rend()             { return reverse_iterator( c_.rend() ); }
+        const_reverse_iterator     rend() const       { return const_reverse_iterator( c_.rend() ); }
+
         void swap( reversible_ptr_container& r ) // notrow
-        { 
+        {
             c_.swap( r.c_ );
         }
-          
+
         size_type size() const // nothrow
         {
             return c_.size();
@@ -385,9 +390,9 @@
 
         size_type max_size() const // nothrow
         {
-            return c_.max_size(); 
+            return c_.max_size();
         }
-        
+
         bool empty() const // nothrow
         {
             return c_.empty();
@@ -396,7 +401,7 @@
     public: // optional container requirements
 
         bool operator==( const reversible_ptr_container& r ) const // nothrow
-        { 
+        {
             if( size() != r.size() )
                 return false;
             else
@@ -407,23 +412,23 @@
         {
             return !(*this == r);
         }
-        
-        bool operator<( const reversible_ptr_container& r ) const // nothrow 
+
+        bool operator<( const reversible_ptr_container& r ) const // nothrow
         {
              return std::lexicographical_compare( begin(), end(), r.begin(), r.end() );
         }
 
-        bool operator<=( const reversible_ptr_container& r ) const // nothrow 
+        bool operator<=( const reversible_ptr_container& r ) const // nothrow
         {
             return !(r < *this);
         }
 
-        bool operator>( const reversible_ptr_container& r ) const // nothrow 
+        bool operator>( const reversible_ptr_container& r ) const // nothrow
         {
             return r < *this;
         }
 
-        bool operator>=( const reversible_ptr_container& r ) const // nothrow 
+        bool operator>=( const reversible_ptr_container& r ) const // nothrow
         {
             return !(*this < r);
         }
@@ -440,20 +445,20 @@
             return res;
         }
 
-        iterator erase( iterator x ) // nothrow 
-        { 
+        iterator erase( iterator x ) // nothrow
+        {
             BOOST_ASSERT( !empty() );
             BOOST_ASSERT( x != end() );
-            
-            remove( x ); 
+
+            remove( x );
             return iterator( c_.erase( x.base() ) );
         }
-        
-        iterator erase( iterator first, iterator last ) // nothrow 
+
+        iterator erase( iterator first, iterator last ) // nothrow
         {
             BOOST_ASSERT( !empty() );
-            remove( first, last ); 
-            return iterator( c_.erase( first.base(), 
+            remove( first, last );
+            return iterator( c_.erase( first.base(),
                                        last.base() ) );
         }
 
@@ -462,66 +467,66 @@
         {
             return erase( adl_begin(r), adl_end(r) );
         }
-        
-        void clear()                               
-        { 
-            remove_all(); 
+
+        void clear()
+        {
+            remove_all();
             c_.clear();
         }
-        
+
     public: // access interface
-        
+
         auto_type release( iterator where )
-        { 
+        {
             BOOST_ASSERT( where != end() );
             if( empty() )
-                throw bad_ptr_container_operation( "'release()' on empty container" ); 
-            
+                throw bad_ptr_container_operation( "'release()' on empty container" );
+
             auto_type ptr( Config::get_pointer( where ) );  // nothrow
             c_.erase( where.base() );                       // nothrow
-            return boost::ptr_container_detail::move( ptr ); 
+            return boost::ptr_container_detail::move( ptr );
         }
 
-        auto_type replace( iterator where, Ty_* x ) // strong  
-        { 
+        auto_type replace( iterator where, Ty_* x ) // strong
+        {
             BOOST_ASSERT( where != end() );
 
             enforce_null_policy( x, "Null pointer in 'replace()'" );
-            
+
             auto_type ptr( x );
-            
+
             if( empty() )
                 throw bad_ptr_container_operation( "'replace()' on empty container" );
 
             auto_type old( Config::get_pointer( where ) );  // nothrow
-            
+
 //#if defined( __GNUC__ ) || defined( __MWERKS__ ) || defined( __COMO__ )
-            const_cast<void*&>(*where.base()) = ptr.release();                
+            const_cast<void*&>(*where.base()) = ptr.release();
 //#else
 //            *where.base() = ptr.release(); // nothrow, commit
-//#endif            
+//#endif
             return boost::ptr_container_detail::move( old );
         }
 
         auto_type replace( size_type idx, Ty_* x ) // strong
         {
             enforce_null_policy( x, "Null pointer in 'replace()'" );
-            
-            auto_type ptr( x ); 
-            
-            if( idx >= size() ) 
+
+            auto_type ptr( x );
+
+            if( idx >= size() )
                 throw bad_index( "'replace()' out of bounds" );
-            
+
             auto_type old( static_cast<Ty_*>( c_[idx] ) ); // nothrow
             c_[idx] = ptr.release();                       // nothrow, commit
             return boost::ptr_container_detail::move( old );
-        } 
-        
+        }
+
     }; // 'reversible_ptr_container'
 
-    
+
     //
-    // two-phase lookup of template functions 
+    // two-phase lookup of template functions
     // is buggy on most compilers, so we use a macro instead
     //
 #define BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( PC, base_type ) \
@@ -541,7 +546,10 @@
       return ptr;                                   \
     }                                               \
                                                     \
-    using base_type::release;                       \
+    auto_type release(iterator where)               \
+    {                                               \
+    	return base_type::release(where);			\
+	}												\
                                                     \
     std::auto_ptr<PC> clone() const                 \
     {                                               \
@@ -556,16 +564,16 @@
     PC( const allocator_type& a = allocator_type() ) : base_type(a) {}                 \
     template< class InputIterator >                                                    \
     PC( InputIterator first, InputIterator last,                                       \
-    const allocator_type& a = allocator_type() ) : base_type( first, last, a ) {}      
-    
+    const allocator_type& a = allocator_type() ) : base_type( first, last, a ) {}
+
+
 
-                 
 #define BOOST_PTR_CONTAINER_DEFINE_NON_INHERITED_MEMBERS( PC, base_type )           \
    BOOST_PTR_CONTAINER_DEFINE_CONSTRUCTORS( PC, base_type )                         \
    BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( PC, base_type )
-    
+
     } // namespace 'ptr_container_detail'
 
-} // namespace 'boost'  
+} // namespace 'boost'
 
 #endif
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	11 May 2005 08:34:52 -0000
@@ -27,7 +27,7 @@
     {
         template
         <
-            class T, 
+            class T,
             size_t N,
             class Allocator = int // dummy
         >
@@ -35,32 +35,32 @@
         {
         public:
             typedef Allocator allocator_type;
-            
-            ptr_array_impl( Allocator a = Allocator() ) 
+
+            ptr_array_impl( Allocator a = Allocator() )
             {
-                this->assign( 0 ); 
+                this->assign( 0 );
             }
-            
+
             ptr_array_impl( size_t, T*, Allocator a = Allocator() )
             {
                 this->assing( 0 );
             }
         };
     }
-    
+
     template
-    < 
-        class T, 
-        size_t N, 
+    <
+        class T,
+        size_t N,
         class CloneAllocator = heap_clone_allocator
     >
-    class ptr_array : public 
-        ptr_sequence_adapter< T, 
+    class ptr_array : public
+        ptr_sequence_adapter< T,
                               ptr_container_detail::ptr_array_impl<void*,N>,
                               CloneAllocator >
-    {  
+    {
     private:
-        typedef ptr_sequence_adapter< T,   
+        typedef ptr_sequence_adapter< T,
                                       ptr_container_detail::ptr_array_impl<void*,N>,
                                       CloneAllocator >
             base_class;
@@ -69,36 +69,36 @@
 
         ptr_array( const ptr_array& );
         void operator=( const ptr_array& );
-        
+
     public:
         typedef U*        value_type;
         typedef U*        pointer;
         typedef U&        reference;
         typedef const U&  const_reference;
-        typedef BOOST_DEDUCED_TYPENAME base_class::auto_type 
+        typedef BOOST_DEDUCED_TYPENAME base_class::auto_type
                           auto_type;
-        
+
     public: // constructors
         ptr_array() : base_class()
         { }
-        
-        ptr_array( std::auto_ptr<ptr_array> r ) 
-        : base_class( r ) { }            
 
-        void operator=( std::auto_ptr<ptr_array> r )
+        ptr_array( std::auto_ptr<ptr_array<T,N,CloneAllocator> > r )
+        : base_class( r ) { }
+
+        void operator=( std::auto_ptr<ptr_array<T,N,CloneAllocator> > r )
         {
             base_class::operator=(r);
         }
-        
-        std::auto_ptr<ptr_array> release()          
-        {                                    
-            std::auto_ptr<ptr_array> ptr( new ptr_array );     
-            this->swap( *ptr );                  
-            return ptr;                          
-        }                                    
-                
-        std::auto_ptr<ptr_array> clone() const      
-        {                                    
+
+        std::auto_ptr<ptr_array<T,N,CloneAllocator> > release()
+        {
+            std::auto_ptr<ptr_array> ptr( new ptr_array );
+            this->swap( *ptr );
+            return ptr;
+        }
+
+        std::auto_ptr<ptr_array<T,N,CloneAllocator> > clone() const
+        {
             std::auto_ptr<ptr_array> pa( new ptr_array );
             for( size_t i = 0; i != N; ++i )
             {
@@ -107,7 +107,7 @@
             }
             return pa;
         }
-        
+
     private: // hide some members
         using base_class::insert;
         using base_class::erase;
@@ -117,7 +117,7 @@
         using base_class::pop_back;
         using base_class::transfer;
         using base_class::get_allocator;
-                
+
     public: // compile-time interface
 
         template< size_t idx >
@@ -126,7 +126,7 @@
             BOOST_STATIC_ASSERT( idx < N );
 
             this->enforce_null_policy( r, "Null pointer in 'ptr_array::replace()'" );
-            
+
             auto_type res( static_cast<U*>( this->c_private()[idx] ) ); // nothrow
             this->c_private()[idx] = r;                                      // nothrow
             return move(res);                                                // nothrow
@@ -152,21 +152,21 @@
         T& at()
         {
             BOOST_STATIC_ASSERT( idx < N );
-            return (*this)[idx]; 
+            return (*this)[idx];
         }
 
         template< size_t idx >
         const T& at() const
         {
             BOOST_STATIC_ASSERT( idx < N );
-            return (*this)[idx]; 
+            return (*this)[idx];
         }
 
         bool is_null( size_t idx ) const
         {
             return base_class::is_null(idx);
         }
-        
+
         template< size_t idx >
         bool is_null() const
         {
Index: boost/ptr_container/ptr_deque.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/ptr_container/ptr_deque.hpp,v
retrieving revision 1.3
diff -u -r1.3 ptr_deque.hpp
--- boost/ptr_container/ptr_deque.hpp	10 May 2005 21:22:22 -0000	1.3
+++ boost/ptr_container/ptr_deque.hpp	11 May 2005 09:03:50 -0000
@@ -21,36 +21,40 @@
 
 namespace boost
 {
-    
+
     template
-    < 
-        class T, 
+    <
+        class T,
         class CloneAllocator = heap_clone_allocator,
         class Allocator      = std::allocator<void*>
     >
-    class ptr_deque : public 
+    class ptr_deque : public
         ptr_sequence_adapter< T,
-                              std::deque<void*,Allocator>,     
+                              std::deque<void*,Allocator>,
                               CloneAllocator >
     {
          typedef   ptr_sequence_adapter< T,
-                                         std::deque<void*,Allocator>,     
+                                         std::deque<void*,Allocator>,
                                          CloneAllocator >
           base_class;
 
+
     public:
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))  
-      BOOST_PTR_CONTAINER_DEFINE_NON_INHERITED_MEMBERS( ptr_deque<T,CloneAllocator,Allocator>, 
-                                                        base_class );        
-#else        
-      BOOST_PTR_CONTAINER_DEFINE_NON_INHERITED_MEMBERS( ptr_deque, 
+        typedef BOOST_DEDUCED_TYPENAME base_class::auto_type   auto_type;
+
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+	  typedef ptr_deque<T,CloneAllocator,Allocator> this_type;
+      BOOST_PTR_CONTAINER_DEFINE_NON_INHERITED_MEMBERS( this_type,
+                                                        base_class );
+#else
+      BOOST_PTR_CONTAINER_DEFINE_NON_INHERITED_MEMBERS( ptr_deque,
                                                         base_class );
 #endif
     };
 
     //////////////////////////////////////////////////////////////////////////////
     // clonability
-    
+
     template< typename T, typename CA, typename A >
     inline ptr_deque<T,CA,A>* new_clone( const ptr_deque<T,CA,A>& r )
     {
Index: boost/ptr_container/ptr_list.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/ptr_container/ptr_list.hpp,v
retrieving revision 1.5
diff -u -r1.5 ptr_list.hpp
--- boost/ptr_container/ptr_list.hpp	10 May 2005 21:22:22 -0000	1.5
+++ boost/ptr_container/ptr_list.hpp	11 May 2005 08:41:03 -0000
@@ -23,31 +23,32 @@
 {
 
     template
-    < 
-        class T, 
+    <
+        class T,
         class CloneAllocator = heap_clone_allocator,
         class Allocator      = std::allocator<void*>
     >
-    class ptr_list : public 
-        ptr_sequence_adapter< T, 
-                              std::list<void*,Allocator>, 
+    class ptr_list : public
+        ptr_sequence_adapter< T,
+                              std::list<void*,Allocator>,
                               CloneAllocator >
     {
-        typedef    ptr_sequence_adapter< T, 
-                                         std::list<void*,Allocator>, 
+        typedef    ptr_sequence_adapter< T,
+                                         std::list<void*,Allocator>,
                                          CloneAllocator >
             base_class;
-        
+
     public:
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))  
-        BOOST_PTR_CONTAINER_DEFINE_NON_INHERITED_MEMBERS( ptr_list<T,CloneAllocator,Allocator>, 
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+		typedef ptr_list<T,CloneAllocator,Allocator> this_type;
+        BOOST_PTR_CONTAINER_DEFINE_NON_INHERITED_MEMBERS( this_type,
                                                           base_class );
-#else        
+#else
 
-        BOOST_PTR_CONTAINER_DEFINE_NON_INHERITED_MEMBERS( ptr_list, 
+        BOOST_PTR_CONTAINER_DEFINE_NON_INHERITED_MEMBERS( ptr_list,
                                                           base_class );
 #endif
-        
+
     public:
         void unique( iterator first, iterator last )
         {
@@ -72,25 +73,25 @@
         }
 
         using base_class::merge;
-        
-        void merge( ptr_list& x )                                 
+
+        void merge( ptr_list& x )
         {
             merge( x, std::less<T>() );
         }
 
-        template< typename Compare > 
-        void merge( ptr_list& x, Compare comp )                   
+        template< typename Compare >
+        void merge( ptr_list& x, Compare comp )
         {
             this->c_private().merge( x.c_private(), void_ptr_indirect_fun<Compare,T>( comp ) );
         }
 
-        void sort()                                                    
-        { 
-            sort( std::less<T>() ); 
+        void sort()
+        {
+            sort( std::less<T>() );
         };
 
-        template< typename Compare > 
-        void sort( Compare comp )                             
+        template< typename Compare >
+        void sort( Compare comp )
         {
             this->c_private().sort( void_ptr_indirect_fun<Compare,T>( comp ) );
         }
@@ -105,7 +106,7 @@
     {
         return r.clone().release();
     }
-    
+
     /////////////////////////////////////////////////////////////////////////
     // swap
 
Index: boost/ptr_container/ptr_map.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/ptr_container/ptr_map.hpp,v
retrieving revision 1.3
diff -u -r1.3 ptr_map.hpp
--- boost/ptr_container/ptr_map.hpp	10 May 2005 21:22:22 -0000	1.3
+++ boost/ptr_container/ptr_map.hpp	11 May 2005 08:39:06 -0000
@@ -21,75 +21,77 @@
 
 namespace boost
 {
-    
+
     template
-    < 
-        class Key, 
-        class T, 
+    <
+        class Key,
+        class T,
         class Compare        = std::less<Key>,
         class CloneAllocator = heap_clone_allocator,
         class Allocator      = std::allocator< std::pair<const Key,void*> >
     >
-    class ptr_map : 
+    class ptr_map :
         public ptr_map_adapter<T,std::map<Key,void*,Compare,Allocator>,CloneAllocator>
     {
         typedef ptr_map_adapter<T,std::map<Key,void*,Compare,Allocator>,CloneAllocator>
             base_type;
-    
+
     public:
         explicit ptr_map( const Compare& comp = Compare(),
-                          const Allocator& a  = Allocator() ) 
+                          const Allocator& a  = Allocator() )
           : base_type( comp, a ) { }
 
         template< class InputIterator >
-        ptr_map( InputIterator first, InputIterator last, 
+        ptr_map( InputIterator first, InputIterator last,
                  const Compare& comp = Compare(),
                  const Allocator& a  = Allocator() )
-          : base_type( first, last, comp, a ) 
+          : base_type( first, last, comp, a )
         { }
-        
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))  
-        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_map<Key,T,Compare,CloneAllocator,Allocator>, 
+
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+		typedef ptr_map<Key,T,Compare,CloneAllocator,Allocator> this_type;
+        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( this_type,
                                                       base_type );
-#else        
+#else
         BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_map, base_type );
-#endif        
+#endif
     };
-    
+
 
 
     template
-    < 
-        class Key, 
-        class T, 
-        class Compare        = std::less<Key>, 
+    <
+        class Key,
+        class T,
+        class Compare        = std::less<Key>,
         class CloneAllocator = heap_clone_allocator,
         class Allocator      = std::allocator< std::pair<const Key,void*> >
     >
-    class ptr_multimap : 
+    class ptr_multimap :
         public ptr_multimap_adapter<T,std::multimap<Key,void*,Compare,Allocator>,CloneAllocator>
     {
         typedef ptr_multimap_adapter<T,std::multimap<Key,void*,Compare,Allocator>,CloneAllocator>
              base_type;
-    
+
     public:
         explicit ptr_multimap( const Compare& comp = Compare(),
-                               const Allocator& a  = Allocator() ) 
+                               const Allocator& a  = Allocator() )
           : base_type( comp, a ) { }
-        
+
         template< class InputIterator >
         ptr_multimap( InputIterator first, InputIterator last,
                       const Compare& comp = Compare(),
                       const Allocator& a  = Allocator() )
-          : base_type( first, last, comp, a ) 
+          : base_type( first, last, comp, a )
         { }
 
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))  
-        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_multimap<Key,T,Compare,CloneAllocator,Allocator>, 
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+		typedef ptr_multimap<Key,T,Compare,CloneAllocator,Allocator> this_type;
+        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( this_type,
                                                       base_type );
-#else        
+#else
 
-        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_multimap, 
+        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_multimap,
                                                       base_type );
 #endif
     };
Index: boost/ptr_container/ptr_map_adapter.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/ptr_container/ptr_map_adapter.hpp,v
retrieving revision 1.9
diff -u -r1.9 ptr_map_adapter.hpp
--- boost/ptr_container/ptr_map_adapter.hpp	10 May 2005 21:22:22 -0000	1.9
+++ boost/ptr_container/ptr_map_adapter.hpp	11 May 2005 08:36:11 -0000
@@ -27,7 +27,7 @@
 {
 
     template
-    < 
+    <
         class T,
         class VoidPtrMap
     >
@@ -35,32 +35,32 @@
     {
         typedef BOOST_DEDUCED_TYPENAME remove_nullable<T>::type
                      U;
-        typedef VoidPtrMap 
+        typedef VoidPtrMap
                      void_container_type;
-        
+
         typedef BOOST_DEDUCED_TYPENAME VoidPtrMap::allocator_type
                      allocator_type;
-        
+
         typedef BOOST_DEDUCED_TYPENAME VoidPtrMap::key_compare
                      key_compare;
-        
+
         typedef BOOST_DEDUCED_TYPENAME VoidPtrMap::value_compare
                      value_compare;
-        
+
         typedef BOOST_DEDUCED_TYPENAME VoidPtrMap::key_type
                      key_type;
-        
+
         typedef U    value_type;
 
-        typedef ptr_map_iterator< 
+        typedef ptr_map_iterator<
                        BOOST_DEDUCED_TYPENAME VoidPtrMap::iterator,
                        BOOST_DEDUCED_TYPENAME VoidPtrMap::key_type, value_type>
                      iterator;
-        
+
         typedef
             ptr_map_iterator<
                        BOOST_DEDUCED_TYPENAME VoidPtrMap::const_iterator,
-                       BOOST_DEDUCED_TYPENAME VoidPtrMap::key_type, 
+                       BOOST_DEDUCED_TYPENAME VoidPtrMap::key_type,
                        const value_type>
                      const_iterator;
 
@@ -73,7 +73,7 @@
         typedef
             ptr_map_iterator<
                        BOOST_DEDUCED_TYPENAME VoidPtrMap::const_reverse_iterator,
-                       BOOST_DEDUCED_TYPENAME VoidPtrMap::key_type, 
+                       BOOST_DEDUCED_TYPENAME VoidPtrMap::key_type,
                        const value_type>
                      const_reverse_iterator;
 
@@ -94,23 +94,23 @@
 
         BOOST_STATIC_CONSTANT( bool, allow_null = boost::is_nullable<T>::value );
     };
-    
-    
+
+
 
     template
-    < 
+    <
         class T,
-        class VoidPtrMap, 
+        class VoidPtrMap,
         class CloneAllocator
     >
-    class ptr_map_adapter_base : 
+    class ptr_map_adapter_base :
         public ptr_container_detail::associative_ptr_container< map_config<T,VoidPtrMap>,
                                                     CloneAllocator >
     {
         typedef ptr_container_detail::associative_ptr_container< map_config<T,VoidPtrMap>,
-                                                     CloneAllocator > 
+                                                     CloneAllocator >
             base_type;
-        
+
     public:
 
         typedef BOOST_DEDUCED_TYPENAME base_type::const_iterator
@@ -131,7 +131,7 @@
                                           ->find( key );
            if( i != const_cast<ptr_map_adapter_base*>(this)->end() )
                return *i;
-           else                                           
+           else
                throw bad_ptr_container_operation( "'ptr_map/multimap::at()' could"
                                                     " not find key" );
         }
@@ -144,16 +144,16 @@
                 VoidPtrMap*     m_;
                 const key_type& key_;
 
-                eraser( VoidPtrMap* m, const key_type& key ) 
+                eraser( VoidPtrMap* m, const key_type& key )
                   : released_(false), m_(m), key_(key)
                 {}
-                
-                ~eraser() 
+
+                ~eraser()
                 {
                     if( !released_ )
                         m_->erase(key_);
                 }
-                
+
                 void release() { released_ = true; }
             };
 
@@ -166,106 +166,107 @@
             else
             {
                 eraser e(&this->c_private(),key); // nothrow
-                value_type res = new T();         // strong 
+                value_type res = new T();         // strong
                 ref = res;                        // nothrow
                 e.release();                      // nothrow
                 return *res;
             }
           }
-        
+
     public:
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))  
-        BOOST_PTR_CONTAINER_DEFINE_CONSTRUCTORS( ptr_map_adapter_base<T,VoidPtrMap,CloneAllocator>, 
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+		typedef ptr_map_adapter_base<T,VoidPtrMap,CloneAllocator> this_type;
+        BOOST_PTR_CONTAINER_DEFINE_CONSTRUCTORS( this_type,
                                                  base_type );
-#else        
-        BOOST_PTR_CONTAINER_DEFINE_CONSTRUCTORS( ptr_map_adapter_base, 
+#else
+        BOOST_PTR_CONTAINER_DEFINE_CONSTRUCTORS( ptr_map_adapter_base,
                                                  base_type );
 #endif
         template< class Compare, class Allocator >
         explicit ptr_map_adapter_base( const Compare& comp,
-                                       const Allocator& a ) 
-        : base_type( comp, a ) 
+                                       const Allocator& a )
+        : base_type( comp, a )
         { }
 
         template< class PtrContainer >
-        ptr_map_adapter_base( std::auto_ptr<PtrContainer> clone ) 
+        ptr_map_adapter_base( std::auto_ptr<PtrContainer> clone )
         : base_type( clone )
         { }
-        
+
         template< typename PtrContainer >
-        void operator=( std::auto_ptr<PtrContainer> clone )    
+        void operator=( std::auto_ptr<PtrContainer> clone )
         {
             base_type::operator=( clone );
-        }        
+        }
+
+        iterator find( const key_type& x )
+        {
+            return iterator( this->c_private().find( x ) );
+        }
+
+        const_iterator find( const key_type& x ) const
+        {
+            return const_iterator( this->c_private().find( x ) );
+        }
+
+        size_type count( const key_type& x ) const
+        {
+            return this->c_private().count( x );
+        }
+
+        iterator lower_bound( const key_type& x )
+        {
+            return iterator( this->c_private().lower_bound( x ) );
+        }
+
+        const_iterator lower_bound( const key_type& x ) const
+        {
+            return const_iterator( this->c_private().lower_bound( x ) );
+        }
+
+        iterator upper_bound( const key_type& x )
+        {
+            return iterator( this->c_private().upper_bound( x ) );
+        }
 
-        iterator find( const key_type& x )                                                
-        {                                                                            
-            return iterator( this->c_private().find( x ) );                                
-        }                                                                            
-
-        const_iterator find( const key_type& x ) const                                    
-        {                                                                            
-            return const_iterator( this->c_private().find( x ) );                          
-        }                                                                            
-
-        size_type count( const key_type& x ) const                                        
-        {                                                                            
-            return this->c_private().count( x );                                           
-        }                                                                            
-                                                                                     
-        iterator lower_bound( const key_type& x )                                         
-        {                                                                            
-            return iterator( this->c_private().lower_bound( x ) );                         
-        }                                                                            
-                                                                                     
-        const_iterator lower_bound( const key_type& x ) const                             
-        {                                                                            
-            return const_iterator( this->c_private().lower_bound( x ) );                   
-        }                                                                            
-                                                                                     
-        iterator upper_bound( const key_type& x )                                         
-        {                                                                            
-            return iterator( this->c_private().upper_bound( x ) );                         
-        }                                                                            
-                                                                                     
-        const_iterator upper_bound( const key_type& x ) const                             
-        {                                                                            
-            return const_iterator( this->c_private().upper_bound( x ) );                   
-        }                                                                            
-                                                                                     
-        iterator_range<iterator> equal_range( const key_type& x )                    
-        {                                                                            
+        const_iterator upper_bound( const key_type& x ) const
+        {
+            return const_iterator( this->c_private().upper_bound( x ) );
+        }
+
+        iterator_range<iterator> equal_range( const key_type& x )
+        {
             std::pair<BOOST_DEDUCED_TYPENAME base_type::ptr_iterator,
                       BOOST_DEDUCED_TYPENAME base_type::ptr_iterator>
-                 p = this->c_private().equal_range( x );   
-            return make_iterator_range( iterator( p.first ), iterator( p.second ) );      
-        }                                                                            
-                                                                                     
-        iterator_range<const_iterator> equal_range( const key_type& x ) const  
-        {                                                                            
+                 p = this->c_private().equal_range( x );
+            return make_iterator_range( iterator( p.first ), iterator( p.second ) );
+        }
+
+        iterator_range<const_iterator> equal_range( const key_type& x ) const
+        {
             std::pair<BOOST_DEDUCED_TYPENAME base_type::ptr_const_iterator,
-                      BOOST_DEDUCED_TYPENAME base_type::ptr_const_iterator> 
-                p = this->c_private().equal_range( x ); 
-            return make_iterator_range( const_iterator( p.first ), const_iterator( p.second ) );    
-        }                                                                            
-                                                                                     
-        reference at( const key_type& key )                                              
-        {                   
-            return lookup( key );                                                         
-        }                                                                            
-                                                                                     
-        const_reference at( const key_type& key ) const                                  
-        {                                                                            
+                      BOOST_DEDUCED_TYPENAME base_type::ptr_const_iterator>
+                p = this->c_private().equal_range( x );
+            return make_iterator_range( const_iterator( p.first ), const_iterator( p.second ) );
+        }
+
+        reference at( const key_type& key )
+        {
             return lookup( key );
         }
 
-        reference operator[]( const key_type& key )                                              
-        {                          
+        const_reference at( const key_type& key ) const
+        {
+            return lookup( key );
+        }
+
+        reference operator[]( const key_type& key )
+        {
             return insert_lookup( key );
-        }              
+        }
 
-        auto_type replace( iterator where, value_type x ) // strong  
-        { 
+        auto_type replace( iterator where, value_type x ) // strong
+        {
             BOOST_ASSERT( where != this->end() );
 
             this->enforce_null_policy( x, "Null pointer in 'replace()'" );
@@ -279,30 +280,30 @@
             where.base()->second = ptr.release();   // nothrow, commit
             return move( old );
         }
-                                                                                     
+
     };
-    
+
 } // ptr_container_detail
 
     /////////////////////////////////////////////////////////////////////////
     // ptr_map_adapter
     /////////////////////////////////////////////////////////////////////////
-    
+
     template
-    < 
+    <
         class T,
-        class VoidPtrMap, 
+        class VoidPtrMap,
         class CloneAllocator = heap_clone_allocator
     >
-    class ptr_map_adapter : 
+    class ptr_map_adapter :
         public ptr_container_detail::ptr_map_adapter_base<T,VoidPtrMap,CloneAllocator>
     {
-        typedef ptr_container_detail::ptr_map_adapter_base<T,VoidPtrMap,CloneAllocator> 
+        typedef ptr_container_detail::ptr_map_adapter_base<T,VoidPtrMap,CloneAllocator>
             base_type;
-    
-    public:    
-        typedef BOOST_DEDUCED_TYPENAME base_type::iterator 
-                     iterator;       
+
+    public:
+        typedef BOOST_DEDUCED_TYPENAME base_type::iterator
+                     iterator;
         typedef BOOST_DEDUCED_TYPENAME base_type::const_iterator
                      const_iterator;
         typedef BOOST_DEDUCED_TYPENAME base_type::object_type
@@ -315,9 +316,9 @@
                     const_reference;
         typedef BOOST_DEDUCED_TYPENAME base_type::auto_type
                     auto_type;
-        typedef BOOST_DEDUCED_TYPENAME VoidPtrMap::key_compare 
+        typedef BOOST_DEDUCED_TYPENAME VoidPtrMap::key_compare
                     key_compare;
-        typedef BOOST_DEDUCED_TYPENAME VoidPtrMap::allocator_type 
+        typedef BOOST_DEDUCED_TYPENAME VoidPtrMap::allocator_type
                     allocator_type;
         typedef BOOST_DEDUCED_TYPENAME base_type::value_type
                     value_type;
@@ -326,41 +327,41 @@
         void safe_insert( const key_type& key, auto_type ptr ) // strong
         {
             std::pair<BOOST_DEDUCED_TYPENAME base_type::ptr_iterator,bool>
-                res = 
-                this->c_private().insert( std::make_pair( key, ptr.get() ) ); // strong, commit      
-            if( res.second )                                                  // nothrow     
+                res =
+                this->c_private().insert( std::make_pair( key, ptr.get() ) ); // strong, commit
+            if( res.second )                                                  // nothrow
                 ptr.release();                                                // nothrow
         }
-    
-        template< class II >                                               
-        void map_basic_clone_and_insert( II first, II last )                  
-        {       
-            while( first != last )                                            
-            {                                            
+
+        template< class II >
+        void map_basic_clone_and_insert( II first, II last )
+        {
+            while( first != last )
+            {
                 if( this->find( first.key() ) == this->end() )
                 {
-                    const object_type& p = *first.base();     // nothrow                    
+                    const object_type& p = *first.base();     // nothrow
                     auto_type ptr( this->null_policy_allocate_clone(
-                                static_cast<value_type>(p.second) ) ); 
-                                                              // strong 
+                                static_cast<value_type>(p.second) ) );
+                                                              // strong
                     this->safe_insert( p.first, ptr_container_detail::
                                                 move( ptr ) );// strong, commit
                 }
-                ++first;                                                      
-            }                                                                 
+                ++first;
+            }
         }
-    
+
     public:
 
         explicit ptr_map_adapter( const key_compare& comp = key_compare(),
-                                  const allocator_type& a = allocator_type()  ) 
+                                  const allocator_type& a = allocator_type()  )
           : base_type( comp, a ) { }
-    
+
         template< class InputIterator >
-        ptr_map_adapter( InputIterator first, InputIterator last, 
+        ptr_map_adapter( InputIterator first, InputIterator last,
                          const key_compare& comp = key_compare(),
                          const allocator_type& a = allocator_type() )
-          : base_type( comp, a ) 
+          : base_type( comp, a )
         {
             map_basic_clone_and_insert( first, last );
         }
@@ -371,7 +372,7 @@
 
         template< class U >
         void operator=( std::auto_ptr<U> r )
-        {  
+        {
             base_type::operator=( r );
         }
 
@@ -393,29 +394,29 @@
         {
             this->enforce_null_policy( x, "Null pointer in ptr_map_adapter::insert()" );
             auto_type ptr( x );                                                 // nothrow
-    
+
             std::pair<BOOST_DEDUCED_TYPENAME base_type::ptr_iterator,bool>
-                 res = this->c_private().insert( std::make_pair( key, x ) );       // strong, commit      
-            if( res.second )                                                                               // nothrow     
+                 res = this->c_private().insert( std::make_pair( key, x ) );       // strong, commit
+            if( res.second )                                                                               // nothrow
                 ptr.release();                                                                             // nothrow
-            return std::make_pair( iterator( res.first ), res.second );  // nothrow   
+            return std::make_pair( iterator( res.first ), res.second );  // nothrow
         }
 
-        bool transfer( iterator object, 
+        bool transfer( iterator object,
                        ptr_map_adapter& from ) // strong
         {
             return this->single_transfer( object, from );
         }
 
-        size_type transfer( iterator first, 
-                            iterator last, 
+        size_type transfer( iterator first,
+                            iterator last,
                             ptr_map_adapter& from ) // basic
         {
             return this->single_transfer( first, last, from );
         }
 
 #ifdef BOOST_NO_SFINAE
-#else    
+#else
 
         template< class Range >
         BOOST_DEDUCED_TYPENAME boost::disable_if< boost::is_same< Range,
@@ -425,39 +426,39 @@
         {
             return transfer( this->adl_begin(r), this->adl_end(r), from );
         }
-        
+
 #endif
 
         size_type transfer( ptr_map_adapter& from ) // basic
         {
             return transfer( from.begin(), from.end(), from );
         }
-        
+
   };
-  
+
   /////////////////////////////////////////////////////////////////////////
   // ptr_multimap_adapter
   /////////////////////////////////////////////////////////////////////////
 
     template
-    < 
+    <
         class T,
-        class VoidPtrMultiMap, 
+        class VoidPtrMultiMap,
         class CloneAllocator = heap_clone_allocator
     >
-    class ptr_multimap_adapter : 
+    class ptr_multimap_adapter :
         public ptr_container_detail::ptr_map_adapter_base<T,VoidPtrMultiMap,CloneAllocator>
     {
         typedef ptr_container_detail::ptr_map_adapter_base<T,VoidPtrMultiMap,CloneAllocator>
              base_type;
-        
+
     public: // typedefs
-        typedef BOOST_DEDUCED_TYPENAME base_type::iterator           
-                       iterator;                 
-        typedef BOOST_DEDUCED_TYPENAME base_type::const_iterator     
-                       const_iterator;           
+        typedef BOOST_DEDUCED_TYPENAME base_type::iterator
+                       iterator;
+        typedef BOOST_DEDUCED_TYPENAME base_type::const_iterator
+                       const_iterator;
         typedef BOOST_DEDUCED_TYPENAME base_type::object_type
-                       object_type;         
+                       object_type;
         typedef BOOST_DEDUCED_TYPENAME base_type::size_type
                        size_type;
         typedef BOOST_DEDUCED_TYPENAME base_type::key_type
@@ -467,41 +468,41 @@
         typedef BOOST_DEDUCED_TYPENAME base_type::value_type
                     value_type;
         typedef BOOST_DEDUCED_TYPENAME base_type::auto_type
-                    auto_type;            
-        typedef BOOST_DEDUCED_TYPENAME VoidPtrMultiMap::key_compare 
+                    auto_type;
+        typedef BOOST_DEDUCED_TYPENAME VoidPtrMultiMap::key_compare
                     key_compare;
-        typedef BOOST_DEDUCED_TYPENAME VoidPtrMultiMap::allocator_type 
+        typedef BOOST_DEDUCED_TYPENAME VoidPtrMultiMap::allocator_type
                     allocator_type;
     private:
 
         void safe_insert( const key_type& key, auto_type ptr ) // strong
         {
-            this->c_private().insert( 
-                           std::make_pair( key, ptr.get() ) ); // strong, commit      
+            this->c_private().insert(
+                           std::make_pair( key, ptr.get() ) ); // strong, commit
             ptr.release();                                     // nothrow
         }
-        
-        template< typename II >                                               
-        void map_basic_clone_and_insert( II first, II last )                  
-        {                                                         
-            while( first != last )                                            
-            {                                            
-                const object_type& pair = *first.base();  // nothrow                     
+
+        template< typename II >
+        void map_basic_clone_and_insert( II first, II last )
+        {
+            while( first != last )
+            {
+                const object_type& pair = *first.base();  // nothrow
                 auto_type ptr( this->null_policy_allocate_clone(
-                                static_cast<value_type>( pair.second ) ) );    
+                                static_cast<value_type>( pair.second ) ) );
                                                           // strong
                 safe_insert( pair.first, ptr_container_detail::
                                          move( ptr ) );   // strong, commit
-                ++first;                                                      
-            }                                                                 
+                ++first;
+            }
         }
-        
+
     public:
-        
+
         explicit ptr_multimap_adapter( const key_compare& comp = key_compare(),
                                        const allocator_type& a = allocator_type() )
           : base_type( comp, a ) { }
-        
+
         template< class InputIterator >
         ptr_multimap_adapter( InputIterator first, InputIterator last,
                               const key_compare& comp = key_compare(),
@@ -517,12 +518,12 @@
 
         template< class U >
         void operator=( std::auto_ptr<U> r )
-        {  
+        {
             base_type::operator=( r );
         }
 
         using base_type::release;
-        
+
         template< typename InputIterator >
         void insert( InputIterator first, InputIterator last ) // basic
         {
@@ -542,27 +543,27 @@
             auto_type ptr( x );         // nothrow
             BOOST_DEDUCED_TYPENAME base_type::ptr_iterator
                 res = this->c_private().insert( std::make_pair( key, x ) );
-                                        // strong, commit        
+                                        // strong, commit
             ptr.release();              // notrow
-            return iterator( res );           
+            return iterator( res );
         }
 
-        
-        void transfer( iterator object, 
+
+        void transfer( iterator object,
                        ptr_multimap_adapter& from ) // strong
         {
             this->multi_transfer( object, from );
         }
 
-        size_type transfer( iterator first, 
-                            iterator last, 
+        size_type transfer( iterator first,
+                            iterator last,
                             ptr_multimap_adapter& from ) // basic
         {
             return this->multi_transfer( first, last, from );
         }
 
 #ifdef BOOST_NO_SFINAE
-#else    
+#else
 
         template< class Range >
         BOOST_DEDUCED_TYPENAME boost::disable_if< boost::is_same< Range,
@@ -573,7 +574,7 @@
             return transfer( this->adl_begin(r), this->adl_end(r), from );
         }
 
-#endif        
+#endif
 
         void transfer( ptr_multimap_adapter& from ) // basic
         {
@@ -587,7 +588,7 @@
     {
         return i.base()->second == 0;
     }
-    
-} // namespace 'boost'  
+
+} // namespace 'boost'
 
 #endif
Index: boost/ptr_container/ptr_sequence_adapter.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/ptr_container/ptr_sequence_adapter.hpp,v
retrieving revision 1.16
diff -u -r1.16 ptr_sequence_adapter.hpp
--- boost/ptr_container/ptr_sequence_adapter.hpp	10 May 2005 21:22:22 -0000	1.16
+++ boost/ptr_container/ptr_sequence_adapter.hpp	11 May 2005 09:06:12 -0000
@@ -29,13 +29,13 @@
 #include <iostream>
 
 namespace boost
-{   
+{
 namespace ptr_container_detail
 {
-        
+
     template
-    < 
-        class T, 
+    <
+        class T,
         class VoidPtrSeq
     >
     struct sequence_config
@@ -47,26 +47,26 @@
 
         typedef BOOST_DEDUCED_TYPENAME VoidPtrSeq::allocator_type
                     allocator_type;
-        
+
         typedef U   value_type;
 
         typedef void_ptr_iterator<
-                        BOOST_DEDUCED_TYPENAME VoidPtrSeq::iterator, U > 
+                        BOOST_DEDUCED_TYPENAME VoidPtrSeq::iterator, U >
                     iterator;
-       
+
         typedef void_ptr_iterator<
                         BOOST_DEDUCED_TYPENAME VoidPtrSeq::const_iterator, const U >
                     const_iterator;
-        
+
         typedef void_ptr_iterator<
                        BOOST_DEDUCED_TYPENAME VoidPtrSeq::reverse_iterator, U >
                    reverse_iterator;
-        
+
         typedef void_ptr_iterator<
                        BOOST_DEDUCED_TYPENAME VoidPtrSeq::const_reverse_iterator, const U >
                    const_reverse_iterator;
-        
-        typedef value_type 
+
+        typedef value_type
                    object_type;
 
 #ifdef BOOST_NO_SFINAE
@@ -76,7 +76,7 @@
         {
             return static_cast<U*>( *i.base() );
         }
-        
+
 #else
         template< class Iter >
         static U* get_pointer( void_ptr_iterator<Iter,U> i )
@@ -89,7 +89,7 @@
         {
             return &*i;
         }
-#endif        
+#endif
 
 #ifdef BOOST_NO_SFINAE
 
@@ -98,7 +98,7 @@
         {
             return static_cast<const U*>( *i.base() );
         }
-        
+
 #else // BOOST_NO_SFINAE
 
 #if BOOST_WORKAROUND(__MWERKS__, <= 0x3003)
@@ -107,7 +107,7 @@
         {
             return static_cast<const U*>( *i.base() );
         }
-#else 
+#else
         template< class Iter >
         static const U* get_const_pointer( void_ptr_iterator<Iter,const U> i )
         {
@@ -124,7 +124,7 @@
 
         BOOST_STATIC_CONSTANT(bool, allow_null = boost::is_nullable<T>::value );
     };
-    
+
 } // ptr_container_detail
 
 
@@ -135,43 +135,44 @@
     }
 
 
-    
+
     template
-    < 
+    <
         class T,
-        class VoidPtrSeq, 
+        class VoidPtrSeq,
         class CloneAllocator = heap_clone_allocator
     >
-    class ptr_sequence_adapter : public 
-        ptr_container_detail::reversible_ptr_container< ptr_container_detail::sequence_config<T,VoidPtrSeq>, 
+    class ptr_sequence_adapter : public
+        ptr_container_detail::reversible_ptr_container< ptr_container_detail::sequence_config<T,VoidPtrSeq>,
                                             CloneAllocator >
     {
         typedef ptr_container_detail::reversible_ptr_container< ptr_container_detail::sequence_config<T,VoidPtrSeq>,
                                                     CloneAllocator >
              base_type;
-        
+
         typedef BOOST_DEDUCED_TYPENAME base_type::scoped_deleter scoped_deleter;
-        
+
     public:
-        typedef BOOST_DEDUCED_TYPENAME base_type::value_type  value_type; 
-        typedef BOOST_DEDUCED_TYPENAME base_type::reference   reference; 
-        typedef BOOST_DEDUCED_TYPENAME base_type::auto_type   auto_type; 
-            
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))  
-        BOOST_PTR_CONTAINER_DEFINE_CONSTRUCTORS( ptr_sequence_adapter<T,VoidPtrSeq,CloneAllocator>, 
+        typedef BOOST_DEDUCED_TYPENAME base_type::value_type  value_type;
+        typedef BOOST_DEDUCED_TYPENAME base_type::reference   reference;
+        typedef BOOST_DEDUCED_TYPENAME base_type::auto_type   auto_type;
+
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+		typedef ptr_sequence_adapter<T,VoidPtrSeq,CloneAllocator> this_type;
+        BOOST_PTR_CONTAINER_DEFINE_CONSTRUCTORS( this_type,
                                                    base_type )
 #else
-        BOOST_PTR_CONTAINER_DEFINE_CONSTRUCTORS( ptr_sequence_adapter, 
+        BOOST_PTR_CONTAINER_DEFINE_CONSTRUCTORS( ptr_sequence_adapter,
                                                    base_type )
-#endif        
-    
+#endif
+
         template< class PtrContainer >
         ptr_sequence_adapter( std::auto_ptr<PtrContainer> clone )
           : base_type( clone )
         { }
 
         template< class PtrContainer >
-        void operator=( std::auto_ptr<PtrContainer> clone )    
+        void operator=( std::auto_ptr<PtrContainer> clone )
         {
             base_type::operator=( clone );
         }
@@ -180,7 +181,7 @@
         // modifiers
         /////////////////////////////////////////////////////////////
 
-        void push_back( value_type x )  // strong               
+        void push_back( value_type x )  // strong
         {
             this->enforce_null_policy( x, "Null pointer in 'push_back()'" );
 
@@ -189,21 +190,21 @@
             ptr.release();                     // nothrow
         }
 
-        void push_front( value_type x )                
+        void push_front( value_type x )
         {
             this->enforce_null_policy( x, "Null pointer in 'push_front()'" );
 
             auto_type ptr( x );                // nothrow
             this->c_private().push_front( x ); // strong, commit
             ptr.release();                     // nothrow
-        } 
+        }
 
         auto_type pop_back()
         {
-            if( this->empty() ) 
+            if( this->empty() )
                 throw bad_ptr_container_operation( "'pop_back()' "
                                                      " on empty container" );
-            auto_type ptr( static_cast<value_type>( 
+            auto_type ptr( static_cast<value_type>(
                          this->c_private().back() ) ); // nothrow
             this->c_private().pop_back();              // nothrow
             return ptr_container_detail::move( ptr );                        // nothrow
@@ -211,28 +212,28 @@
 
         auto_type pop_front()
         {
-            if( this->empty() ) 
-                throw bad_ptr_container_operation( "'pop_front()' on" 
-                                                     " empty container" ); 
-            auto_type ptr( this->c_private().front() ); // nothrow 
+            if( this->empty() )
+                throw bad_ptr_container_operation( "'pop_front()' on"
+                                                     " empty container" );
+            auto_type ptr( this->c_private().front() ); // nothrow
             this->c_private().pop_front();              // nothrow
-            return ptr_container_detail::move( ptr ); 
+            return ptr_container_detail::move( ptr );
         }
-        
-        reference front()        
-        { 
+
+        reference front()
+        {
             BOOST_ASSERT( !::boost::is_null( this->begin() ) );
             if( this->empty() )
                 throw bad_ptr_container_operation( "accessing 'front()' on empty container" );
-            return *this->begin(); 
+            return *this->begin();
         }
 
-        const_reference front() const  
+        const_reference front() const
         {
             BOOST_ASSERT( !::boost::is_null( this->begin() ) );
             if( this->empty() )
                 throw bad_ptr_container_operation( "accessing 'front()' on empty container" );
-            return *this->begin(); 
+            return *this->begin();
         }
 
         reference back()
@@ -240,7 +241,7 @@
             BOOST_ASSERT( !::boost::is_null( --this->end() ) );
             if( this->empty() )
                 throw bad_ptr_container_operation( "accessing 'back()' on empty container" );
-            return *--this->end(); 
+            return *--this->end();
         }
 
         const_reference back() const
@@ -248,25 +249,25 @@
             BOOST_ASSERT( !::boost::is_null( --this->end() ) );
             if( this->empty() )
                 throw bad_ptr_container_operation( "accessing 'back()' on empty container" );
-            return *--this->end(); 
+            return *--this->end();
         }
 
     public: // deque/vector inerface
-        
-        reference operator[]( size_type n ) // nothrow 
+
+        reference operator[]( size_type n ) // nothrow
         {
             BOOST_ASSERT( n < this->size() );
             BOOST_ASSERT( !this->is_null( n ) );
-            return *static_cast<value_type>( this->c_private()[n] ); 
+            return *static_cast<value_type>( this->c_private()[n] );
         }
-        
-        const_reference operator[]( size_type n ) const // nothrow  
-        { 
-            BOOST_ASSERT( n < this->size() ); 
+
+        const_reference operator[]( size_type n ) const // nothrow
+        {
+            BOOST_ASSERT( n < this->size() );
             BOOST_ASSERT( !this->is_null( n ) );
             return *static_cast<value_type>( this->c_private()[n] );
         }
-        
+
         reference at( size_type n )
         {
             if( n >= this->size() )
@@ -274,30 +275,30 @@
             BOOST_ASSERT( !this->is_null( n ) );
             return (*this)[n];
         }
-        
+
         const_reference at( size_type n ) const
         {
             if( n >= this->size() )
                 throw bad_index( "'at()' out of bounds" );
             BOOST_ASSERT( !this->is_null( n ) );
-            return (*this)[n]; 
+            return (*this)[n];
         }
-        
+
     public: // vector interface
-        
+
         size_type capacity() const
         {
             return this->c_private().capacity();
         }
-        
+
         void reserve( size_type n )
         {
-            this->c_private().reserve( n ); 
+            this->c_private().reserve( n );
         }
 
         void reverse()
         {
-            this->c_private().reverse(); 
+            this->c_private().reverse();
         }
 
     public: // assign, insert, transfer
@@ -305,7 +306,7 @@
         // overhead: 1 heap allocation (very cheap compared to cloning)
         template< class InputIterator >
         void assign( InputIterator first, InputIterator last ) // strong
-        { 
+        {
             base_type temp( first, last );
             this->swap( temp );
         }
@@ -327,22 +328,27 @@
         template< class I >
         void insert_impl( iterator before, I first, I last, std::forward_iterator_tag ) // strong
         {
-            if( first == last ) 
+            if( first == last )
                 return;
             scoped_deleter sd( first, last );                // strong
-            this->insert_clones_and_release( sd, before );   // strong, commit 
+            this->insert_clones_and_release( sd, before );   // strong, commit
         }
 
     public:
 
         using base_type::insert;
-        
+
         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
 #else
@@ -356,23 +362,23 @@
 
 #endif
 
-        void transfer( iterator before, 
-                       iterator first, 
-                       iterator last, 
+        void transfer( iterator before,
+                       iterator first,
+                       iterator last,
                        ptr_sequence_adapter& from ) // strong
         {
             BOOST_ASSERT( &from != this );
             if( from.empty() )
                 return;
             this->c_private().
-                insert( before.base(), 
+                insert( before.base(),
                         first.base(), last.base() ); // strong
             from.c_private().erase( first.base(),
                                     last.base() );   // nothrow
         }
 
-        void transfer( iterator before, 
-                       iterator object, 
+        void transfer( iterator before,
+                       iterator object,
                        ptr_sequence_adapter& from ) // strong
         {
             BOOST_ASSERT( &from != this );
@@ -386,7 +392,7 @@
 
 #ifdef BOOST_NO_SFINAE
 #else
-        
+
         template< class Range >
         BOOST_DEDUCED_TYPENAME boost::disable_if< boost::is_same< Range,
                                                                   iterator > >::type
@@ -396,7 +402,7 @@
         }
 
 #endif
-        
+
         void transfer( iterator before, ptr_sequence_adapter& from ) // strong
         {
             BOOST_ASSERT( &from != this );
@@ -409,7 +415,7 @@
         }
 
     public: // null functions
-         
+
         bool is_null( size_type idx ) const
         {
             BOOST_ASSERT( idx < this->size() );
@@ -422,7 +428,7 @@
         {
             sort( first, last, std::less<T>() );
         }
-        
+
         void sort()
         {
             sort( this->begin(), this->end() );
@@ -433,23 +439,23 @@
         {
             BOOST_ASSERT( first <= last && "out of range sort()" );
             BOOST_ASSERT( this->begin() <= first && "out of range sort()" );
-            BOOST_ASSERT( last <= this->end() && "out of range sort()" ); 
+            BOOST_ASSERT( last <= this->end() && "out of range sort()" );
             // some static assert on the arguments of the comparison
-            std::sort( first.base(), last.base(), 
+            std::sort( first.base(), last.base(),
                        void_ptr_indirect_fun<Compare,T>(comp) );
         }
-        
+
         template< class Compare >
         void sort( Compare comp )
         {
             sort( this->begin(), this->end(), comp );
         }
-        
+
         void unique( iterator first, iterator last )
         {
             unique( first, last, std::equal_to<T>() );
         }
-        
+
         void unique()
         {
             unique( this->begin(), this->end() );
@@ -467,26 +473,26 @@
 
         void compact_and_erase_nulls( iterator first, iterator last ) // nothrow
         {
-            
-            typename base_type::ptr_iterator p = std::stable_partition( 
-                                                    first.base(), 
-                                                    last.base(), 
+
+            typename base_type::ptr_iterator p = std::stable_partition(
+                                                    first.base(),
+                                                    last.base(),
                                                     is_not_zero_ptr() );
             this->c_private().erase( p, this->end().base() );
-            
+
         }
-        
+
     public:
-        
+
         template< class Compare >
         void unique( iterator first, iterator last, Compare comp )
         {
             BOOST_ASSERT( first <= last && "out of range unique()" );
             BOOST_ASSERT( this->begin() <= first && "out of range unique()" );
-            BOOST_ASSERT( last <= this->end() && "out of range unique()" ); 
+            BOOST_ASSERT( last <= this->end() && "out of range unique()" );
 
             iterator prev = first;
-            iterator next = first + 1; 
+            iterator next = first + 1;
             for( ; next != last; ++next )
             {
                 if( comp( *prev, *next ) )
@@ -503,7 +509,7 @@
 
             compact_and_erase_nulls( first, last );
         }
-        
+
         template< class Compare >
         void unique( Compare comp )
         {
@@ -515,22 +521,22 @@
         {
             BOOST_ASSERT( first <= last && "out of range unique()" );
             BOOST_ASSERT( this->begin() <= first && "out of range unique()" );
-            BOOST_ASSERT( last <= this->end() && "out of range unique()" ); 
+            BOOST_ASSERT( last <= this->end() && "out of range unique()" );
 
-            iterator next = first; 
+            iterator next = first;
             for( ; next != last; ++next )
             {
                 if( pred( *next ) )
                 {
                     this->remove( next ); // delete object
                     *next.base() = 0;     // mark pointer as deleted
-                    std::cout << " deleting "; 
+                    std::cout << " deleting ";
                 }
             }
 
             compact_and_erase_nulls( first, last );
         }
-        
+
         template< class Pred >
         void erase_if( Pred pred )
         {
@@ -538,43 +544,43 @@
         }
 
 
-        void merge( iterator first, iterator last, 
+        void merge( iterator first, iterator last,
                     ptr_sequence_adapter& from )
         {
              merge( first, last, from, std::less<T>() );
         }
-        
+
         template< class BinPred >
-        void merge( iterator first, iterator last, 
+        void merge( iterator first, iterator last,
                     ptr_sequence_adapter& from, BinPred pred )
         {
             void_ptr_indirect_fun<BinPred,T>  bin_pred(pred);
-            size_type                         current_size = this->size(); 
+            size_type                         current_size = this->size();
             this->transfer( this->end(), first, last, from );
             typename base_type::ptr_iterator middle = this->begin().base();
-            std::advance(middle,current_size); 
+            std::advance(middle,current_size);
             std::inplace_merge( this->begin().base(),
                                 middle,
                                 this->end().base(),
                                 bin_pred );
         }
-        
+
         void merge( ptr_sequence_adapter& r )
         {
             merge( r, std::less<T>() );
             BOOST_ASSERT( r.empty() );
         }
-        
+
         template< class BinPred >
         void merge( ptr_sequence_adapter& r, BinPred pred )
         {
             merge( r.begin(), r.end(), r, pred );
-            BOOST_ASSERT( r.empty() );    
+            BOOST_ASSERT( r.empty() );
         }
 
     };
 
 
-} // namespace 'boost'  
+} // namespace 'boost'
 
 #endif
Index: boost/ptr_container/ptr_set.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/ptr_container/ptr_set.hpp,v
retrieving revision 1.3
diff -u -r1.3 ptr_set.hpp
--- boost/ptr_container/ptr_set.hpp	10 May 2005 21:22:23 -0000	1.3
+++ boost/ptr_container/ptr_set.hpp	11 May 2005 08:39:22 -0000
@@ -24,53 +24,54 @@
 {
 
     template
-    < 
-        class Key, 
+    <
+        class Key,
         class Compare        = std::less<Key>,
         class CloneAllocator = heap_clone_allocator,
         class Allocator      = std::allocator<void*>
     >
-    class ptr_set : 
-        public ptr_set_adapter< Key, 
+    class ptr_set :
+        public ptr_set_adapter< Key,
                                 std::set<void*,void_ptr_indirect_fun<Compare,Key>,Allocator>,
                                 CloneAllocator >
     {
         typedef ptr_set_adapter< Key, std::set<void*,void_ptr_indirect_fun<Compare,Key>,Allocator>,
                                  CloneAllocator >
              base_type;
-                  
+
     public:
         explicit ptr_set( const Compare& comp = Compare(),
-                          const Allocator& a = Allocator() ) 
-         : base_type( comp, a ) 
+                          const Allocator& a = Allocator() )
+         : base_type( comp, a )
         { }
-        
+
         template< typename InputIterator >
-        ptr_set( InputIterator first, InputIterator last, 
+        ptr_set( InputIterator first, InputIterator last,
                  const Compare& comp = Compare(),
-                 const Allocator& a = Allocator() ) 
+                 const Allocator& a = Allocator() )
          : base_type( first, last, comp, a )
         { }
 
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))  
-        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_set<Key,Compare,CloneAllocator,Allocator>, 
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+		typedef ptr_set<Key,Compare,CloneAllocator,Allocator> this_type;
+        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( this_type,
                                                       base_type );
 #else
-        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_set, 
+        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_set,
                                                       base_type );
-#endif        
+#endif
     };
-        
-        
-        
+
+
+
     template
-    < 
-        class Key, 
+    <
+        class Key,
         class Compare        = std::less<Key>,
         class CloneAllocator = heap_clone_allocator,
         class Allocator      = std::allocator<void*>
     >
-    class ptr_multiset : 
+    class ptr_multiset :
         public ptr_multiset_adapter< Key,
                                      std::multiset<void*,void_ptr_indirect_fun<Compare,Key>,Allocator>,
                                      CloneAllocator >
@@ -82,25 +83,26 @@
     public:
         explicit ptr_multiset( const Compare&   comp = Compare(),
                                const Allocator& a    = Allocator() )
-         : base_type( comp, a ) 
+         : base_type( comp, a )
         { }
-        
+
         template< typename InputIterator >
         ptr_multiset( InputIterator first, InputIterator last,
                       const Compare& comp = Compare(),
                       const Allocator& a  = Allocator() )
-         : base_type( first, last, comp, a ) 
+         : base_type( first, last, comp, a )
         { }
 
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))  
-        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_multiset<Key,Compare,CloneAllocator,Allocator>, 
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+		typedef ptr_multiset<Key,Compare,CloneAllocator,Allocator> this_type;
+        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( this_type,
                                                       base_type );
 #else
 
-        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_multiset, 
+        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_multiset,
                                                       base_type );
-#endif        
-                                                                            
+#endif
+
     };
 
     /////////////////////////////////////////////////////////////////////////
@@ -117,7 +119,7 @@
     {
         return r.clone().release();
     }
-    
+
     /////////////////////////////////////////////////////////////////////////
     // swap
 
Index: boost/ptr_container/ptr_vector.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/ptr_container/ptr_vector.hpp,v
retrieving revision 1.3
diff -u -r1.3 ptr_vector.hpp
--- boost/ptr_container/ptr_vector.hpp	10 May 2005 21:22:23 -0000	1.3
+++ boost/ptr_container/ptr_vector.hpp	11 May 2005 09:03:56 -0000
@@ -23,29 +23,32 @@
 {
 
     template
-    < 
-        class T, 
+    <
+        class T,
         class CloneAllocator = heap_clone_allocator,
         class Allocator      = std::allocator<void*>
     >
-    class ptr_vector : public 
-        ptr_sequence_adapter< T, 
-                              std::vector<void*,Allocator>, 
+    class ptr_vector : public
+        ptr_sequence_adapter< T,
+                              std::vector<void*,Allocator>,
                               CloneAllocator >
-    {  
-        typedef ptr_sequence_adapter< T, 
-                                      std::vector<void*,Allocator>, 
-                                      CloneAllocator > 
+    {
+        typedef ptr_sequence_adapter< T,
+                                      std::vector<void*,Allocator>,
+                                      CloneAllocator >
             base_class;
 
     public:
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))  
-        BOOST_PTR_CONTAINER_DEFINE_NON_INHERITED_MEMBERS( ptr_vector<T,CloneAllocator,Allocator>, 
+        typedef BOOST_DEDUCED_TYPENAME base_class::auto_type   auto_type;
+
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+		typedef ptr_vector<T,CloneAllocator,Allocator> this_type;
+        BOOST_PTR_CONTAINER_DEFINE_NON_INHERITED_MEMBERS( this_type,
                                                           base_class );
-#else        
-        BOOST_PTR_CONTAINER_DEFINE_NON_INHERITED_MEMBERS( ptr_vector, 
+#else
+        BOOST_PTR_CONTAINER_DEFINE_NON_INHERITED_MEMBERS( ptr_vector,
                                                           base_class );
-#endif        
+#endif
 
         ptr_vector( BOOST_DEDUCED_TYPENAME base_class::size_type n,
                     const allocator_type& alloc = allocator_type() )
@@ -74,7 +77,7 @@
     {
         l.swap(r);
     }
-    
+
 }
 
 #endif
boost-test(RUN) "ptr_container/indirect_fun" : "libs\ptr_container\test\indirect_fun.cpp"
boost-test(RUN) "ptr_container/tut1" : "libs\ptr_container\test\tut1.cpp"
boost-test(RUN) "ptr_container/iterator_test" : "libs\ptr_container\test\iterator_test.cpp"
boost-test(RUN) "ptr_container/view_example" : "libs\ptr_container\test\view_example.cpp"
boost-test(RUN) "ptr_container/incomplete_type_test" : "libs\ptr_container\test\incomplete_type_test.cpp"
boost-test(RUN) "ptr_container/tree_test" : "libs\ptr_container\test\tree_test.cpp"
boost-test(RUN) "ptr_container/ptr_array" : "libs\ptr_container\test\ptr_array.cpp"
boost-test(RUN) "ptr_container/ptr_map" : "libs\ptr_container\test\ptr_map.cpp"
boost-test(RUN) "ptr_container/ptr_set" : "libs\ptr_container\test\ptr_set.cpp"
boost-test(RUN) "ptr_container/ptr_deque" : "libs\ptr_container\test\ptr_deque.cpp"
boost-test(RUN) "ptr_container/ptr_list" : "libs\ptr_container\test\ptr_list.cpp"
boost-test(RUN) "ptr_container/ptr_vector" : "libs\ptr_container\test\ptr_vector.cpp"
...found 1088 targets...
...updating 60 targets...
borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\indirect_fun.test\borland\debug\indirect_fun.obj
indirect_fun.cpp:
Warning W8057 indirect_fun.cpp 76: Parameter 'argc' is never used in function init_unit_test_suite(int,char * *)
Warning W8057 indirect_fun.cpp 76: Parameter 'argv' is never used in function init_unit_test_suite(int,char * *)
borland-Link-action ..\..\..\bin\boost\libs\ptr_container\test\indirect_fun.test\borland\debug\indirect_fun.exe
execute-test ..\..\..\bin\boost\libs\ptr_container\test\indirect_fun.test\borland\debug\indirect_fun.run
        1 file(s) copied.
**passed** ..\..\..\bin\boost\libs\ptr_container\test\indirect_fun.test\borland\debug\indirect_fun.test
borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\tut1.test\borland\debug\tut1.obj
tut1.cpp:
Error E2034 c:\Users\russell\Projects\boost-cvs\boost\boost/ptr_container/ptr_deque.hpp 48: Cannot convert 'ptr_container_detail::static_move_ptr<animal,ptr_container_detail::clone_deleter<ptr_container_detail::reversible_ptr_container<Config,CloneAllocator>::null_clone_allocator<&allow_null> > >' to 'ptr_container_detail::static_move_ptr<animal,ptr_container_detail::clone_deleter<ptr_container_detail::reversible_ptr_container<ptr_container_detail::sequence_config<animal,_STL::deque<void *,_STL::allocator<void *> > >,heap_clone_allocator>::null_clone_allocator<0> > >' in function ptr_deque<animal,heap_clone_allocator,_STL::allocator<void *> >::release(void_ptr_iterator<_STL::_Deque_iterator<void *,_STL::_Nonconst_traits<void *> >,animal>)
Error E2034 c:\Users\russell\Projects\boost-cvs\boost\boost/ptr_container/detail/reversible_ptr_container.hpp 487: Cannot convert 'move_ptrs::move_source<static_move_ptr<animal,clone_deleter<reversible_ptr_container<sequence_config<animal,_STL::deque<void *,_STL::allocator<void *> > >,heap_clone_allocator>::null_clone_allocator<0> > > >' to 'static_move_ptr<animal,clone_deleter<reversible_ptr_container<Config,CloneAllocator>::null_clone_allocator<&allow_null> > >' in function reversible_ptr_container<sequence_config<animal,_STL::deque<void *,_STL::allocator<void *> > >,heap_clone_allocator>::release(void_ptr_iterator<_STL::_Deque_iterator<void *,_STL::_Nonconst_traits<void *> >,animal>)
Error E2451 c:\Users\russell\Projects\boost-cvs\boost\boost/ptr_container/detail/reversible_ptr_container.hpp 53: Undefined symbol 'deallocate_clone' in function operator void () <animal>(const animal *) const
*** 3 errors in Compile ***
    "bcc32"  -j5 -g255 -q -c -P -w -Ve -Vx -a8 -b-   -v -Od -vi- -tWC -tWR -tWC -WM-  -w-8001  -I"..\..\..\bin\boost\libs\ptr_container\test"   -I"c:\Users\russell\Projects\boost-cvs\boost"  -o"..\..\..\bin\boost\libs\ptr_container\test\tut1.test\borland\debug\tut1.obj"  "tut1.cpp" 
...failed borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\tut1.test\borland\debug\tut1.obj...
...skipped <@boost!libs!ptr_container!test\tut1.test\borland\debug>tut1.CMD for lack of <@boost!libs!ptr_container!test\tut1.test\borland\debug>tut1.obj...
...skipped <@boost!libs!ptr_container!test\tut1.test\borland\debug>tut1.exe for lack of <@boost!libs!ptr_container!test\tut1.test\borland\debug>tut1.CMD...
...skipped <@boost!libs!ptr_container!test\tut1.test\borland\debug>tut1.run for lack of <@boost!libs!ptr_container!test\tut1.test\borland\debug>tut1.exe...
borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\iterator_test.test\borland\debug\iterator_test.obj
iterator_test.cpp:
Warning W8057 iterator_test.cpp 36: Parameter 'argc' is never used in function init_unit_test_suite(int,char * *)
Warning W8057 iterator_test.cpp 36: Parameter 'argv' is never used in function init_unit_test_suite(int,char * *)
borland-Link-action ..\..\..\bin\boost\libs\ptr_container\test\iterator_test.test\borland\debug\iterator_test.exe
execute-test ..\..\..\bin\boost\libs\ptr_container\test\iterator_test.test\borland\debug\iterator_test.run
        1 file(s) copied.
**passed** ..\..\..\bin\boost\libs\ptr_container\test\iterator_test.test\borland\debug\iterator_test.test
borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\view_example.test\borland\debug\view_example.obj
view_example.cpp:
Warning W8091 view_example.cpp 157: template argument _RandomAccessIter passed to 'sort' is a output iterator: random iterator required in function main()
Warning W8092 view_example.cpp 163: template argument Compare passed to 'sort' is not an iterator: random iterator required in function main()
Warning W8092 view_example.cpp 165: template argument Compare passed to 'sort' is not an iterator: random iterator required in function main()
Error E2294 c:\Users\russell\Projects\boost-cvs\boost\boost/ptr_container/ptr_sequence_adapter.hpp 99: Structure required on left side of . or .* in function const photon * get_const_pointer<photon *>(photon *)
*** 1 errors in Compile ***
    "bcc32"  -j5 -g255 -q -c -P -w -Ve -Vx -a8 -b-   -v -Od -vi- -tWC -tWR -tWC -WM-  -w-8001  -I"..\..\..\bin\boost\libs\ptr_container\test"   -I"c:\Users\russell\Projects\boost-cvs\boost"  -o"..\..\..\bin\boost\libs\ptr_container\test\view_example.test\borland\debug\view_example.obj"  "view_example.cpp" 
...failed borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\view_example.test\borland\debug\view_example.obj...
...skipped <@boost!libs!ptr_container!test\view_example.test\borland\debug>view_example.CMD for lack of <@boost!libs!ptr_container!test\view_example.test\borland\debug>view_example.obj...
...skipped <@boost!libs!ptr_container!test\view_example.test\borland\debug>view_example.exe for lack of <@boost!libs!ptr_container!test\view_example.test\borland\debug>view_example.CMD...
...skipped <@boost!libs!ptr_container!test\view_example.test\borland\debug>view_example.run for lack of <@boost!libs!ptr_container!test\view_example.test\borland\debug>view_example.exe...
borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\incomplete_type_test.test\borland\debug\incomplete_type_test.obj
incomplete_type_test.cpp:
Warning W8057 incomplete_type_test.cpp 181: Parameter 'argc' is never used in function init_unit_test_suite(int,char * *)
Warning W8057 incomplete_type_test.cpp 181: Parameter 'argv' is never used in function init_unit_test_suite(int,char * *)
Error E2247 c:\Users\russell\Projects\boost-cvs\boost\boost/ptr_container/clone_allocator.hpp 26: 'Composite::Composite(const Composite &)' is not accessible in function Composite * new_clone<Composite>(const Composite &)
*** 1 errors in Compile ***
    "bcc32"  -j5 -g255 -q -c -P -w -Ve -Vx -a8 -b-   -v -Od -vi- -tWC -tWR -tWC -WM-  -w-8001  -I"..\..\..\bin\boost\libs\ptr_container\test"   -I"c:\Users\russell\Projects\boost-cvs\boost"  -o"..\..\..\bin\boost\libs\ptr_container\test\incomplete_type_test.test\borland\debug\incomplete_type_test.obj"  "incomplete_type_test.cpp" 
...failed borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\incomplete_type_test.test\borland\debug\incomplete_type_test.obj...
...skipped <@boost!libs!ptr_container!test\incomplete_type_test.test\borland\debug>incomplete_type_test.CMD for lack of <@boost!libs!ptr_container!test\incomplete_type_test.test\borland\debug>incomplete_type_test.obj...
...skipped <@boost!libs!ptr_container!test\incomplete_type_test.test\borland\debug>incomplete_type_test.exe for lack of <@boost!libs!ptr_container!test\incomplete_type_test.test\borland\debug>incomplete_type_test.CMD...
...skipped <@boost!libs!ptr_container!test\incomplete_type_test.test\borland\debug>incomplete_type_test.run for lack of <@boost!libs!ptr_container!test\incomplete_type_test.test\borland\debug>incomplete_type_test.exe...
borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\tree_test.test\borland\debug\tree_test.obj
tree_test.cpp:
Warning W8057 tree_test.cpp 278: Parameter 'argc' is never used in function init_unit_test_suite(int,char * *)
Warning W8057 tree_test.cpp 278: Parameter 'argv' is never used in function init_unit_test_suite(int,char * *)
borland-Link-action ..\..\..\bin\boost\libs\ptr_container\test\tree_test.test\borland\debug\tree_test.exe
execute-test ..\..\..\bin\boost\libs\ptr_container\test\tree_test.test\borland\debug\tree_test.run
        1 file(s) copied.
**passed** ..\..\..\bin\boost\libs\ptr_container\test\tree_test.test\borland\debug\tree_test.test
borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\ptr_array.test\borland\debug\ptr_array.obj
ptr_array.cpp:
Error E2285 ptr_array.cpp 89: Could not find a match for 'ptr_array<int,10,heap_clone_allocator>::at<idx>(int)' in function test_array()
Error E2451 ptr_array.cpp 89: Undefined symbol 'ex' in function test_array()
Error E2285 ptr_array.cpp 90: Could not find a match for 'unit_test::ut_detail::ignore_unused_variable_warning<T>(undefined)' in function test_array()
Error E2285 ptr_array.cpp 91: Could not find a match for 'unit_test::ut_detail::ignore_unused_variable_warning<T>(undefined)' in function test_array()
Warning W8057 ptr_array.cpp 157: Parameter 'argc' is never used in function init_unit_test_suite(int,char * *)
Warning W8057 ptr_array.cpp 157: Parameter 'argv' is never used in function init_unit_test_suite(int,char * *)
*** 4 errors in Compile ***
    "bcc32"  -j5 -g255 -q -c -P -w -Ve -Vx -a8 -b-   -v -Od -vi- -tWC -tWR -tWC -WM-  -w-8001  -I"..\..\..\bin\boost\libs\ptr_container\test"   -I"c:\Users\russell\Projects\boost-cvs\boost"  -o"..\..\..\bin\boost\libs\ptr_container\test\ptr_array.test\borland\debug\ptr_array.obj"  "ptr_array.cpp" 
...failed borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\ptr_array.test\borland\debug\ptr_array.obj...
...skipped <@boost!libs!ptr_container!test\ptr_array.test\borland\debug>ptr_array.CMD for lack of <@boost!libs!ptr_container!test\ptr_array.test\borland\debug>ptr_array.obj...
..skipped <@boost!libs!ptr_container!test\ptr_array.test\borland\debug>ptr_array.exe for lack of <@boost!libs!ptr_container!test\ptr_array.test\borland\debug>ptr_array.CMD...
...skipped <@boost!libs!ptr_container!test\ptr_array.test\borland\debug>ptr_array.run for lack of <@boost!libs!ptr_container!test\ptr_array.test\borland\debug>ptr_array.exe...
borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\ptr_map.test\borland\debug\ptr_map.obj
ptr_map.cpp:
Error E2303 c:\Users\russell\Projects\boost-cvs\boost\boost/ptr_container/ptr_map.hpp 54: Type name expected
Error E2139 c:\Users\russell\Projects\boost-cvs\boost\boost/ptr_container/ptr_map.hpp 54: Declaration missing ;
Error E2303 c:\Users\russell\Projects\boost-cvs\boost\boost/ptr_container/ptr_map.hpp 91: Type name expected
Error E2139 c:\Users\russell\Projects\boost-cvs\boost\boost/ptr_container/ptr_map.hpp 91: Declaration missing ;
Error E2451 ptr_map.cpp 206: Undefined symbol 'ex' in function test_map()
Error E2228 ptr_map.cpp 206: Too many error or warning messages in function test_map()
*** 6 errors in Compile ***
    "bcc32"  -j5 -g255 -q -c -P -w -Ve -Vx -a8 -b-   -v -Od -vi- -tWC -tWR -tWC -WM-  -w-8001  -I"..\..\..\bin\boost\libs\ptr_container\test"   -I"c:\Users\russell\Projects\boost-cvs\boost"  -o"..\..\..\bin\boost\libs\ptr_container\test\ptr_map.test\borland\debug\ptr_map.obj"  "ptr_map.cpp" 
...failed borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\ptr_map.test\borland\debug\ptr_map.obj...
...skipped <@boost!libs!ptr_container!test\ptr_map.test\borland\debug>ptr_map.CMD for lack of <@boost!libs!ptr_container!test\ptr_map.test\borland\debug>ptr_map.obj...
...skipped <@boost!libs!ptr_container!test\ptr_map.test\borland\debug>ptr_map.exe for lack of <@boost!libs!ptr_container!test\ptr_map.test\borland\debug>ptr_map.CMD...
...skipped <@boost!libs!ptr_container!test\ptr_map.test\borland\debug>ptr_map.run for lack of <@boost!libs!ptr_container!test\ptr_map.test\borland\debug>ptr_map.exe...
borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\ptr_set.test\borland\debug\ptr_set.obj
ptr_set.cpp:
Error E2303 c:\Users\russell\Projects\boost-cvs\boost\boost/ptr_container/ptr_set.hpp 58: Type name expected
Error E2139 c:\Users\russell\Projects\boost-cvs\boost\boost/ptr_container/ptr_set.hpp 58: Declaration missing ;
Error E2303 c:\Users\russell\Projects\boost-cvs\boost\boost/ptr_container/ptr_set.hpp 99: Type name expected
Error E2139 c:\Users\russell\Projects\boost-cvs\boost\boost/ptr_container/ptr_set.hpp 99: Declaration missing ;
Error E2451 ptr_set.cpp 26: Undefined symbol 'ex' in function test_set()
Error E2228 ptr_set.cpp 26: Too many error or warning messages in function test_set()
*** 6 errors in Compile ***
    "bcc32"  -j5 -g255 -q -c -P -w -Ve -Vx -a8 -b-   -v -Od -vi- -tWC -tWR -tWC -WM-  -w-8001  -I"..\..\..\bin\boost\libs\ptr_container\test"   -I"c:\Users\russell\Projects\boost-cvs\boost"  -o"..\..\..\bin\boost\libs\ptr_container\test\ptr_set.test\borland\debug\ptr_set.obj"  "ptr_set.cpp" 
...failed borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\ptr_set.test\borland\debug\ptr_set.obj...
...skipped <@boost!libs!ptr_container!test\ptr_set.test\borland\debug>ptr_set.CMD for lack of <@boost!libs!ptr_container!test\ptr_set.test\borland\debug>ptr_set.obj...
...skipped <@boost!libs!ptr_container!test\ptr_set.test\borland\debug>ptr_set.exe for lack of <@boost!libs!ptr_container!test\ptr_set.test\borland\debug>ptr_set.CMD...
...skipped <@boost!libs!ptr_container!test\ptr_set.test\borland\debug>ptr_set.run for lack of <@boost!libs!ptr_container!test\ptr_set.test\borland\debug>ptr_set.exe...
borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\ptr_deque.test\borland\debug\ptr_deque.obj
ptr_deque.cpp:
Error E2285 sequence_test_data.hpp 81: Could not find a match for 'ptr_sequence_adapter<Base,deque<void *,allocator<void *> >,heap_clone_allocator>::insert<InputIterator>(void_ptr_iterator<_Deque_iterator<void *,_Nonconst_traits<void *> >,Base>,Derived_class *)' in function void reversible_container_test<ptr_deque<Base,heap_clone_allocator,allocator<void *> >,Base,Derived_class>()
Error E2034 sequence_test_data.hpp 113: Cannot convert 'ptr_container_detail::static_move_ptr<Base,ptr_container_detail::clone_deleter<ptr_container_detail::reversible_ptr_container<Config,CloneAllocator>::null_clone_allocator<&allow_null> > >' to 'ptr_container_detail::static_move_ptr<Base,ptr_container_detail::clone_deleter<ptr_container_detail::reversible_ptr_container<ptr_container_detail::sequence_config<Base,deque<void *,allocator<void *> > >,heap_clone_allocator>::null_clone_allocator<0> > >' in function void reversible_container_test<ptr_deque<Base,heap_clone_allocator,allocator<void *> >,Base,Derived_class>()
Warning W8004 sequence_test_data.hpp 132: 'ptr2' is assigned a value that is never used in function void reversible_container_test<ptr_deque<Base,heap_clone_allocator,allocator<void *> >,Base,Derived_class>()
Warning W8057 test_data.hpp 215: Parameter 'r' is never used in function void hide_warning<allocator<void *> >(allocator<void *> &)
Warning W8057 test_data.hpp 215: Parameter 'r' is never used in function void hide_warning<unsigned int>(unsigned int &)
Warning W8057 test_data.hpp 215: Parameter 'r' is never used in function void hide_warning<Base>(Base &)
Warning W8057 test_data.hpp 215: Parameter 'r' is never used in function void hide_warning<const Base>(const Base &)
Error E2285 sequence_test_data.hpp 81: Could not find a match for 'ptr_sequence_adapter<Value,deque<void *,allocator<void *> >,heap_clone_allocator>::insert<InputIterator>(void_ptr_iterator<_Deque_iterator<void *,_Nonconst_traits<void *> >,Value>,Value *)' in function void reversible_container_test<ptr_deque<Value,heap_clone_allocator,allocator<void *> >,Value,Value>()
Error E2034 sequence_test_data.hpp 113: Cannot convert 'ptr_container_detail::static_move_ptr<Value,ptr_container_detail::clone_deleter<ptr_container_detail::reversible_ptr_container<Config,CloneAllocator>::null_clone_allocator<&allow_null> > >' to 'ptr_container_detail::static_move_ptr<Value,ptr_container_detail::clone_deleter<ptr_container_detail::reversible_ptr_container<ptr_container_detail::sequence_config<Value,deque<void *,allocator<void *> > >,heap_clone_allocator>::null_clone_allocator<0> > >' in function void reversible_container_test<ptr_deque<Value,heap_clone_allocator,allocator<void *> >,Value,Value>()
Warning W8004 sequence_test_data.hpp 132: 'ptr2' is assigned a value that is never used in function void reversible_container_test<ptr_deque<Value,heap_clone_allocator,allocator<void *> >,Value,Value>()
Warning W8057 test_data.hpp 215: Parameter 'r' is never used in function void hide_warning<Value>(Value &)
Warning W8057 test_data.hpp 215: Parameter 'r' is never used in function void hide_warning<const Value>(const Value &)
Error E2285 sequence_test_data.hpp 81: Could not find a match for 'ptr_sequence_adapter<nullable<Base>,deque<void *,allocator<void *> >,heap_clone_allocator>::insert<InputIterator>(void_ptr_iterator<_Deque_iterator<void *,_Nonconst_traits<void *> >,Base>,Derived_class *)' in function void reversible_container_test<ptr_deque<nullable<Base>,heap_clone_allocator,allocator<void *> >,Base,Derived_class>()
Error E2228 sequence_test_data.hpp 81: Too many error or warning messages in function void reversible_container_test<ptr_deque<nullable<Base>,heap_clone_allocator,allocator<void *> >,Base,Derived_class>()
*** 6 errors in Compile ***
    "bcc32"  -j5 -g255 -q -c -P -w -Ve -Vx -a8 -b-   -v -Od -vi- -tWC -tWR -tWC -WM-  -w-8001  -I"..\..\..\bin\boost\libs\ptr_container\test"   -I"c:\Users\russell\Projects\boost-cvs\boost"  -o"..\..\..\bin\boost\libs\ptr_container\test\ptr_deque.test\borland\debug\ptr_deque.obj"  "ptr_deque.cpp" 
...failed borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\ptr_deque.test\borland\debug\ptr_deque.obj...
...skipped <@boost!libs!ptr_container!test\ptr_deque.test\borland\debug>ptr_deque.CMD for lack of <@boost!libs!ptr_container!test\ptr_deque.test\borland\debug>ptr_deque.obj...
...skipped <@boost!libs!ptr_container!test\ptr_deque.test\borland\debug>ptr_deque.exe for lack of <@boost!libs!ptr_container!test\ptr_deque.test\borland\debug>ptr_deque.CMD...
...skipped <@boost!libs!ptr_container!test\ptr_deque.test\borland\debug>ptr_deque.run for lack of <@boost!libs!ptr_container!test\ptr_deque.test\borland\debug>ptr_deque.exe...
borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\ptr_list.test\borland\debug\ptr_list.obj
ptr_list.cpp:
Error E2303 c:\Users\russell\Projects\boost-cvs\boost\boost/ptr_container/ptr_list.hpp 45: Type name expected
Error E2139 c:\Users\russell\Projects\boost-cvs\boost\boost/ptr_container/ptr_list.hpp 45: Declaration missing ;
Error E2316 sequence_test_data.hpp 34: 'clone' is not a member of 'ptr_list<Base,heap_clone_allocator,allocator<void *> >' in function void reversible_container_test<ptr_list<Base,heap_clone_allocator,allocator<void *> >,Base,Derived_class>()
Error E2285 sequence_test_data.hpp 81: Could not find a match for 'ptr_sequence_adapter<Base,list<void *,allocator<void *> >,heap_clone_allocator>::insert<InputIterator>(void_ptr_iterator<_List_iterator<void *,_Nonconst_traits<void *> >,Base>,Derived_class *)' in function void reversible_container_test<ptr_list<Base,heap_clone_allocator,allocator<void *> >,Base,Derived_class>()
Error E2089 sequence_test_data.hpp 104: Identifier 'auto_type' cannot have a type qualifier in function void reversible_container_test<ptr_list<Base,heap_clone_allocator,allocator<void *> >,Base,Derived_class>()
Error E2228 sequence_test_data.hpp 104: Too many error or warning messages in function void reversible_container_test<ptr_list<Base,heap_clone_allocator,allocator<void *> >,Base,Derived_class>()
*** 6 errors in Compile ***
    "bcc32"  -j5 -g255 -q -c -P -w -Ve -Vx -a8 -b-   -v -Od -vi- -tWC -tWR -tWC -WM-  -w-8001  -I"..\..\..\bin\boost\libs\ptr_container\test"   -I"c:\Users\russell\Projects\boost-cvs\boost"  -o"..\..\..\bin\boost\libs\ptr_container\test\ptr_list.test\borland\debug\ptr_list.obj"  "ptr_list.cpp" 
...failed borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\ptr_list.test\borland\debug\ptr_list.obj...
...skipped <@boost!libs!ptr_container!test\ptr_list.test\borland\debug>ptr_list.CMD for lack of <@boost!libs!ptr_container!test\ptr_list.test\borland\debug>ptr_list.obj...
...skipped <@boost!libs!ptr_container!test\ptr_list.test\borland\debug>ptr_list.exe for lack of <@boost!libs!ptr_container!test\ptr_list.test\borland\debug>ptr_list.CMD...
...skipped <@boost!libs!ptr_container!test\ptr_list.test\borland\debug>ptr_list.run for lack of <@boost!libs!ptr_container!test\ptr_list.test\borland\debug>ptr_list.exe...
borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\ptr_vector.test\borland\debug\ptr_vector.obj
ptr_vector.cpp:
Error E2285 ptr_vector.cpp 33: Could not find a match for 'ptr_sequence_adapter<int,vector<void *,allocator<void *> >,heap_clone_allocator>::insert<InputIterator>(void_ptr_iterator<void * *,int>,int)' in function test_ptr_vector()
Error E2451 ptr_vector.cpp 33: Undefined symbol 'ex' in function test_ptr_vector()
Error E2285 ptr_vector.cpp 34: Could not find a match for 'unit_test::ut_detail::ignore_unused_variable_warning<T>(undefined)' in function test_ptr_vector()
Error E2285 ptr_vector.cpp 36: Could not find a match for 'unit_test::ut_detail::ignore_unused_variable_warning<T>(undefined)' in function test_ptr_vector()
Error E2285 ptr_vector.cpp 37: Could not find a match for 'unit_test::ut_detail::ignore_unused_variable_warning<T>(undefined)' in function test_ptr_vector()
Error E2228 ptr_vector.cpp 37: Too many error or warning messages in function test_ptr_vector()
*** 6 errors in Compile ***
    "bcc32"  -j5 -g255 -q -c -P -w -Ve -Vx -a8 -b-   -v -Od -vi- -tWC -tWR -tWC -WM-  -w-8001  -I"..\..\..\bin\boost\libs\ptr_container\test"   -I"c:\Users\russell\Projects\boost-cvs\boost"  -o"..\..\..\bin\boost\libs\ptr_container\test\ptr_vector.test\borland\debug\ptr_vector.obj"  "ptr_vector.cpp" 
...failed borland-C++-action ..\..\..\bin\boost\libs\ptr_container\test\ptr_vector.test\borland\debug\ptr_vector.obj...
...skipped <@boost!libs!ptr_container!test\ptr_vector.test\borland\debug>ptr_vector.CMD for lack of <@boost!libs!ptr_container!test\ptr_vector.test\borland\debug>ptr_vector.obj...
...skipped <@boost!libs!ptr_container!test\ptr_vector.test\borland\debug>ptr_vector.exe for lack of <@boost!libs!ptr_container!test\ptr_vector.test\borland\debug>ptr_vector.CMD...
...skipped <@boost!libs!ptr_container!test\ptr_vector.test\borland\debug>ptr_vector.run for lack of <@boost!libs!ptr_container!test\ptr_vector.test\borland\debug>ptr_vector.exe...
...failed updating 9 targets...
...skipped 36 targets...
...updated 15 targets...