stl_algobase.h (fill, fill_n): Revert last change...

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
This commit is contained in:
Paolo Carlini 2004-06-25 14:17:58 +00:00 committed by Paolo Carlini
parent 4adf3e34b2
commit 07e938fc86
2 changed files with 9 additions and 4 deletions

View 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> 2004-06-25 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (fill, fill_n): Tighten the * include/bits/stl_algobase.h (fill, fill_n): Tighten the

View File

@ -546,8 +546,7 @@ namespace std
_ForwardIterator>) _ForwardIterator>)
__glibcxx_requires_valid_range(__first, __last); __glibcxx_requires_valid_range(__first, __last);
typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename __type_traits<_Tp>::has_trivial_copy_constructor
typedef typename __type_traits<_ValueType>::has_trivial_copy_constructor
_Trivial; _Trivial;
std::__fill<_Trivial>::fill(__first, __last, __value); std::__fill<_Trivial>::fill(__first, __last, __value);
} }
@ -622,8 +621,7 @@ namespace std
// concept requirements // concept requirements
__glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator, _Tp>) __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator, _Tp>)
typedef typename iterator_traits<_OutputIterator>::value_type _ValueType; typedef typename __type_traits<_Tp>::has_trivial_copy_constructor
typedef typename __type_traits<_ValueType>::has_trivial_copy_constructor
_Trivial; _Trivial;
return std::__fill_n<_Trivial>::fill_n(__first, __n, __value); return std::__fill_n<_Trivial>::fill_n(__first, __n, __value);
} }