Boost logo

Boost :

From: Stefan Slapeta (stefan_at_[hidden])
Date: 2004-08-05 04:40:14


On compilers with two-phase lookup (CW*) the workaround_test (range lib)
fails because of incorrect typedefs in iterator.hpp.
(Yes, I know it's very strange to disable partial specialization on a
compiler with two-phase lookup.)

OK to commit this patch for detail/iterator.hpp?

Stefan

Index: iterator.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/detail/iterator.hpp,v
retrieving revision 1.30
diff -u -r1.30 iterator.hpp
--- iterator.hpp 26 Jul 2004 00:31:59 -0000 1.30
+++ iterator.hpp 5 Aug 2004 09:35:08 -0000
@@ -334,8 +334,8 @@
     : std::iterator_traits<Iterator>
 {
     typedef typename std::iterator_traits<Iterator>::distance_type difference_type;
- typedef value_type* pointer;
- typedef value_type& reference;
+ typedef typename std::iterator_traits<Iterator>::value_type* pointer;
+ typedef typename std::iterator_traits<Iterator>::value_type& reference;
 };
 
 template <class Iterator>
@@ -343,8 +343,8 @@
     : std::iterator_traits<Iterator>
 {
     typedef typename std::iterator_traits<Iterator>::distance_type difference_type;
- typedef const value_type* pointer;
- typedef const value_type& reference;
+ typedef const typename std::iterator_traits<Iterator>::value_type* pointer;
+ typedef const typename std::iterator_traits<Iterator>::value_type& reference;
 };
 
 # ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
 


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk