@@ -29,13 +29,12 @@ _LIBCPP_PUSH_MACROS
29
29
_LIBCPP_BEGIN_NAMESPACE_STD
30
30
31
31
template <class , class _InIter , class _Sent , class _OutIter >
32
- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 pair<_InIter, _OutIter> __copy (_InIter, _Sent, _OutIter);
32
+ inline _LIBCPP_HIDE_FROM_ABI pair<_InIter, _OutIter> __copy (_InIter, _Sent, _OutIter);
33
33
34
34
template <class _AlgPolicy >
35
35
struct __copy_impl {
36
36
template <class _InIter , class _Sent , class _OutIter >
37
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 pair<_InIter, _OutIter>
38
- operator ()(_InIter __first, _Sent __last, _OutIter __result) const {
37
+ _LIBCPP_HIDE_FROM_ABI pair<_InIter, _OutIter> operator ()(_InIter __first, _Sent __last, _OutIter __result) const {
39
38
while (__first != __last) {
40
39
*__result = *__first;
41
40
++__first;
@@ -51,18 +50,16 @@ struct __copy_impl {
51
50
52
51
_OutIter& __result_;
53
52
54
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 explicit _CopySegment (_OutIter& __result)
55
- : __result_(__result) {}
53
+ _LIBCPP_HIDE_FROM_ABI explicit _CopySegment (_OutIter& __result) : __result_(__result) {}
56
54
57
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 void
55
+ _LIBCPP_HIDE_FROM_ABI void
58
56
operator ()(typename _Traits::__local_iterator __lfirst, typename _Traits::__local_iterator __llast) {
59
57
__result_ = std::__copy<_AlgPolicy>(__lfirst, __llast, std::move (__result_)).second ;
60
58
}
61
59
};
62
60
63
61
template <class _InIter , class _OutIter , __enable_if_t <__is_segmented_iterator<_InIter>::value, int > = 0 >
64
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 pair<_InIter, _OutIter>
65
- operator ()(_InIter __first, _InIter __last, _OutIter __result) const {
62
+ _LIBCPP_HIDE_FROM_ABI pair<_InIter, _OutIter> operator ()(_InIter __first, _InIter __last, _OutIter __result) const {
66
63
std::__for_each_segment (__first, __last, _CopySegment<_InIter, _OutIter>(__result));
67
64
return std::make_pair (__last, std::move (__result));
68
65
}
@@ -72,8 +69,7 @@ struct __copy_impl {
72
69
__enable_if_t <__has_random_access_iterator_category<_InIter>::value &&
73
70
!__is_segmented_iterator<_InIter>::value && __is_segmented_iterator<_OutIter>::value,
74
71
int > = 0 >
75
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 pair<_InIter, _OutIter>
76
- operator ()(_InIter __first, _InIter __last, _OutIter __result) const {
72
+ _LIBCPP_HIDE_FROM_ABI pair<_InIter, _OutIter> operator ()(_InIter __first, _InIter __last, _OutIter __result) const {
77
73
using _Traits = __segmented_iterator_traits<_OutIter>;
78
74
using _DiffT = typename common_type<__iter_diff_t <_InIter>, __iter_diff_t <_OutIter> >::type;
79
75
@@ -97,21 +93,19 @@ struct __copy_impl {
97
93
98
94
// At this point, the iterators have been unwrapped so any `contiguous_iterator` has been unwrapped to a pointer.
99
95
template <class _In , class _Out , __enable_if_t <__can_lower_copy_assignment_to_memmove<_In, _Out>::value, int > = 0 >
100
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 pair<_In*, _Out*>
101
- operator ()(_In* __first, _In* __last, _Out* __result) const {
96
+ _LIBCPP_HIDE_FROM_ABI pair<_In*, _Out*> operator ()(_In* __first, _In* __last, _Out* __result) const {
102
97
return std::__copy_trivial_impl (__first, __last, __result);
103
98
}
104
99
};
105
100
106
101
template <class _AlgPolicy , class _InIter , class _Sent , class _OutIter >
107
- pair<_InIter, _OutIter> inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14
108
- __copy (_InIter __first, _Sent __last, _OutIter __result) {
102
+ pair<_InIter, _OutIter> inline _LIBCPP_HIDE_FROM_ABI __copy (_InIter __first, _Sent __last, _OutIter __result) {
109
103
return std::__copy_move_unwrap_iters<__copy_impl<_AlgPolicy> >(
110
104
std::move (__first), std::move (__last), std::move (__result));
111
105
}
112
106
113
107
template <class _InputIterator , class _OutputIterator >
114
- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _OutputIterator
108
+ inline _LIBCPP_HIDE_FROM_ABI _OutputIterator
115
109
copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result) {
116
110
return std::__copy<_ClassicAlgPolicy>(__first, __last, __result).second ;
117
111
}
0 commit comments