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