]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
common/interval_set: Add operator-- to iterator
authorAdam Kupczyk <akupczyk@redhat.com>
Wed, 29 Jun 2022 08:28:37 +0000 (10:28 +0200)
committerAdam Kupczyk <akupczyk@redhat.com>
Wed, 27 Jul 2022 10:43:27 +0000 (10:43 +0000)
Only ++ was allowed. Extend iterator manipulation to -- too.

Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
(cherry picked from commit 58860ce3f60489d258aaa10fd783e68083261937)

src/include/interval_set.h

index f1a21e5f96e1ae290e077386b16692bdf80e038a..dfb2a306ca21340797c1c1b1944f9f7b684813e3 100644 (file)
@@ -106,6 +106,21 @@ class interval_set {
           return prev;
         }
 
+        // Predecrement
+        iterator& operator--()
+        {
+          --_iter;
+          return *this;
+        }
+
+        // Postdecrement
+        iterator operator--(int)
+        {
+          iterator prev(_iter);
+          --_iter;
+          return prev;
+        }
+
     friend class interval_set::const_iterator;
 
     protected:
@@ -174,6 +189,21 @@ class interval_set {
           return prev;
         }
 
+        // Predecrement
+        iterator& operator--()
+        {
+          --_iter;
+          return *this;
+        }
+
+        // Postdecrement
+        iterator operator--(int)
+        {
+          iterator prev(_iter);
+          --_iter;
+          return prev;
+        }
+
     protected:
         typename Map::const_iterator _iter;
   };