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:
parent
4adf3e34b2
commit
07e938fc86
@ -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
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user