Index: components/rappor/bloom_filter.h |
diff --git a/components/rappor/bloom_filter.h b/components/rappor/bloom_filter.h |
index 482f1c3668eeadff185ba9ead35aa4b90cf70e2a..43128712ca540fa1607aa6ac775841a24dbf81c8 100644 |
--- a/components/rappor/bloom_filter.h |
+++ b/components/rappor/bloom_filter.h |
@@ -13,39 +13,20 @@ |
namespace rappor { |
-// BloomFilter is a simple Bloom filter for keeping track of a set of strings. |
-class BloomFilter { |
- public: |
- // Constructs a BloomFilter using |bytes_size| bytes of Bloom filter bits, |
- // and |hash_function_count| hash functions to set bits in the filter. The |
- // hash functions will be generated by using seeds in the range |
- // |hash_seed_offset| to (|hash_seed_offset| + |hash_function_count|). |
- BloomFilter(uint32_t bytes_size, |
- uint32_t hash_function_count, |
- uint32_t hash_seed_offset); |
- ~BloomFilter(); |
- |
- // Sets the Bloom filter bits to contain a single string. |
- void SetString(const std::string& str); |
- |
- // Returns the current value of the Bloom filter's bit array. |
- const ByteVector& bytes() const { return bytes_; }; |
- |
- // Sets bytes for testing purposes. |
- void SetBytesForTesting(const ByteVector& bytes); |
- |
- private: |
- // Stores the byte array of the Bloom filter. |
- ByteVector bytes_; |
- |
- // The number of bits to set for each string added. |
- uint32_t hash_function_count_; |
- |
- // A number add to a hash function index to get a seed for that hash function. |
- uint32_t hash_seed_offset_; |
- |
- DISALLOW_COPY_AND_ASSIGN(BloomFilter); |
-}; |
+namespace internal { |
+ |
+// Converts a string to a bloom filter. |
+// The first |bytes_size| bytes of |output| will be cleared, and have |
+// |hash_function_count| bits set in it. Which bits will be determined by |
+// hashing |str| with a hash function using seeds in the range |
+// |hash_seed_offset| to (|hash_seed_offset| + |hash_function_count|). |
+void SetBloomBits(uint32_t bytes_size, |
+ uint32_t hash_function_count, |
+ uint32_t hash_seed_offset, |
+ const std::string& str, |
+ ByteVector* output); |
+ |
+} // namespace internal |
} // namespace rappor |