fastbloom_rs/
lib.rs

1extern crate core;
2
3pub use bloom::{BloomFilter, CountingBloomFilter};
4pub use builder::FilterBuilder;
5
6mod builder;
7mod bloom;
8mod vec;
9mod cuckoo;
10mod sketch;
11
12/// filter for check whether membership.
13pub trait Membership {
14    fn add(&mut self, element: &[u8]);
15
16    fn contains(&self, element: &[u8]) -> bool;
17
18    fn get_hash_indices(&self, element: &[u8]) -> Vec<u64>;
19
20    fn contains_hash_indices(&self, indices: &Vec<u64>) -> bool;
21
22    fn clear(&mut self);
23}
24
25pub trait Hashes {
26    fn hashes(&self) -> u32;
27}
28
29/// filter which can remove element.
30pub trait Deletable {
31    /// remove element from this data structures.
32    fn remove(&mut self, element: &[u8]);
33}
34
35