lang/value20def.hpp

The following code example is taken from the book
C++20 - The Complete Guide by Nicolai M. Josuttis, Leanpub, 2021
The code is licensed under a Creative Commons Attribution 4.0 International License. Creative Commons License

// raw code

#include <compare>

class Value {
private:
  long id;
  //...
public:
  constexpr Value(long i) noexcept
   : id{i} {
  }
  //...
  // for equality operators:
  bool operator== (const Value& rhs) const {
    return id == rhs.id;      // defines equality (== and !=)
  }
  // for relational operators:
  auto operator<=> (const Value& rhs) const {
    return id <=> rhs.id;     // defines ordering (<, <=, >, and >=)
  }
};