|
@@ -1609,16 +1609,10 @@ struct _LIBCPP_TEMPLATE_VIS allocator_traits
|
|
|
_LIBCPP_INLINE_VISIBILITY
|
|
|
static
|
|
|
void
|
|
|
- __construct_forward_with_exception_guarantees(allocator_type& __a, _Ptr __begin1, _Ptr __end1, _Ptr& __begin2)
|
|
|
+ __construct_forward(allocator_type& __a, _Ptr __begin1, _Ptr __end1, _Ptr& __begin2)
|
|
|
{
|
|
|
for (; __begin1 != __end1; ++__begin1, (void) ++__begin2)
|
|
|
- construct(__a, _VSTD::__to_raw_pointer(__begin2),
|
|
|
-#ifdef _LIBCPP_NO_EXCEPTIONS
|
|
|
- _VSTD::move(*__begin1)
|
|
|
-#else
|
|
|
- _VSTD::move_if_noexcept(*__begin1)
|
|
|
-#endif
|
|
|
- );
|
|
|
+ construct(__a, _VSTD::__to_raw_pointer(__begin2), _VSTD::move_if_noexcept(*__begin1));
|
|
|
}
|
|
|
|
|
|
template <class _Tp>
|
|
@@ -1631,7 +1625,7 @@ struct _LIBCPP_TEMPLATE_VIS allocator_traits
|
|
|
is_trivially_move_constructible<_Tp>::value,
|
|
|
void
|
|
|
>::type
|
|
|
- __construct_forward_with_exception_guarantees(allocator_type&, _Tp* __begin1, _Tp* __end1, _Tp*& __begin2)
|
|
|
+ __construct_forward(allocator_type&, _Tp* __begin1, _Tp* __end1, _Tp*& __begin2)
|
|
|
{
|
|
|
ptrdiff_t _Np = __end1 - __begin1;
|
|
|
if (_Np > 0)
|
|
@@ -1678,18 +1672,12 @@ struct _LIBCPP_TEMPLATE_VIS allocator_traits
|
|
|
_LIBCPP_INLINE_VISIBILITY
|
|
|
static
|
|
|
void
|
|
|
- __construct_backward_with_exception_guarantees(allocator_type& __a, _Ptr __begin1, _Ptr __end1, _Ptr& __end2)
|
|
|
+ __construct_backward(allocator_type& __a, _Ptr __begin1, _Ptr __end1, _Ptr& __end2)
|
|
|
{
|
|
|
while (__end1 != __begin1)
|
|
|
{
|
|
|
- construct(__a, _VSTD::__to_raw_pointer(__end2 - 1),
|
|
|
-#ifdef _LIBCPP_NO_EXCEPTIONS
|
|
|
- _VSTD::move(*--__end1)
|
|
|
-#else
|
|
|
- _VSTD::move_if_noexcept(*--__end1)
|
|
|
-#endif
|
|
|
- );
|
|
|
- --__end2;
|
|
|
+ construct(__a, _VSTD::__to_raw_pointer(__end2-1), _VSTD::move_if_noexcept(*--__end1));
|
|
|
+ --__end2;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1703,7 +1691,7 @@ struct _LIBCPP_TEMPLATE_VIS allocator_traits
|
|
|
is_trivially_move_constructible<_Tp>::value,
|
|
|
void
|
|
|
>::type
|
|
|
- __construct_backward_with_exception_guarantees(allocator_type&, _Tp* __begin1, _Tp* __end1, _Tp*& __end2)
|
|
|
+ __construct_backward(allocator_type&, _Tp* __begin1, _Tp* __end1, _Tp*& __end2)
|
|
|
{
|
|
|
ptrdiff_t _Np = __end1 - __begin1;
|
|
|
__end2 -= _Np;
|