OnDiskHashTable: Provide iterator_range for keys and data
authorJustin Bogner <mail@justinbogner.com>
Fri, 18 Apr 2014 02:10:26 +0000 (02:10 +0000)
committerJustin Bogner <mail@justinbogner.com>
Fri, 18 Apr 2014 02:10:26 +0000 (02:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206555 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Support/OnDiskHashTable.h

index 54adc89de7f70f9a755a394aa70735466def32a8..96b3131ed5be6a3e3d8957664104a7a292f46d0c 100644 (file)
@@ -444,6 +444,10 @@ public:
   }
   key_iterator key_end() { return key_iterator(); }
 
+  iterator_range<key_iterator> keys() {
+    return make_range(key_begin(), key_end());
+  }
+
   /// \brief Iterates over all the entries in the table, returning the data.
   class data_iterator {
     const unsigned char *Ptr;
@@ -511,6 +515,10 @@ public:
   }
   data_iterator data_end() { return data_iterator(); }
 
+  iterator_range<data_iterator> data() {
+    return make_range(data_begin(), data_end());
+  }
+
   /// \brief Create the hash table.
   ///
   /// \param Buckets is the beginning of the hash table itself, which follows