pub struct BuilderWithBits<S = DefaultHasher> { /* private fields */ }Expand description
A Bloom filter builder with an immutable number of bits.
This type can be used to construct an instance of BloomFilter via the builder pattern.
§Examples
use fastbloom::BloomFilter;
let builder = BloomFilter::with_num_bits(1024);
let builder = BloomFilter::from_vec(vec![0; 8]);Implementations§
Source§impl BuilderWithBits
impl BuilderWithBits
Sourcepub fn seed(self, seed: &u128) -> Self
pub fn seed(self, seed: &u128) -> Self
Sets the seed for this builder. The later constructed BloomFilter
will use this seed when hashing items.
§Examples
use fastbloom::BloomFilter;
let bloom = BloomFilter::with_num_bits(1024).seed(&1).hashes(4);Source§impl<S: BuildHasher> BuilderWithBits<S>
impl<S: BuildHasher> BuilderWithBits<S>
Sourcepub fn hasher<H: BuildHasher>(self, hasher: H) -> BuilderWithBits<H>
pub fn hasher<H: BuildHasher>(self, hasher: H) -> BuilderWithBits<H>
Sets the hasher for this builder. The later constructed BloomFilter will use
this hasher when inserting and checking items.
§Examples
use fastbloom::BloomFilter;
use ahash::RandomState;
let bloom = BloomFilter::with_num_bits(1024).hasher(RandomState::default()).hashes(4);Sourcepub fn hashes(self, num_hashes: u32) -> BloomFilter<S>
pub fn hashes(self, num_hashes: u32) -> BloomFilter<S>
“Consumes” this builder, using the provided num_hashes to return an
empty BloomFilter.
§Examples
use fastbloom::BloomFilter;
let bloom = BloomFilter::with_num_bits(1024).hashes(4);Sourcepub fn expected_items(self, expected_num_items: usize) -> BloomFilter<S>
pub fn expected_items(self, expected_num_items: usize) -> BloomFilter<S>
“Consumes” this builder, using the provided expected_num_items to return an
empty BloomFilter. The number of hashes is optimized based on expected_num_items
to maximize Bloom filter accuracy (minimize false positives chance on BloomFilter::contains).
More or less than expected_num_items may be inserted into BloomFilter.
§Examples
use fastbloom::BloomFilter;
let bloom = BloomFilter::with_num_bits(1024).expected_items(500);Sourcepub fn items<I: IntoIterator<IntoIter = impl ExactSizeIterator<Item = impl Hash>>>(
self,
items: I,
) -> BloomFilter<S>
pub fn items<I: IntoIterator<IntoIter = impl ExactSizeIterator<Item = impl Hash>>>( self, items: I, ) -> BloomFilter<S>
“Consumes” this builder and constructs a BloomFilter containing
all values in items. Like BuilderWithBits::expected_items, the number of hashes per item
is optimized based on items.len() to maximize Bloom filter accuracy
(minimize false positives chance on BloomFilter::contains).
§Examples
use fastbloom::BloomFilter;
let bloom = BloomFilter::with_num_bits(1024).items([1, 2, 3]);Trait Implementations§
Source§impl<S: Clone> Clone for BuilderWithBits<S>
impl<S: Clone> Clone for BuilderWithBits<S>
Source§fn clone(&self) -> BuilderWithBits<S>
fn clone(&self) -> BuilderWithBits<S>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more