+2004-09-14 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/cpp_type_traits.h: Rename __is_trivially_copyable
+ to __is_scalar, more clear and consistent with "tr1" naming.
+ * include/bits/stl_algobase.h: Update consistently throughout.
+
2004-09-13 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/11722
typedef typename iterator_traits<_II>::value_type _ValueTypeI;
typedef typename iterator_traits<_OI>::value_type _ValueTypeO;
typedef typename iterator_traits<_II>::iterator_category _Category;
- const bool __simple = (__is_trivially_copyable<_ValueTypeI>::_M_type
+ const bool __simple = (__is_scalar<_ValueTypeI>::_M_type
&& __is_pointer<_II>::_M_type
&& __is_pointer<_OI>::_M_type
&& __are_same<_ValueTypeI, _ValueTypeO>::_M_type);
typedef typename iterator_traits<_BI1>::value_type _ValueType1;
typedef typename iterator_traits<_BI2>::value_type _ValueType2;
typedef typename iterator_traits<_BI1>::iterator_category _Category;
- const bool __simple = (__is_trivially_copyable<_ValueType1>::_M_type
+ const bool __simple = (__is_scalar<_ValueType1>::_M_type
&& __is_pointer<_BI1>::_M_type
&& __is_pointer<_BI2>::_M_type
&& __are_same<_ValueType1, _ValueType2>::_M_type);
_ForwardIterator>)
__glibcxx_requires_valid_range(__first, __last);
- const bool __trivial = __is_trivially_copyable<_Tp>::_M_type;
- std::__fill<__trivial>::fill(__first, __last, __value);
+ const bool __scalar = __is_scalar<_Tp>::_M_type;
+ std::__fill<__scalar>::fill(__first, __last, __value);
}
// Specialization: for one-byte types we can use memset.
// concept requirements
__glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator, _Tp>)
- const bool __trivial = __is_trivially_copyable<_Tp>::_M_type;
- return std::__fill_n<__trivial>::fill_n(__first, __n, __value);
+ const bool __scalar = __is_scalar<_Tp>::_M_type;
+ return std::__fill_n<__scalar>::fill_n(__first, __n, __value);
}
template<typename _Size>