summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/include/bits/stl_iterator.h18
2 files changed, 18 insertions, 6 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index af4453e6335..5bd0669349f 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2001-06-26 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
+
+ * include/bits/stl_iterator.h (__normal_iterator<>): Qualify
+ dependent names with `typename'. Bring in various required
+ iterator_traits members. Can't imagine why that used to work.
+
2001-06-25 Phil Edwards <pme@sources.redhat.com>
Kurt Garloff <garloff@suse.de>
diff --git a/libstdc++-v3/include/bits/stl_iterator.h b/libstdc++-v3/include/bits/stl_iterator.h
index 148cad6a184..7127a21b5bd 100644
--- a/libstdc++-v3/include/bits/stl_iterator.h
+++ b/libstdc++-v3/include/bits/stl_iterator.h
@@ -443,18 +443,24 @@ private:
// _Iterator parameter is the same.
template<typename _Iterator, typename _Container>
class __normal_iterator
- : public iterator<iterator_traits<_Iterator>::iterator_category,
- iterator_traits<_Iterator>::value_type,
- iterator_traits<_Iterator>::difference_type,
- iterator_traits<_Iterator>::pointer,
- iterator_traits<_Iterator>::reference>
+ : public iterator<typename iterator_traits<_Iterator>::iterator_category,
+ typename iterator_traits<_Iterator>::value_type,
+ typename iterator_traits<_Iterator>::difference_type,
+ typename iterator_traits<_Iterator>::pointer,
+ typename iterator_traits<_Iterator>::reference>
{
-
+ typedef iterator_traits<_Iterator> _Traits;
+
protected:
_Iterator _M_current;
public:
typedef __normal_iterator<_Iterator, _Container> normal_iterator_type;
+ typedef typename _Traits::iterator_category iterator_category;
+ typedef typename _Traits::value_type value_type;
+ typedef typename _Traits::difference_type difference_type;
+ typedef typename _Traits::pointer pointer;
+ typedef typename _Traits::reference reference;
__normal_iterator() : _M_current(_Iterator()) { }
OpenPOWER on IntegriCloud