[libc++] Fixes (|multi)_set spaceship operator. (#127326) · llvm/llvm-project@819cac6 (original) (raw)

`@@ -1003,9 +1003,9 @@ operator<=(const set<_Key, _Compare, _Allocator>& __x, const set<_Key, _Compare,

`

1003

1003

``

1004

1004

`# else // _LIBCPP_STD_VER <= 17

`

1005

1005

``

1006

``

`-

template <class _Key, class _Allocator>

`

``

1006

`+

template <class _Key, class _Compare, class _Allocator>

`

1007

1007

`_LIBCPP_HIDE_FROM_ABI __synth_three_way_result<_Key>

`

1008

``

`-

operator<=>(const set<_Key, _Allocator>& __x, const set<_Key, _Allocator>& __y) {

`

``

1008

`+

operator<=>(const set<_Key, _Compare, _Allocator>& __x, const set<_Key, _Compare, _Allocator>& __y) {

`

1009

1009

`return std::lexicographical_compare_three_way(__x.begin(), __x.end(), __y.begin(), __y.end(), std::__synth_three_way);

`

1010

1010

`}

`

1011

1011

``

`@@ -1470,9 +1470,9 @@ operator<=(const multiset<_Key, _Compare, _Allocator>& __x, const multiset<_Key,

`

1470

1470

``

1471

1471

`# else // _LIBCPP_STD_VER <= 17

`

1472

1472

``

1473

``

`-

template <class _Key, class _Allocator>

`

``

1473

`+

template <class _Key, class _Compare, class _Allocator>

`

1474

1474

`_LIBCPP_HIDE_FROM_ABI __synth_three_way_result<_Key>

`

1475

``

`-

operator<=>(const multiset<_Key, _Allocator>& __x, const multiset<_Key, _Allocator>& __y) {

`

``

1475

`+

operator<=>(const multiset<_Key, _Compare, _Allocator>& __x, const multiset<_Key, _Compare, _Allocator>& __y) {

`

1476

1476

`return std::lexicographical_compare_three_way(__x.begin(), __x.end(), __y.begin(), __y.end(), __synth_three_way);

`

1477

1477

`}

`

1478

1478

``