OSDN Git Service

[libc++] Give `MoveOnly` all six comparison operators, not just == and <.
authorArthur O'Dwyer <arthur.j.odwyer@gmail.com>
Mon, 25 Jan 2021 22:00:14 +0000 (17:00 -0500)
committerArthur O'Dwyer <arthur.j.odwyer@gmail.com>
Wed, 27 Jan 2021 00:42:00 +0000 (19:42 -0500)
Split out of D93512.

libcxx/test/support/MoveOnly.h

index adcae25..61eb190 100644 (file)
@@ -32,7 +32,11 @@ public:
     constexpr int get() const {return data_;}
 
     constexpr bool operator==(const MoveOnly& x) const {return data_ == x.data_;}
+    constexpr bool operator!=(const MoveOnly& x) const {return data_ != x.data_;}
     constexpr bool operator< (const MoveOnly& x) const {return data_ <  x.data_;}
+    constexpr bool operator<=(const MoveOnly& x) const {return data_ <= x.data_;}
+    constexpr bool operator> (const MoveOnly& x) const {return data_ >  x.data_;}
+    constexpr bool operator>=(const MoveOnly& x) const {return data_ >= x.data_;}
     TEST_CONSTEXPR_CXX14 MoveOnly operator+(const MoveOnly& x) const
         { return MoveOnly{data_ + x.data_}; }
     TEST_CONSTEXPR_CXX14 MoveOnly operator*(const MoveOnly& x) const