mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-03 19:22:27 +00:00
Release Cosmopolitan v3.6.0
This release is an atomic upgrade to GCC 14.1.0 with C23 and C++23
This commit is contained in:
parent
62ace3623a
commit
5660ec4741
1585 changed files with 117353 additions and 271644 deletions
|
@ -27,30 +27,26 @@ _LIBCPP_BEGIN_NAMESPACE_STD
|
|||
|
||||
#if _LIBCPP_STD_VER >= 20
|
||||
|
||||
template<class _Tp, class _Cat>
|
||||
concept __compares_as =
|
||||
same_as<common_comparison_category_t<_Tp, _Cat>, _Cat>;
|
||||
template <class _Tp, class _Cat>
|
||||
concept __compares_as = same_as<common_comparison_category_t<_Tp, _Cat>, _Cat>;
|
||||
|
||||
template<class _Tp, class _Cat = partial_ordering>
|
||||
template <class _Tp, class _Cat = partial_ordering>
|
||||
concept three_way_comparable =
|
||||
__weakly_equality_comparable_with<_Tp, _Tp> &&
|
||||
__partially_ordered_with<_Tp, _Tp> &&
|
||||
requires(__make_const_lvalue_ref<_Tp> __a, __make_const_lvalue_ref<_Tp> __b) {
|
||||
{ __a <=> __b } -> __compares_as<_Cat>;
|
||||
};
|
||||
__weakly_equality_comparable_with<_Tp, _Tp> && __partially_ordered_with<_Tp, _Tp> &&
|
||||
requires(__make_const_lvalue_ref<_Tp> __a, __make_const_lvalue_ref<_Tp> __b) {
|
||||
{ __a <=> __b } -> __compares_as<_Cat>;
|
||||
};
|
||||
|
||||
template<class _Tp, class _Up, class _Cat = partial_ordering>
|
||||
template <class _Tp, class _Up, class _Cat = partial_ordering>
|
||||
concept three_way_comparable_with =
|
||||
three_way_comparable<_Tp, _Cat> &&
|
||||
three_way_comparable<_Up, _Cat> &&
|
||||
common_reference_with<__make_const_lvalue_ref<_Tp>, __make_const_lvalue_ref<_Up>> &&
|
||||
three_way_comparable<common_reference_t<__make_const_lvalue_ref<_Tp>, __make_const_lvalue_ref<_Up>>, _Cat> &&
|
||||
__weakly_equality_comparable_with<_Tp, _Up> &&
|
||||
__partially_ordered_with<_Tp, _Up> &&
|
||||
requires(__make_const_lvalue_ref<_Tp> __t, __make_const_lvalue_ref<_Up> __u) {
|
||||
{ __t <=> __u } -> __compares_as<_Cat>;
|
||||
{ __u <=> __t } -> __compares_as<_Cat>;
|
||||
};
|
||||
three_way_comparable<_Tp, _Cat> && three_way_comparable<_Up, _Cat> &&
|
||||
common_reference_with<__make_const_lvalue_ref<_Tp>, __make_const_lvalue_ref<_Up>> &&
|
||||
three_way_comparable<common_reference_t<__make_const_lvalue_ref<_Tp>, __make_const_lvalue_ref<_Up>>, _Cat> &&
|
||||
__weakly_equality_comparable_with<_Tp, _Up> && __partially_ordered_with<_Tp, _Up> &&
|
||||
requires(__make_const_lvalue_ref<_Tp> __t, __make_const_lvalue_ref<_Up> __u) {
|
||||
{ __t <=> __u } -> __compares_as<_Cat>;
|
||||
{ __u <=> __t } -> __compares_as<_Cat>;
|
||||
};
|
||||
|
||||
#endif // _LIBCPP_STD_VER >= 20
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue