aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Dos Reis <gdr@merlin.codesourcery.com>2001-06-26 06:36:33 +0000
committerGabriel Dos Reis <gdr@gcc.gnu.org>2001-06-26 06:36:33 +0000
commit9483461dc9bd390cfbc4053435e3934ae39f46c6 (patch)
tree13241166a10b9d2d63f597439b5d7c6e2d422293
parent255fcfbb81ffef7848ddded476fa18ef0f9b6466 (diff)
downloadgcc-9483461dc9bd390cfbc4053435e3934ae39f46c6.zip
gcc-9483461dc9bd390cfbc4053435e3934ae39f46c6.tar.gz
gcc-9483461dc9bd390cfbc4053435e3934ae39f46c6.tar.bz2
stl_iterator.h (__normal_iterator<>): Qualify dependent names with `typename'.
* 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. From-SVN: r43568
-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 af4453e..5bd0669 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 148cad6..7127a21 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()) { }