]> git.ipfire.org Git - thirdparty/vectorscan.git/commitdiff
flat_base: take more common operations
authorJustin Viiret <justin.viiret@intel.com>
Fri, 20 Jan 2017 05:17:48 +0000 (16:17 +1100)
committerMatthew Barr <matthew.barr@intel.com>
Wed, 26 Apr 2017 04:41:30 +0000 (14:41 +1000)
src/util/ue2_containers.h

index 3e0d15556eadc1de4c88c876234a5cbbe2d913f4..43376a0f7d35dad2e1a44fa85ce63a71d2340f03 100644 (file)
@@ -125,6 +125,18 @@ public:
     key_compare key_comp() const {
         return comp();
     }
+
+    // Capacity.
+
+    bool empty() const { return data().empty(); }
+    size_t size() const { return data().size(); }
+    size_t max_size() const { return data().max_size(); }
+
+    // Modifiers.
+
+    void clear() {
+        data().clear();
+    }
 };
 
 } // namespace flat_detail
@@ -221,18 +233,8 @@ public:
     }
     const_reverse_iterator rend() const { return crend(); }
 
-    // Capacity.
-
-    bool empty() const { return data().empty(); }
-    size_t size() const { return data().size(); }
-    size_t max_size() const { return data().max_size(); }
-
     // Modifiers.
 
-    void clear() {
-        data().clear();
-    }
-
     std::pair<iterator, bool> insert(const value_type &value) {
         auto it = std::lower_bound(data().begin(), data().end(), value, comp());
         if (it == data().end() || comp()(value, *it)) {
@@ -442,12 +444,6 @@ public:
     }
     const_reverse_iterator rend() const { return crend(); }
 
-    // Capacity.
-
-    bool empty() const { return data().empty(); }
-    size_t size() const { return data().size(); }
-    size_t max_size() const { return data().max_size(); }
-
 private:
     using storage_iterator = typename storage_type::iterator;
     using storage_const_iterator = typename storage_type::const_iterator;
@@ -504,10 +500,6 @@ private:
 public:
     // Modifiers.
 
-    void clear() {
-        data().clear();
-    }
-
     std::pair<iterator, bool> insert(const value_type &value) {
         auto rv = data_insert(value);
         return std::make_pair(iterator(rv.first), rv.second);