Crate aabel_bloom_rs

Source
Expand description

A crate which exposes BloomFilter, an implementation of the bloom filter algorithm.

§Example

 use aabel_bloom_rs::BloomFilter;
 use aabel_multihash_rs::{BuildHasherExt, BuildPairHasher};
 use std::hash::{BuildHasher, Hash};

 let keys1 = (0, 0);
 let keys2 = (1, 1);
 let builder = BuildPairHasher::new_with_keys(keys1, keys2);

 let mut filter = BloomFilter::<&str, _>::new(builder);

 // The filter is empty
 let item = "Hello world!";
 let contains = filter.contains(item);
 assert!(!contains);

 // Insert several items in the filter.
 filter.insert(item);
 filter.insert("Tessting testing");
 filter.insert("Rust rocks");
 filter.insert("In Rust we trust");

 // Check if the item is in the filter
 let contains = filter.contains(item);
 assert!(contains)

Structs§

BloomFilter
Implements the bloom filter. [B] is an instance of BuildHasherExt trait which helps generating multiple hash values for any given item [T]. The [K] generic argument represents the number of usize cells in the inner array. The [H] generic argument represents the number of hash values computed for each item.