+2020-01-24 Jonathan Wakely <jwakely@redhat.com>
+
+ * libsupc++/compare (__cmp_cat::_Eq): Remove enumeration type.
+ (__cmp_cat::_Ord::equivalent): Add enumerator.
+ (__cmp_cat::_Ord::_Less, __cmp_cat::_Ord::_Greater): Rename to less
+ and greater.
+ (partial_ordering, weak_ordering, strong_ordering): Remove
+ constructors taking __cmp_cat::_Eq parameters. Use renamed
+ enumerators.
+
2020-01-24 Maciej W. Rozycki <macro@wdc.com>
* acinclude.m4: Handle `--with-toolexeclibdir='.
namespace __cmp_cat
{
- enum class _Eq
- { equal = 0, equivalent = equal, nonequal = 1, nonequivalent = nonequal };
-
- enum class _Ord { _Less = -1, _Greater = 1 };
+ enum class _Ord { equivalent = 0, less = -1, greater = 1 };
enum class _Ncmp { _Unordered = -127 };
int _M_value;
bool _M_is_ordered;
- constexpr explicit
- partial_ordering(__cmp_cat::_Eq __v) noexcept
- : _M_value(int(__v)), _M_is_ordered(true)
- { }
-
constexpr explicit
partial_ordering(__cmp_cat::_Ord __v) noexcept
: _M_value(int(__v)), _M_is_ordered(true)
// valid values' definitions
inline constexpr partial_ordering
- partial_ordering::less(__cmp_cat::_Ord::_Less);
+ partial_ordering::less(__cmp_cat::_Ord::less);
inline constexpr partial_ordering
- partial_ordering::equivalent(__cmp_cat::_Eq::equivalent);
+ partial_ordering::equivalent(__cmp_cat::_Ord::equivalent);
inline constexpr partial_ordering
- partial_ordering::greater(__cmp_cat::_Ord::_Greater);
+ partial_ordering::greater(__cmp_cat::_Ord::greater);
inline constexpr partial_ordering
partial_ordering::unordered(__cmp_cat::_Ncmp::_Unordered);
{
int _M_value;
- constexpr explicit
- weak_ordering(__cmp_cat::_Eq __v) noexcept : _M_value(int(__v))
- { }
-
constexpr explicit
weak_ordering(__cmp_cat::_Ord __v) noexcept : _M_value(int(__v))
{ }
// valid values' definitions
inline constexpr weak_ordering
- weak_ordering::less(__cmp_cat::_Ord::_Less);
+ weak_ordering::less(__cmp_cat::_Ord::less);
inline constexpr weak_ordering
- weak_ordering::equivalent(__cmp_cat::_Eq::equivalent);
+ weak_ordering::equivalent(__cmp_cat::_Ord::equivalent);
inline constexpr weak_ordering
- weak_ordering::greater(__cmp_cat::_Ord::_Greater);
+ weak_ordering::greater(__cmp_cat::_Ord::greater);
class strong_ordering
{
int _M_value;
- constexpr explicit
- strong_ordering(__cmp_cat::_Eq __v) noexcept
- : _M_value(int(__v))
- { }
-
constexpr explicit
strong_ordering(__cmp_cat::_Ord __v) noexcept
: _M_value(int(__v))
// valid values' definitions
inline constexpr strong_ordering
- strong_ordering::less(__cmp_cat::_Ord::_Less);
+ strong_ordering::less(__cmp_cat::_Ord::less);
inline constexpr strong_ordering
- strong_ordering::equal(__cmp_cat::_Eq::equal);
+ strong_ordering::equal(__cmp_cat::_Ord::equivalent);
inline constexpr strong_ordering
- strong_ordering::equivalent(__cmp_cat::_Eq::equivalent);
+ strong_ordering::equivalent(__cmp_cat::_Ord::equivalent);
inline constexpr strong_ordering
- strong_ordering::greater(__cmp_cat::_Ord::_Greater);
+ strong_ordering::greater(__cmp_cat::_Ord::greater);
// named comparison functions