]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/rocksdb/utilities/merge_operators/put.cc
import 14.2.4 nautilus point release
[ceph.git] / ceph / src / rocksdb / utilities / merge_operators / put.cc
index fcbf67d9b030b57d2d521a4ec6c2066d5f8ed559..a4b135fef5fa05d9c59cc4004992b71ab73d1080 100644 (file)
@@ -22,10 +22,9 @@ namespace { // anonymous namespace
 // From the client-perspective, semantics are the same.
 class PutOperator : public MergeOperator {
  public:
-  virtual bool FullMerge(const Slice& /*key*/, const Slice* /*existing_value*/,
-                         const std::deque<std::string>& operand_sequence,
-                         std::string* new_value,
-                         Logger* /*logger*/) const override {
+  bool FullMerge(const Slice& /*key*/, const Slice* /*existing_value*/,
+                 const std::deque<std::string>& operand_sequence,
+                 std::string* new_value, Logger* /*logger*/) const override {
     // Put basically only looks at the current/latest value
     assert(!operand_sequence.empty());
     assert(new_value != nullptr);
@@ -33,38 +32,36 @@ class PutOperator : public MergeOperator {
     return true;
   }
 
-  virtual bool PartialMerge(const Slice& /*key*/, const Slice& /*left_operand*/,
-                            const Slice& right_operand, std::string* new_value,
-                            Logger* /*logger*/) const override {
+  bool PartialMerge(const Slice& /*key*/, const Slice& /*left_operand*/,
+                    const Slice& right_operand, std::string* new_value,
+                    Logger* /*logger*/) const override {
     new_value->assign(right_operand.data(), right_operand.size());
     return true;
   }
 
   using MergeOperator::PartialMergeMulti;
-  virtual bool PartialMergeMulti(const Slice& /*key*/,
-                                 const std::deque<Slice>& operand_list,
-                                 std::string* new_value,
-                                 Logger* /*logger*/) const override {
+  bool PartialMergeMulti(const Slice& /*key*/,
+                         const std::deque<Slice>& operand_list,
+                         std::string* new_value,
+                         Logger* /*logger*/) const override {
     new_value->assign(operand_list.back().data(), operand_list.back().size());
     return true;
   }
 
-  virtual const char* Name() const override {
-    return "PutOperator";
-  }
+  const char* Name() const override { return "PutOperator"; }
 };
 
 class PutOperatorV2 : public PutOperator {
-  virtual bool FullMerge(const Slice& /*key*/, const Slice* /*existing_value*/,
-                         const std::deque<std::string>& /*operand_sequence*/,
-                         std::string* /*new_value*/,
-                         Logger* /*logger*/) const override {
+  bool FullMerge(const Slice& /*key*/, const Slice* /*existing_value*/,
+                 const std::deque<std::string>& /*operand_sequence*/,
+                 std::string* /*new_value*/,
+                 Logger* /*logger*/) const override {
     assert(false);
     return false;
   }
 
-  virtual bool FullMergeV2(const MergeOperationInput& merge_in,
-                           MergeOperationOutput* merge_out) const override {
+  bool FullMergeV2(const MergeOperationInput& merge_in,
+                   MergeOperationOutput* merge_out) const override {
     // Put basically only looks at the current/latest value
     assert(!merge_in.operand_list.empty());
     merge_out->existing_operand = merge_in.operand_list.back();