$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: nesotto_at_[hidden]
Date: 2007-10-23 15:56:39
Author: nesotto
Date: 2007-10-23 15:56:39 EDT (Tue, 23 Oct 2007)
New Revision: 40377
URL: http://svn.boost.org/trac/boost/changeset/40377
Log:
applied Ticket #1309 (new Patches)
Text files modified: 
   trunk/boost/range/iterator.hpp |    32 ++++++++++++++++++++++++++++++++        
   1 files changed, 32 insertions(+), 0 deletions(-)
Modified: trunk/boost/range/iterator.hpp
==============================================================================
--- trunk/boost/range/iterator.hpp	(original)
+++ trunk/boost/range/iterator.hpp	2007-10-23 15:56:39 EDT (Tue, 23 Oct 2007)
@@ -24,13 +24,45 @@
 
 namespace boost
 {
+
+#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)  
+
+    namespace range_detail_vc7_1  
+    {  
+       template< typename C, typename Sig = void(C) >  
+       struct range_iterator  
+       {  
+           typedef BOOST_RANGE_DEDUCED_TYPENAME   
+               mpl::eval_if_c< is_const<C>::value,   
+                               range_const_iterator< typename remove_const<C>::type >,  
+                               range_mutable_iterator<C> >::type type;  
+       };  
+    
+       template< typename C, typename T >  
+       struct range_iterator< C, void(T[]) >  
+       {  
+           typedef T* type;  
+       };       
+    }  
+    
+#endif  
+
     template< typename C >
     struct range_iterator
     {
+#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
+  
+        typedef BOOST_RANGE_DEDUCED_TYPENAME  
+               range_detail_vc7_1::range_iterator<C>::type type;  
+           
+#else  
+
         typedef BOOST_RANGE_DEDUCED_TYPENAME 
             mpl::eval_if_c< is_const<C>::value, 
                             range_const_iterator< typename remove_const<C>::type >,
                             range_mutable_iterator<C> >::type type;
+        
+#endif         
     };
     
 } // namespace boost