[libcxx-commits] [libcxx] a7d084a - [libc++] [compare] Rip out more vestiges of *_equality. NFCI.
Arthur O'Dwyer via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Sep 28 09:25:53 PDT 2021
Author: Arthur O'Dwyer
Date: 2021-09-28T12:23:41-04:00
New Revision: a7d084a18de736e0ed750c67c5851fa6b2a085f5
URL: https://github.com/llvm/llvm-project/commit/a7d084a18de736e0ed750c67c5851fa6b2a085f5
DIFF: https://github.com/llvm/llvm-project/commit/a7d084a18de736e0ed750c67c5851fa6b2a085f5.diff
LOG: [libc++] [compare] Rip out more vestiges of *_equality. NFCI.
There's really no reason to even have two different enums here,
but *definitely* we shouldn't have *three*, and they don't need
so many synonymous enumerator values.
Differential Revision: https://reviews.llvm.org/D110516
Added:
Modified:
libcxx/include/__compare/ordering.h
Removed:
################################################################################
diff --git a/libcxx/include/__compare/ordering.h b/libcxx/include/__compare/ordering.h
index 460d25c41104d..f4ad31b83671a 100644
--- a/libcxx/include/__compare/ordering.h
+++ b/libcxx/include/__compare/ordering.h
@@ -21,16 +21,9 @@ _LIBCPP_BEGIN_NAMESPACE_STD
#if _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_SPACESHIP_OPERATOR)
// exposition only
-enum class _LIBCPP_ENUM_VIS _EqResult : unsigned char {
- __zero = 0,
- __equal = __zero,
- __equiv = __equal,
- __nonequal = 1,
- __nonequiv = __nonequal
-};
-
enum class _LIBCPP_ENUM_VIS _OrdResult : signed char {
__less = -1,
+ __equiv = 0,
__greater = 1
};
@@ -56,10 +49,6 @@ struct _CmpUnspecifiedParam {
class partial_ordering {
using _ValueT = signed char;
- _LIBCPP_HIDE_FROM_ABI
- explicit constexpr partial_ordering(_EqResult __v) noexcept
- : __value_(_ValueT(__v)) {}
-
_LIBCPP_HIDE_FROM_ABI
explicit constexpr partial_ordering(_OrdResult __v) noexcept
: __value_(_ValueT(__v)) {}
@@ -142,15 +131,13 @@ class partial_ordering {
};
inline constexpr partial_ordering partial_ordering::less(_OrdResult::__less);
-inline constexpr partial_ordering partial_ordering::equivalent(_EqResult::__equiv);
+inline constexpr partial_ordering partial_ordering::equivalent(_OrdResult::__equiv);
inline constexpr partial_ordering partial_ordering::greater(_OrdResult::__greater);
inline constexpr partial_ordering partial_ordering::unordered(_NCmpResult ::__unordered);
class weak_ordering {
using _ValueT = signed char;
- _LIBCPP_HIDE_FROM_ABI
- explicit constexpr weak_ordering(_EqResult __v) noexcept : __value_(_ValueT(__v)) {}
_LIBCPP_HIDE_FROM_ABI
explicit constexpr weak_ordering(_OrdResult __v) noexcept : __value_(_ValueT(__v)) {}
@@ -229,14 +216,12 @@ class weak_ordering {
};
inline constexpr weak_ordering weak_ordering::less(_OrdResult::__less);
-inline constexpr weak_ordering weak_ordering::equivalent(_EqResult::__equiv);
+inline constexpr weak_ordering weak_ordering::equivalent(_OrdResult::__equiv);
inline constexpr weak_ordering weak_ordering::greater(_OrdResult::__greater);
class strong_ordering {
using _ValueT = signed char;
- _LIBCPP_HIDE_FROM_ABI
- explicit constexpr strong_ordering(_EqResult __v) noexcept : __value_(_ValueT(__v)) {}
_LIBCPP_HIDE_FROM_ABI
explicit constexpr strong_ordering(_OrdResult __v) noexcept : __value_(_ValueT(__v)) {}
@@ -323,8 +308,8 @@ class strong_ordering {
};
inline constexpr strong_ordering strong_ordering::less(_OrdResult::__less);
-inline constexpr strong_ordering strong_ordering::equal(_EqResult::__equal);
-inline constexpr strong_ordering strong_ordering::equivalent(_EqResult::__equiv);
+inline constexpr strong_ordering strong_ordering::equal(_OrdResult::__equiv);
+inline constexpr strong_ordering strong_ordering::equivalent(_OrdResult::__equiv);
inline constexpr strong_ordering strong_ordering::greater(_OrdResult::__greater);
// named comparison functions
More information about the libcxx-commits
mailing list