diff --git a/src/ripple/basics/base_uint.h b/src/ripple/basics/base_uint.h index 8b15b0826..f0e7acf89 100644 --- a/src/ripple/basics/base_uint.h +++ b/src/ripple/basics/base_uint.h @@ -549,7 +549,8 @@ using uint128 = base_uint<128>; using uint160 = base_uint<160>; using uint256 = base_uint<256>; -template +/* + * template [[nodiscard]] inline constexpr std::strong_ordering operator<=>(base_uint const& lhs, base_uint const& rhs) { @@ -570,6 +571,19 @@ operator<=>(base_uint const& lhs, base_uint const& rhs) return (*ret.first > *ret.second) ? std::strong_ordering::greater : std::strong_ordering::less; } +*/ + +template +[[nodiscard]] inline constexpr std::strong_ordering +operator<=>(base_uint const& lhs, base_uint const& rhs) +{ + return std::lexicographical_compare_three_way( + lhs.cbegin(), + lhs.cend(), + rhs.cbegin(), + rhs.cend(), + std::compare_three_way{}); +} template [[nodiscard]] inline constexpr bool