N3142. Many of these traits are just placeholders with medium quality emulation; waiting on compiler intrinsics to do it right.
llvm-svn: 119854
diff --git a/libcxx/include/__split_buffer b/libcxx/include/__split_buffer
index e3c2b9d..88e2c83 100644
--- a/libcxx/include/__split_buffer
+++ b/libcxx/include/__split_buffer
@@ -118,12 +118,12 @@
__construct_at_end(_ForwardIterator __first, _ForwardIterator __last);
_LIBCPP_INLINE_VISIBILITY void __destruct_at_begin(pointer __new_begin)
- {__destruct_at_begin(__new_begin, has_trivial_destructor<value_type>());}
+ {__destruct_at_begin(__new_begin, is_trivially_destructible<value_type>());}
void __destruct_at_begin(pointer __new_begin, false_type);
void __destruct_at_begin(pointer __new_begin, true_type);
_LIBCPP_INLINE_VISIBILITY void __destruct_at_end(pointer __new_last)
- {__destruct_at_end(__new_last, has_trivial_destructor<value_type>());}
+ {__destruct_at_end(__new_last, is_trivially_destructible<value_type>());}
void __destruct_at_end(pointer __new_last, false_type);
void __destruct_at_end(pointer __new_last, true_type);
@@ -230,8 +230,8 @@
void
__split_buffer<_Tp, _Allocator>::__construct_at_end(size_type __n, const_reference __x)
{
- __construct_at_end(__n, __x, integral_constant<bool, has_trivial_copy_constructor<value_type>::value &&
- has_trivial_copy_assign<value_type>::value>());
+ __construct_at_end(__n, __x, integral_constant<bool, is_trivially_copy_constructible<value_type>::value &&
+ is_trivially_copy_assignable<value_type>::value>());
}
template <class _Tp, class _Allocator>