diff options
author | Gabriel Dos Reis <gdr@merlin.codesourcery.com> | 2001-06-26 06:36:33 +0000 |
---|---|---|
committer | Gabriel Dos Reis <gdr@gcc.gnu.org> | 2001-06-26 06:36:33 +0000 |
commit | 9483461dc9bd390cfbc4053435e3934ae39f46c6 (patch) | |
tree | 13241166a10b9d2d63f597439b5d7c6e2d422293 | |
parent | 255fcfbb81ffef7848ddded476fa18ef0f9b6466 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/stl_iterator.h | 18 |
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()) { } |