]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/include/object.h
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / include / object.h
index e7cd853b00f39d8a9e27571be86789aa4c762583..4564af86e5770e543f3c24554f3fa039a95f8dd8 100644 (file)
@@ -29,7 +29,6 @@
 #include "hash.h"
 #include "encoding.h"
 #include "ceph_hash.h"
-#include "cmp.h"
 
 struct object_t {
   std::string name;
@@ -42,6 +41,8 @@ struct object_t {
   object_t(std::string&& s) : name(std::move(s)) {}
   object_t(std::string_view s) : name(s) {}
 
+  auto operator<=>(const object_t&) const noexcept = default;
+
   void swap(object_t& o) {
     name.swap(o.name);
   }
@@ -60,24 +61,6 @@ struct object_t {
 };
 WRITE_CLASS_ENCODER(object_t)
 
-inline bool operator==(const object_t& l, const object_t& r) {
-  return l.name == r.name;
-}
-inline bool operator!=(const object_t& l, const object_t& r) {
-  return l.name != r.name;
-}
-inline bool operator>(const object_t& l, const object_t& r) {
-  return l.name > r.name;
-}
-inline bool operator<(const object_t& l, const object_t& r) {
-  return l.name < r.name;
-}
-inline bool operator>=(const object_t& l, const object_t& r) {
-  return l.name >= r.name;
-}
-inline bool operator<=(const object_t& l, const object_t& r) {
-  return l.name <= r.name;
-}
 inline std::ostream& operator<<(std::ostream& out, const object_t& o) {
   return out << o.name;
 }
@@ -168,6 +151,8 @@ struct sobject_t {
   sobject_t() : snap(0) {}
   sobject_t(object_t o, snapid_t s) : oid(o), snap(s) {}
 
+  auto operator<=>(const sobject_t&) const noexcept = default;
+
   void swap(sobject_t& o) {
     oid.swap(o.oid);
     snapid_t t = snap;
@@ -188,24 +173,6 @@ struct sobject_t {
 };
 WRITE_CLASS_ENCODER(sobject_t)
 
-inline bool operator==(const sobject_t &l, const sobject_t &r) {
-  return l.oid == r.oid && l.snap == r.snap;
-}
-inline bool operator!=(const sobject_t &l, const sobject_t &r) {
-  return l.oid != r.oid || l.snap != r.snap;
-}
-inline bool operator>(const sobject_t &l, const sobject_t &r) {
-  return l.oid > r.oid || (l.oid == r.oid && l.snap > r.snap);
-}
-inline bool operator<(const sobject_t &l, const sobject_t &r) {
-  return l.oid < r.oid || (l.oid == r.oid && l.snap < r.snap);
-}
-inline bool operator>=(const sobject_t &l, const sobject_t &r) {
-  return l.oid > r.oid || (l.oid == r.oid && l.snap >= r.snap);
-}
-inline bool operator<=(const sobject_t &l, const sobject_t &r) {
-  return l.oid < r.oid || (l.oid == r.oid && l.snap <= r.snap);
-}
 inline std::ostream& operator<<(std::ostream& out, const sobject_t &o) {
   return out << o.oid << "/" << o.snap;
 }