stl_algobase.h (fill, fill_n): Revert last change...
authorPaolo Carlini <pcarlini@suse.de>
Fri, 25 Jun 2004 14:17:58 +0000 (14:17 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Fri, 25 Jun 2004 14:17:58 +0000 (14:17 +0000)
2004-06-25  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_algobase.h (fill, fill_n): Revert last
change: actually we need to copy construct an object of type
_Tp, not of type iterator_traits<>::value_type, therefore the
code is ok.

From-SVN: r83652

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_algobase.h

index 3e76dd7747475e7c31966a5652037af80ed0f4cf..63df31b327fe337ac65045bb59a5e9b5538962fb 100644 (file)
@@ -1,3 +1,10 @@
+2004-06-25  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/bits/stl_algobase.h (fill, fill_n): Revert last
+       change: actually we need to copy construct an object of type
+       _Tp, not of type iterator_traits<>::value_type, therefore the
+       code is ok.
+
 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
 
        * include/bits/stl_algobase.h (fill, fill_n): Tighten the
index 1259f9576895a4f11fa1e5d4e887fd9f9902476b..0db0ef7daac92a14473eed807d0d1b00cc7fe366 100644 (file)
@@ -546,8 +546,7 @@ namespace std
                                  _ForwardIterator>)
       __glibcxx_requires_valid_range(__first, __last);
 
-      typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType;
-      typedef typename __type_traits<_ValueType>::has_trivial_copy_constructor
+      typedef typename __type_traits<_Tp>::has_trivial_copy_constructor
        _Trivial;
       std::__fill<_Trivial>::fill(__first, __last, __value);
     }
@@ -622,8 +621,7 @@ namespace std
       // concept requirements
       __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator, _Tp>)
 
-      typedef typename iterator_traits<_OutputIterator>::value_type _ValueType;
-      typedef typename __type_traits<_ValueType>::has_trivial_copy_constructor
+      typedef typename __type_traits<_Tp>::has_trivial_copy_constructor
        _Trivial;
       return std::__fill_n<_Trivial>::fill_n(__first, __n, __value);
     }