@@ -38,8 +38,14 @@ export constexpr auto lexicographical_compare_3way(range auto && range1, range a
38
38
39
39
40
40
export template <iterator InputIterator1, iterator InputIterator2>
41
- constexpr auto lexicographical_compare_3way (InputIterator1 const first1, sentinel_for<InputIterator1> auto const last1, InputIterator2 const first2, sentinel_for<InputIterator2> auto const last2) {
42
- return ::containers::lexicographical_compare_3way (first1, last1, first2, last2, std::compare_three_way ());
41
+ constexpr auto lexicographical_compare_3way (InputIterator1 first1, sentinel_for<InputIterator1> auto last1, InputIterator2 first2, sentinel_for<InputIterator2> auto last2) {
42
+ return ::containers::lexicographical_compare_3way (
43
+ std::move (first1),
44
+ std::move (last1),
45
+ std::move (first2),
46
+ std::move (last2),
47
+ std::compare_three_way ()
48
+ );
43
49
}
44
50
45
51
export constexpr auto lexicographical_compare_3way (range auto && range1, range auto && range2) {
@@ -58,8 +64,13 @@ constexpr auto lexicographical_compare_3way(InputIterator1 first1, sentinel_for<
58
64
}
59
65
60
66
export template <iterator InputIterator1>
61
- constexpr auto lexicographical_compare_3way (InputIterator1 const first1, sentinel_for<InputIterator1> auto const last1, iterator auto const first2) {
62
- return ::containers::lexicographical_compare_3way (first1, last1, first2, std::compare_three_way ());
67
+ constexpr auto lexicographical_compare_3way (InputIterator1 first1, sentinel_for<InputIterator1> auto last1, iterator auto first2) {
68
+ return ::containers::lexicographical_compare_3way (
69
+ std::move (first1),
70
+ std::move (last1),
71
+ std::move (first2),
72
+ std::compare_three_way ()
73
+ );
63
74
}
64
75
65
76
@@ -102,8 +113,14 @@ constexpr auto equal(InputIterator1 first1, sentinel_for<InputIterator1> auto co
102
113
103
114
104
115
export template <iterator InputIterator1, iterator InputIterator2>
105
- constexpr auto equal (InputIterator1 const first1, sentinel_for<InputIterator1> auto const last1, InputIterator2 const first2, sentinel_for<InputIterator2> auto const last2) {
106
- return ::containers::equal (first1, last1, first2, last2, bounded::equal_to ());
116
+ constexpr auto equal (InputIterator1 first1, sentinel_for<InputIterator1> auto last1, InputIterator2 first2, sentinel_for<InputIterator2> auto last2) {
117
+ return ::containers::equal (
118
+ std::move (first1),
119
+ std::move (last1),
120
+ std::move (first2),
121
+ std::move (last2),
122
+ bounded::equal_to ()
123
+ );
107
124
}
108
125
109
126
export template <iterator InputIterator1, iterator InputIterator2>
@@ -117,8 +134,13 @@ constexpr auto equal(InputIterator1 first1, sentinel_for<InputIterator1> auto co
117
134
}
118
135
119
136
export template <iterator InputIterator1, iterator InputIterator2>
120
- constexpr auto equal (InputIterator1 const first1, sentinel_for<InputIterator1> auto const last1, InputIterator2 const first2) {
121
- return ::containers::equal (first1, last1, first2, bounded::equal_to ());
137
+ constexpr auto equal (InputIterator1 first1, sentinel_for<InputIterator1> auto last1, InputIterator2 first2) {
138
+ return ::containers::equal (
139
+ std::move (first1),
140
+ std::move (last1),
141
+ std::move (first2),
142
+ bounded::equal_to ()
143
+ );
122
144
}
123
145
124
146
export template <range Range1, range Range2>
0 commit comments