N3142. Many of these traits are just placeholders with medium quality emulation; waiting on compiler intrinsics to do it right.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119854 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/algorithm b/include/algorithm
index 17e20da..a3764df 100644
--- a/include/algorithm
+++ b/include/algorithm
@@ -1438,7 +1438,7 @@
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if
<
- has_trivial_copy_assign<_Tp>::value,
+ is_trivially_copy_assignable<_Tp>::value,
_Tp*
>::type
__unwrap_iter(move_iterator<_Tp*> __i)
@@ -1450,7 +1450,7 @@
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if
<
- has_trivial_copy_assign<_Tp>::value,
+ is_trivially_copy_assignable<_Tp>::value,
_Tp*
>::type
__unwrap_iter(__wrap_iter<_Tp*> __i)
@@ -1473,7 +1473,7 @@
typename enable_if
<
is_same<typename remove_const<_Tp>::type, _Up>::value &&
- has_trivial_copy_assign<_Up>::value,
+ is_trivially_copy_assignable<_Up>::value,
_Up*
>::type
__copy(_Tp* __first, _Tp* __last, _Up* __result)
@@ -1508,7 +1508,7 @@
typename enable_if
<
is_same<typename remove_const<_Tp>::type, _Up>::value &&
- has_trivial_copy_assign<_Up>::value,
+ is_trivially_copy_assignable<_Up>::value,
_Up*
>::type
__copy_backward(_Tp* __first, _Tp* __last, _Up* __result)
@@ -1593,7 +1593,7 @@
typename enable_if
<
is_same<typename remove_const<_Tp>::type, _Up>::value &&
- has_trivial_copy_assign<_Up>::value,
+ is_trivially_copy_assignable<_Up>::value,
_Up*
>::type
__move(_Tp* __first, _Tp* __last, _Up* __result)
@@ -1628,7 +1628,7 @@
typename enable_if
<
is_same<typename remove_const<_Tp>::type, _Up>::value &&
- has_trivial_copy_assign<_Up>::value,
+ is_trivially_copy_assignable<_Up>::value,
_Up*
>::type
__move_backward(_Tp* __first, _Tp* __last, _Up* __result)
@@ -1766,7 +1766,7 @@
{
return _STD::__fill_n(__first, __n, __value, integral_constant<bool,
is_pointer<_OutputIterator>::value &&
- has_trivial_copy_assign<_Tp>::value &&
+ is_trivially_copy_assignable<_Tp>::value &&
sizeof(_Tp) == 1>());
}
@@ -2169,7 +2169,7 @@
typename iterator_traits<_ForwardIterator>::iterator_category,
random_access_iterator_tag
>::value &&
- has_trivial_copy_assign
+ is_trivially_copy_assignable
<
typename iterator_traits<_ForwardIterator>::value_type
>::value
@@ -3434,8 +3434,8 @@
// _Compare is known to be a reference type
typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type;
typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type;
- const difference_type __limit = has_trivial_copy_constructor<value_type>::value &&
- has_trivial_copy_assign<value_type>::value ? 30 : 6;
+ const difference_type __limit = is_trivially_copy_constructible<value_type>::value &&
+ is_trivially_copy_assignable<value_type>::value ? 30 : 6;
while (true)
{
__restart:
@@ -4069,7 +4069,7 @@
template <class _Tp>
struct __inplace_merge_switch
{
- static const unsigned value = has_trivial_copy_assign<_Tp>::value;
+ static const unsigned value = is_trivially_copy_assignable<_Tp>::value;
};
template <class _BidirectionalIterator, class _Compare>
@@ -4237,7 +4237,7 @@
template <class _Tp>
struct __stable_sort_switch
{
- static const unsigned value = 128*has_trivial_copy_assign<_Tp>::value;
+ static const unsigned value = 128*is_trivially_copy_assignable<_Tp>::value;
};
template <class _Compare, class _RandomAccessIterator>