SkBitSet: cleanup. Remove unused fn, more general exporter.

Change-Id: I090a20decf30631f2464a820c6a056a81b6cc1a3
Reviewed-on: https://skia-review.googlesource.com/c/163784
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
diff --git a/src/utils/SkBitSet.h b/src/utils/SkBitSet.h
index ebbf4ff..dbfc80c 100644
--- a/src/utils/SkBitSet.h
+++ b/src/utils/SkBitSet.h
@@ -10,8 +10,6 @@
 
 #include "SkTemplates.h"
 
-#include <vector>
-
 class SkBitSet {
 public:
     explicit SkBitSet(int numberOfBits) {
@@ -30,33 +28,22 @@
         *chunk |= mask;
     }
 
-    template<typename T>
-    void setAll(T* array, int len) {
-        static_assert(std::is_integral<T>::value, "T is integral");
-        for (int i = 0; i < len; ++i) {
-            this->set(static_cast<int>(array[i]));
-        }
-    }
-
     bool has(int index) const {
         const uint32_t* chunk = this->internalGet(index);
         uint32_t mask = 1 << (index & 31);
         return chunk && SkToBool(*chunk & mask);
     }
 
-    /** Export indices of set bits to T array. */
-    template<typename T>
-    void exportTo(std::vector<T>* array) const {
-        static_assert(std::is_integral<T>::value, "T is integral");
-        SkASSERT(array);
-        uint32_t* data = reinterpret_cast<uint32_t*>(fBitData.get());
-        for (unsigned int i = 0; i < fDwordCount; ++i) {
-            uint32_t value = data[i];
-            if (value) {  // There are set bits
-                unsigned int index = i * 32;
-                for (unsigned int j = 0; j < 32; ++j) {
+    // Calls f(unsigned) for each set value.
+    template<typename FN>
+    void getSetValues(FN f) const {
+        const uint32_t* data = fBitData.get();
+        for (unsigned i = 0; i < fDwordCount; ++i) {
+            if (uint32_t value = data[i]) {  // There are set bits
+                unsigned index = i * 32;
+                for (unsigned j = 0; j < 32; ++j) {
                     if (0x1 & (value >> j)) {
-                        array->push_back(index + j);
+                        f(index | j);
                     }
                 }
             }