Struct b100m_filter::Builder
source · pub struct Builder { /* private fields */ }Expand description
A bloom filter builder
This type can be used to construct an instance of BloomFilter
through a builder-like pattern.
Implementations§
source§impl Builder
impl Builder
sourcepub fn seed(self, seeds: &[[u8; 16]; 2]) -> Self
pub fn seed(self, seeds: &[[u8; 16]; 2]) -> Self
Sets the seed for this builder. The later constructed BloomFilter
will use this seed when hashing items.
Examples
use b100m_filter::BloomFilter;
let bloom = BloomFilter::builder(4).seed(&[[0u8; 16]; 2]).hashes(4);sourcepub fn hashes(self, num_hashes: u64) -> BloomFilter
pub fn hashes(self, num_hashes: u64) -> BloomFilter
“Consumes” this builder, using the provided num_hashes to return an
empty BloomFilter. For performance, the actual number of
hashes performed internally will be rounded to down to the nearest
multiple of 4.
Examples
use b100m_filter::BloomFilter;
let bloom = BloomFilter::builder(4).hashes(4);sourcepub fn expected_items(self, expected_num_items: usize) -> BloomFilter
pub fn expected_items(self, expected_num_items: usize) -> BloomFilter
“Consumes” this builder, using the provided expected_num_items to return an
empty BloomFilter. More or less than expected_num_items may be inserted into
BloomFilter, but the number of hashes per item is intially calculated
to minimize false positive rate for exactly expected_num_items.
Examples
use b100m_filter::BloomFilter;
let bloom = BloomFilter::builder(4).expected_items(500);sourcepub fn items<I: ExactSizeIterator<Item = impl Hash>>(
self,
items: I
) -> BloomFilter
pub fn items<I: ExactSizeIterator<Item = impl Hash>>( self, items: I ) -> BloomFilter
“Consumes” this builder and constructs a BloomFilter containing
all values in items. The number of hashes per item is calculated
based on items.len() to minimize false positive rate.
Examples
use b100m_filter::BloomFilter;
let bloom = BloomFilter::builder(4).items([1, 2, 3].iter());