Boost logo

Boost-Commit :

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


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk